Probleme mit vbscript
Hallo Experten,
ich möchte per vbscript eine xlt Datei starten beide liegen immer im gleichen Verzeichnis, dieses ist allerdings vorher nicht bestimmt.
In einer ini Datei welche sich immer im gleichen Verzeichnis befindet wird das später gewählte Verzeichnis abgelegt.
Der Grund für diese Umständlichkeit ist der folgende.
Die xlt.Datei startet mit Makros und unterbindet ein selbstständiges speichern.
Da diese Datei weiterverteilt wird und ich nicht weiß ob sämtliche User die Makrosicherheit angepasst haben suchte ich nach einer Lösung und fand sie in diesem vbscript.
Const strFilename="Tagesbericht_Vorlage.xlt"
Dim xlApp, xlWB
Set xlApp=CreateObject("Excel.Application")
xlApp.visible=true
Set xlWB=xlApp.Workbooks.open(strFilename)
Nun die Merkwürdigkeit.
Auf meinem Rechner läuft das Script ohne Probleme.
Wenn es aber auf einem anderen Rechner gestartet wird bekomme ich die Fehlermeldung Datei "Tagesbericht_Vorlage.xlt" nicht gefunden.
Setze ich unter Const strFilename den kompletten Pfad ein funktioniert die Sache, aber das ist ja nicht Sinn meiner Sache.
Woran kann das liegen oder hat jemand ne Idee wie ich den Pfad aus meiner ini Datei ins Script bekomme?
Hier noch die ini Datei
pfad.ini
[Pfad]
Directory = "hier steht dann das vom user gewählte verzeichnis"
Danke
In einer ini Datei welche sich immer im gleichen Verzeichnis befindet wird das später gewählte Verzeichnis abgelegt.
Der Grund für diese Umständlichkeit ist der folgende.
Die xlt.Datei startet mit Makros und unterbindet ein selbstständiges speichern.
Da diese Datei weiterverteilt wird und ich nicht weiß ob sämtliche User die Makrosicherheit angepasst haben suchte ich nach einer Lösung und fand sie in diesem vbscript.
Const strFilename="Tagesbericht_Vorlage.xlt"
Dim xlApp, xlWB
Set xlApp=CreateObject("Excel.Application")
xlApp.visible=true
Set xlWB=xlApp.Workbooks.open(strFilename)
Nun die Merkwürdigkeit.
Auf meinem Rechner läuft das Script ohne Probleme.
Wenn es aber auf einem anderen Rechner gestartet wird bekomme ich die Fehlermeldung Datei "Tagesbericht_Vorlage.xlt" nicht gefunden.
Setze ich unter Const strFilename den kompletten Pfad ein funktioniert die Sache, aber das ist ja nicht Sinn meiner Sache.
Woran kann das liegen oder hat jemand ne Idee wie ich den Pfad aus meiner ini Datei ins Script bekomme?
Hier noch die ini Datei
pfad.ini
[Pfad]
Directory = "hier steht dann das vom user gewählte verzeichnis"
Danke
Please also mark the comments that contributed to the solution of the article
Content-Key: 119942
Url: https://administrator.de/contentid/119942
Printed on: April 28, 2024 at 02:04 o'clock
4 Comments
Latest comment
Hallo numberseven!
Das habe ich heute doch schon mal gelesen
Habe ich das richtig verstanden, dass sich das VB-Script immer im gleichen Verzeichnis, wie die *.xlt befindet? Wenn ja, dann brauchst Du dafür keine *.ini auslesen, sondern nur mit folgendem Code den Pfad des Scripts ermitteln.
Speichere und starte den Code als Test.vbs und die MsgBox gibt dir den kompletten Pfad aus:
Gruß Dieter
Das habe ich heute doch schon mal gelesen
Habe ich das richtig verstanden, dass sich das VB-Script immer im gleichen Verzeichnis, wie die *.xlt befindet? Wenn ja, dann brauchst Du dafür keine *.ini auslesen, sondern nur mit folgendem Code den Pfad des Scripts ermitteln.
Speichere und starte den Code als Test.vbs und die MsgBox gibt dir den kompletten Pfad aus:
Const strFilename="\Tagesbericht_Vorlage.xlt" 'Backslash beachten
Dim Fso, xltFile
Set Fso = CreateObject("Scripting.FileSystemObject")
xltFile = Fso.GetParentFolderName(WScript.ScriptFullName) & strFilename
MsgBox xltFile
Gruß Dieter
Hallo numberseven!
Hätte mich auch gewundert, wenn es auf anderen Rechnern nicht funktioniert hätte
Gruß Dieter
Hätte mich auch gewundert, wenn es auf anderen Rechnern nicht funktioniert hätte
Gruß Dieter