Aufruf von VBA-makro aus .vbs-Datei wirft 800A03EC Fehler
Ich versuche ein VBA-makro ausführen durch .VBS-Datei(Datei-name: Check_final.vbs). Hier ist der code
Option Explicit
run_macro
Sub run_macro()
Dim xl1
Dim sCurPath
Dim xlBook
Dim FolderFromPath
Set xl1 = CreateObject("Excel.application")
sCurPath =Wscript.ScriptFullName
Set xlBook = xl1.Workbooks.Open(sCurPath, 0, True)
xl1.DisplayAlerts = False
FolderFromPath = Left(sCurPath, InStrRev(sCurPath, "\"))
xl1.Application.run FolderFromPath & "Changed_chk.xlsm!Check"
Set xlBook = Nothing
End Sub
Wenn ich diesen starte .vbs-Datei bekomme ich diese popup 'Changed_chk.xlsm ist für die Bearbeitung gesperrt.' mit nur Lesen und informieren Sie Optionen. Wenn ich bestätigen, dass es entweder nur Lesen oder Benachrichtigen Sie die option ein excel-Blatt wird geöffnet, in dem Namen von Check_final (das ist der name der Datei, die .vbs-Datei) und den oben genannten code angezeigt wird geschrieben, dass excel-Datei. Dann bekomme ich ein Windows script host Fehler(code: 800A03AC) sagt, makro ist möglicherweise nicht verfügbar, oder alle Makros deaktiviert sind.(Obwohl ich es aktiviert die makro-wie hier erwähnt.[http://www.addictivetips.com/windows-tips/enable-all-macros-in-excel-2010/)].
Jede Hilfe zu diesem wird sehr geschätzt. Vielen Dank im Voraus.
- Sie sind immer
Read only and notify options
weil Sie nicht schließen Sie die Datei und lassen Sie Ihre Objekte richtig das erste mal. Öffnen Sie den task-manager und töten Sie alle Instanzen von excel. Aber bevor Sie das tun, speichern und schließen Sie alle geöffneten Instanzen. Als Nächstes Schließen Sie die Excel-Datei in der code richtig und lassen Sie Ihre Objekte
Du musst angemeldet sein, um einen Kommentar abzugeben.
Öffnen Sie die vbs-Datei statt Ihrer excel-Datei... Ebenfalls sicherstellen, dass die Funktion/sub an die öffentlichkeit. Im Beispiel unten habe ich eine
Public Sub Check
im Modul "YourModuleName", die ich nenne, aus der vbs-Datei.Versuchen Sie diese einfachen code (UNGETESTET)
Auch, wo ist dein makro? In einem Blatt oder in einem Modul? Sie können sehen, DIESE
sCurPath
schon ein '\' am Ende (C:\test\test.vbs => C:\test\)Ich glaube, es gibt etwas falsch mit dem Aufruf der
run_macro
- Anweisung. Aus dem test habe ich erstellt in excel-VBA gibt es eine Fehlermeldung, wenn ich versuche, rufen Sie die sub-außerhalb eines anderen subIch denke, möchten Sie vielleicht, um
oder entfernen Sie die
run_macro
Linie insgesamt?