numberseven
Goto Top

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

Content-Key: 119942

Url: https://administrator.de/contentid/119942

Printed on: April 26, 2024 at 18:04 o'clock

Mitglied: 76109
76109 Jul 07, 2009 at 20:50:36 (UTC)
Goto Top
Hallo numberseven!

Das habe ich heute doch schon mal gelesenface-smile

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
Member: numberseven
numberseven Jul 07, 2009 at 21:40:09 (UTC)
Goto Top
Hallo Dieter,

habe deinen Code mit in meinen intgriert und bis jetzt lief es nach der Installation.
Danke Dir auf jeden Fall für den Hinweis.
Probiere es Morgen auf anderen Rechnern aus und gebe ein Feedback.


Gruß

numberseven
Member: numberseven
numberseven Jul 08, 2009 at 19:40:20 (UTC)
Goto Top
Hat alles wunderbar geplappt. Lief ohne Probleme auf allen Rechnern.

Dank an alle.
Mitglied: 76109
76109 Jul 08, 2009 at 21:23:59 (UTC)
Goto Top
Hallo numberseven!

Hätte mich auch gewundert, wenn es auf anderen Rechnern nicht funktioniert hätteface-smile

Gruß Dieter