Ausführen von Excel-Makros von Jenkins

Ich versuche zum ausführen von Excel-Makros von einem Jenkins-Windows-Dienst auf einem Windows 7 64-bit VM. Ich habe eine batch-Datei, die angibt, VBS-Dateien. Dann in die VBS-Dateien, die Excel-Makros aufgeführt sind. Die batch-Dateien ausführen, feines lokal, aber wenn ich es ausführen von Jenkins, bekomme ich die folgende Fehlermeldung:

Microsoft VBScript runtime error: ActiveX-Komponente kann nicht Objekt erstellen: ‚Excel.Anwendung‘

Der Fehler scheint aufzutreten, die in jeder Instanz die folgenden in der VBS-Dateien:

Set xlApp = CreateObject("Excel.Application")

Gerade auf der Suche rund um, ich sehe, dass viele andere Leute hatten Probleme mit der version von cscript wird verwendet, um führen Sie die VBS-Dateien. Auf 64-bit-Rechner, es scheint, dass die 32-bit-version von cscript verwendet werden muss. Aber egal, wie ich versuche zu erzwingen, dass die version von cscript werden verwendet, Jenkins scheint es zu ignorieren und den gleichen Fehler anzeigen, das macht mich denken, dass die cscript version ist nicht die Ursache für meine Fehler.

Habe ich Makros in Excel und überprüft die ActiveX-Einstellungen zu. Wie gesagt, Doppelklick auf die batch-Datei funktioniert alles einwandfrei. Es muss doch etwas seltsam Jenkins ist zu tun, um das problem verursachen.

Irgendwelche Ideen?

  • Ist Ihre Office-Installation 32-bit-oder 64-bit ?
  • Ich stehe vor dem ähnlichen Problem,ich lief cscript “ <script-name>.vbs bekam aber folgenden Fehler Verursacht: java.io.IOException: Cannot run program „/bin/sh“ (in directory „C:\Jenkins\workspace\generateParams“): CreateProcess error=2, Das system kann nicht die angegebene Datei gefunden werden. Mein vbs-Skript zum öffnen einer excel-Datei –>läuft ein makro–>schließt es.Die excel-Datei und vbs-Skript an der gleichen Stelle,aber unterscheidet sich von jenkins workspace.Ist dies die Ursache des Problems?
  • Spät, aber es ist eine ähnliche Frage [Jenkins QC-plugin nicht erstellen Kann TDConnection Objekt ](stackoverflow.com/questions/18319573/…), die Punkte auf einer workaround
InformationsquelleAutor kakronst | 2016-06-01



One Reply
  1. 0

    Versuchen Sie es mit

    Set xlApp = GetObject("Excel.Application")

    Bei genauerem Lesen deiner Frage, es scheint, dass Sie möglicherweise Probleme mit ausführbaren Dateien. Hmmm, können Sie tatsächlich geben eine vollständige Befehlszeile, soo anstelle von ausführen/doppelklicken klicken Sie auf foo.vbs etwas wie script.exe foo.vba. Ich habe script.exe aber man sollte den Punkt zu kommen, warum nicht geben Sie die ausführbare Datei?

    Habe ich selten gehört, Jenkins, Pflege zu leisten, die Dokumentation, die links, die Sie vielleicht denken, relevant zu diesem Thema. Es ist alles nützlich für die Zukunft stackoverflower treffen das gleiche problem.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.