PDA

Vollständige Version anzeigen : Makro mit unabhängiger Ordnerstruktur


Hensel
29.06.2006, 13:44
Hallihallo,

ich habe eine Excel-Datei (Excel 2002) mit einem Makro angelegt. Mit dem Makro soll zuerst eine Excel-Datei ("test1") und danach eine Word-Datei ("test2") geöffnet werden.

Das Makro sieht wie folgt aus:

Workbooks.Open Filename:= _
"D:\Daten\Ordner\Unterordner\Projekt\test1.xls" _
, UpdateLinks:=3
CreateObject("word.application").documents.Open("D:\Daten\Ordner\Unterordner\Projekt\test2.doc").Application.Visible = True


Wenn ich die Ordnerstruktur in einem anderen Verzeichnis oder Laufwerk (z.B. C:\Projekt\test1.xls) speicher, funktioniert das Makro nicht mehr, da das Laufwerk D im Makro hinterlegt ist.

Was muss ich bei dem Makro verändern, damit es unabhängig von der Ornderstruktur funktioniert?

Wer kann mir helfen?

Sandra

jinx
29.06.2006, 14:05
<font size="2" face="Century Gothic">Moin, Sandra,

wenn sich die Mappen immer im gleichen Verzeichnis wie die Mappe mit dem Code befinden, kann ThisWorkbook.Path verwendet werden. Oder Du lässt den User über GetOpenFilename nach den Dateien suchen und verwendest den Rückgabewert zum Öffnen...</font>

Hensel
29.06.2006, 14:16
Vielen Dank für die prompte Antwort.

Die Dateien befinden sich im gleichen Verzeichnis. An welcher Stelle muss ich dieses ThisWorkbook.Path einfügen/ersetzen?

Sandra

jinx
29.06.2006, 14:22
<font size="2" face="Century Gothic">Moin, Sandra,

z.B. so:

Workbooks.Open FileName:=ThisWorkbook.Path & "\test1.xls", UpdateLinks:=3
CreateObject("word.application").documents.Open(ThisWorkbook.Path & _
"\test2.doc").Application.Visible = True
ThisWorkbbok.Path liefert den Pfad, aber leider ohne schließenden Backslash, der entweder extern über PathSeparator oder im Namen der Datei hinzugefügt werden muss.</font>

Hensel
30.06.2006, 06:39
Super

Danke, hat funktioniert

Sandra