在R中为多个Excel文件运行VBA代码

在R中为多个Excel文件运行VBA代码,r,vba,excel,R,Vba,Excel,在研究了这些主题之后 我能够复制这个过程。现在,我想将其应用于位于我的工作目录中的各种Excel文件 我认为为了能够从R运行VBA代码,对象文件应该包含宏。但是,我无法在每个Excel文件中保存.bas文件(其中包含VBA代码行),以便通过R自动运行。我该如何操作 多谢各位 更新 在中遇到以下vb脚本: Const sRootFolder=“C:\Billing\Import” Const sExportedModule=“C:\Test\Module1.bas” Const sMac

在研究了这些主题之后

我能够复制这个过程。现在,我想将其应用于位于我的工作目录中的各种Excel文件

我认为为了能够从R运行VBA代码,对象文件应该包含宏。但是,我无法在每个Excel文件中保存
.bas
文件(其中包含VBA代码行),以便通过R自动运行。我该如何操作

多谢各位

更新

在中遇到以下vb脚本:

Const sRootFolder=“C:\Billing\Import”
Const sExportedModule=“C:\Test\Module1.bas”
Const sMacroName=“宏”
文件和文件夹变量的大小
Dim oExcel、oWB的Excel变量(应用程序和工作簿)
开始
'------------------------------
次启动()
初始化
ProcessFileInfoldersRootFolder
完成
端接头
'------------------------------
子进程文件信息文件夹(sFolder)
'处理此文件夹中的文件
对于oFSO.GetFolder(sFolder.Files)中的每个文件
如果是IsExcelFile(oFile),则处理文件oFile.Path
下一个
'递归此文件夹中的所有子文件夹
对于oFSO.GetFolder(sFolder).SubFolders中的每个oFDR
processFileInfolderofdr.Path
下一个
端接头
'------------------------------
子初始化()
Set of so=CreateObject(“Scripting.FileSystemObject”)
设置oExcel=CreateObject(“Excel.Application”)
端接头
'------------------------------
次表面处理()
oExcel,退出
设置oExcel=Nothing
一组SO=零
端接头
'------------------------------
函数IsExcelFile(oFile)
IsExcelFile=(InStr(1,of so.GetExtensionName(oFile),“xls”,vbTextCompare)>0)和(Left(oFile.Name,1)”~)
端函数
'------------------------------
子进程Excel文件(sFileName)
出错时继续下一步
wscript.echo“正在处理文件:”&sFileName“对此进行注释,除非在命令提示符中使用cscript
设置oWB=oExcel.Workbooks.Open(sFileName)
oWB.VBProject.VBComponents.Import六端口模块
oExcel.运行sMacroName
oWB.关闭
设置oWB=Nothing
端接头
'------------------------------

但它不执行宏…

R
执行此特定任务的代码如下所示:

shell(shQuote(normalizePath("C:/Documents/VBS.vbs")), "cscript", flag = "//nologo")
VB脚本可以在主题中找到

shell(shQuote(normalizePath("C:/Documents/VBS.vbs")), "cscript", flag = "//nologo")