Ich versuche derzeit, ein sehr einfaches VBA-Makro von R zu starten. Dazu folge ich dem hier gefundenen Verfahren: Run VBA script from R Leider, wenn ich die Excel-Datei danach öffnen, ist es beschädigt und Excel stoppt. Hier ist mein Code:Starten Sie VBA-Makro von 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
Sie haben keine Ahnung, was los ist? Ich habe den Pfad jeder Datei überprüft und sie sind gut. Vielen Dank im Voraus.
Edit: Offenbar kommt das Problem aus dem VBScript. Die Datei wird geöffnet, aber das Makro in meiner persönlichen Bibliothek (PERSONAL.XLSB) kann nicht gefunden werden. Wenn ich Excel manuell öffne, kann ich auf dieses Makro zugreifen, aber wenn ich Excel von einem anderen Programm öffne, kann ich nicht. Irgendeine Idee warum?
Pauline
Erhalten Sie Fehlermeldungen? – tospig
Nein, nichts. Ich kann es einfach nicht öffnen, wenn es fertig ist. Excel stoppt, und wenn ich endlich die Datei öffnen kann, hat sich nichts darin geändert (das Makro hat nicht funktioniert). – Pauline