我目前正在尝试从R中启动一个非常简单的VBA宏。为此,我遵循了这里找到的步骤:从R运行VBA脚本
不幸的是,当我在此之后打开Excel文件时,它会损坏并停止工作。
以下是我的代码:
r:
library(XLConnect)
saveWorkbook(wb,pathfile)
# The saveWorkbook part is working
shell(shQuote(normalizePath(pathtovbs)), "cscript", flag = "//nologo")
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
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
你知道发生了什么吗?我已经检查了每个文件的路径,它们都没问题。非常感谢您提前的帮助。
编辑: 显然,问题来自于vbscript。文件可以打开,但找不到我的个人库(PERSONAL.XLSB)中的宏。当我手动打开Excel时,我可以访问此宏,但当我从另一个程序打开Excel时,无法访问。有任何想法吗?
保琳