Tôi hiện đang cố gắng khởi chạy macro VBA rất đơn giản từ R. Cho điều đó, tôi đang làm theo quy trình được tìm thấy tại đây: Run VBA script from R Thật không may, khi tôi mở tệp Excel sau đó, nó bị hỏng và Excel dừng lại. Đây là mã của tôi:Khởi chạy macro VBA từ R
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
Bạn có bất cứ ý tưởng gì đang xảy ra? Tôi đã kiểm tra đường dẫn của từng tệp và chúng rất tốt. Cảm ơn bạn rất nhiều trước.
Chỉnh sửa: Rõ ràng, sự cố xuất phát từ vbscript. Tệp mở ra nhưng không thể tìm thấy macro nằm trong thư viện cá nhân của tôi (PERSONAL.XLSB). Khi tôi mở Excel theo cách thủ công, tôi có thể truy cập macro này, nhưng khi tôi mở Excel từ một chương trình khác, tôi không thể. Bất kỳ ý tưởng tại sao?
Pauline
Bạn có nhận được thông báo lỗi nào không? – tospig
Không, không có gì. Tôi chỉ không thể mở nó khi nó được thực hiện. Excel dừng lại, ans khi tôi cuối cùng có thể mở tập tin, không có gì thay đổi trong nó (macro không hoạt động). – Pauline