Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Thisworkbook.Path (Dateikonvertierung xlsm zu xls)

Betrifft: Thisworkbook.Path (Dateikonvertierung xlsm zu xls) von: Mexsalem
Geschrieben am: 03.11.2013 20:01:47

Hallo,

da ich noch Excel 2003 verwende, muss Excel mir eine xlsm-Datei in das Excel 2003-er Format xls konvertieren. Soweit kein Problem dank des Microsoft Office Compatibility Pack für Dateiformate (http://www.microsoft.com/de-de/download/details.aspx?id=3).

Jedoch soll beim Workbook.Open-Ereignis der Pfad der Datei mittels ThisWorkbook.Path ermittelt werden. Wenn die Datei eine xls-Datei ist, funktioniert der Code. Habe ich die Datei als xlsm-Datei gespeichert, wird der Pfad nicht mehr korrekt ermittelt.

Private Sub Workbook.open()
    Msgbox ThisWorkbook.Path
End Sub
Weiss jemand, warum der Code in der .xls funktioniert und bei einer .xlsm nicht ?

Gruß
Mexsalem

  

Betrifft: AW: Thisworkbook.Path (Dateikonvertierung xlsm zu xls) von: Matze Matthias
Geschrieben am: 03.11.2013 21:50:17

Hi,

Workbook.open() gibt es nicht - Tippfehler ?

Private Sub Workbook_Open()'das schon 
 MsgBox ThisWorkbook.Path
End Sub
Matze
So gute N8 @ all Frühschicht


  

Betrifft: AW: Thisworkbook.Path (Dateikonvertierung xlsm zu xls) von: Mexsalem
Geschrieben am: 04.11.2013 07:45:48

Moin Matthias,

selbstverständlich musste das Workbook_open() heissen. Tippfehler meinerseits ...

Frage bleibt daher nochmal offen, da das Problem zwischen xlsm und xls besteht.

Gruß
Mexsalem


  

Betrifft: AW: Thisworkbook.Path (Dateikonvertierung xlsm zu xls) von: Hajo_Zi
Geschrieben am: 04.11.2013 13:05:44

nur wenige sehen Deine Datei und können das Problem nachvollziehen.

GrußformelHomepage


  

Betrifft: AW: Thisworkbook.Path (Dateikonvertierung xlsm zu xls) von: Mexsalem
Geschrieben am: 04.11.2013 16:20:17

Hallo Hajo,

"sehr wenige" :-) , vermutlich keiner ..... also hier mal die Beispieldateien.

Wie gesagt, nutze ich Excel 2003. Das Makro soll aber auch in der xlsm-Datei richtig funktionieren und hier klemmt es lediglich an der korrekten Ermittlung des aktuellen Dateipfades.

https://www.herber.de/bbs/user/87933.xls

https://www.herber.de/bbs/user/87934.xlsm


Gruß
Mexsalem


  

Betrifft: AW: Thisworkbook.Path (Dateikonvertierung xlsm zu xls) von: Hajo_Zi
Geschrieben am: 04.11.2013 18:11:04

Ich habe die Datei gespeichert und beim öffnen wird der Ordner angezeigt.

Gruß Hajo


  

Betrifft: AW: Thisworkbook.Path (Dateikonvertierung xlsm zu xls) von: Matze Matthias
Geschrieben am: 04.11.2013 18:26:58

Hallo,
ich bin kein Profi in Sachen VBA , wenn es nicht funktioniert könnte es an der Tiefe des Pfades liegen.
Teste es mal mit einem einfachen Verzeichnispfad wie c:\Test
Matze


  

Betrifft: AW: Thisworkbook.Path (Dateikonvertierung xlsm zu xls) von: Matze Matthias
Geschrieben am: 04.11.2013 18:33:08

Hallo,
oder wolltest du den Dateinamen sehen, dann benutze
Thisworkbook.FullName


  

Betrifft: AW: Thisworkbook.Path (Dateikonvertierung xlsm zu xls) von: Mexsalem
Geschrieben am: 04.11.2013 22:46:21

Hallo Matthias, Hallo Hajo,

@Hajo : wenn du Excel 2003 mit der xlsx-Datei benutzt hast, müsste bei dir ebenfalls ein anderer Dateipfad angezeigt worden sein als beim Öffnen der xls-Datei. Ist das bei dir auch so aufgetreten, oder bekommst du beides mal tatsächlich denselben Pfad angezeigt ?

@Matthias : ich glaube nicht, dass es an der Tiefe der Pfadstruktur hängt, da diese mit c:\Dokumente und Einstellungen\Benutzer nicht wirklich tief/komplex genug ist. Ich denke eher, das Excel 2003 die xlsx-Datei beim Konvertieren temporär zwischenspeichert (daher auch C:\TEMP). Es ist schon richtig so, ich suche tatsächlich nur den Path, nicht den Fullname.

Ich hatte übrigens in der xlsx-Variante bereits ausprobiert, ein ThisWorkbook.Saved = true bzw. ein ThisWorkbook.Save vor die Ermittlung des ThisWorkbook.Path auszulösen, in der Hoffnung die Speicherung in Excel 2003 ergäbe eine Verbesserung. Pustekuchen, bei der xlsx-Variante bleibt die Rückmeldung C:\TEMP.

Weiss noch jemand Rat bei der harten Nuss ?

Gruß
Mexsalem



  

Betrifft: AW: Thisworkbook.Path (Dateikonvertierung xlsm zu xls) von: Mexsalem
Geschrieben am: 04.11.2013 22:52:03

Korrektur : Angabe "xlsx" muss logischerweise wegen dem Makro "xlsm" lauten.


  

Betrifft: AW: Thisworkbook.Path (Dateikonvertierung xlsm zu xls) von: Luschi
Geschrieben am: 05.11.2013 08:22:10

Hallo Mexsalem,

ich habe das mal mit Excel 2003 & Microsoft Office Compatibility Pack ausprobiert und *.xlsx sowie *.xlsm Dateien eöffnet. Bei mir wird aber mit
Thisworkbook.Path bzw. Thisworkbook.Fullname
der Originalpfad bzw. Originalpfad\Originaldateiname angezeigt.
Außerdem zeigt mit Excel 2003 nur den Dateinamen in der blauen Fensterüberschrift an und nicht den Verzeichnispfad dazu. Auch im Vba-Editor ist nichts von einer Laqufwerk/Pfad-Angabe zu sehen sondern nur der tatsächliche Dateiname.
Benenne doch mal 'C:\Temp\' um und siehe dann, was E_2003 jetzt macht.

Gruß von Luschi
aus klein-Paris





  

Betrifft: AW: Thisworkbook.Path (Dateikonvertierung xlsm zu xls) von: Mexsalem
Geschrieben am: 05.11.2013 21:14:39

Hallo Luschi,

Danke für deine Idee, aber den Ordner umbenennen hat leider auch nicht geholfen.

Ich muss mal schauen, ob ich das Problem irgendwie anders angehen kann (weitere Forensuche, anderer Code oder ähnliches). Ich schließe daher den Thread.

Vielen Dank auch an Matthias und Hajo für ihre Mühe.

Gruß
Mexsalem