Bam*_*mbs 5 vbscript excel vba r excel-vba
我目前正在尝试从R启动一个非常简单的VBA宏.为此,我遵循此处找到的过程:从R运行VBA脚本 不幸的是,当我打开Excel文件之后,它已损坏并且Excel停止.这是我的代码:
r:
library(XLConnect)
saveWorkbook(wb,pathfile)
# The saveWorkbook part is working
shell(shQuote(normalizePath(pathtovbs)), "cscript", flag = "//nologo")
Run Code Online (Sandbox Code Playgroud)
Option Explicit
On Error Resume Next
ExcelMacroExample
Sub ExcelMacroExample()
Dim xlApp
Dim xlBook
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open(pathfile, 0, True)
xlApp.Run "PERSONAL.XLSB!MyMacro"
xlApp.Quit
Set xlBook = Nothing
Set xlApp = Nothing
End Sub
Run Code Online (Sandbox Code Playgroud)
vba PESONAL.XLSB!MyMacro:
Sub MyMacro()
Dim ws As Worksheet
For Each ws In Sheets
ws.Range("C:C").EntireColumn.Delete
ws.Range("A:A").EntireColumn.Delete
Next ws
End Sub
Run Code Online (Sandbox Code Playgroud)
你知道发生了什么吗?我检查了每个文件的路径,它们很好.非常感谢你提前.
编辑:显然,问题来自vbscript.该文件打开但无法找到位于我的个人库(PERSONAL.XLSB)中的宏.当我手动打开Excel时,我可以访问这个宏,但是当我从另一个程序打开Excel时,我不能.知道为什么吗?
宝莲
我找到了解决方案。如果你们中的一些人尝试从 vbscript 调用个人库,您需要添加:
Dim objWorkbook
Set objWorkbook=xlApp.Workbooks.Open("D:\users\...\PERSONAL.XLSB")
Run Code Online (Sandbox Code Playgroud)
在启动宏之前。