Also, zu der Verarbeitung der Pfade beim Mac kann ich nichts sagen. Es stimmt aber zumindest auch für die Windows-Version noch nicht alles. Ausgangspunkt war ja die Frage nach den Pfaden. Mit dem Code passt auch erst mal der Pfad. Allerdings fehlt dann noch die Datei, die gespeichert werden soll. Das sollte ja ohne Benutzerabfrage passieren.
Da kommt jetzt noch dass, dass ich die falsche Stelle zum Ändern erwischt hatte Ich hatte angenommen, dass Du auch das Öffnen ohne Benutzereingebe machen wolltest.
Also, der Teil war bei Dir korrekt, wenn es denn mit Benutzereingabe sein soll:
Code:
'Datei über Dialog Öffnen Datei = Application.GetOpenFilename If Datei = Empty Then Exit Sub
'wofür ist der 1.Befehl ??? wird er gebraucht?? ExecuteExcel4Macro "WINDOW.MOVE(16,-35,"""")" Workbooks.Open Filename:=Datei
Das mit dem Pfad kommt danach: Datei = Left(ThisWorkbook.Path, InStrRev(ThisWorkbook.Path, "\")) Damit ermittelst Du den übergeordneten Pfad von dem, wo die Datei mit dem Makro liegt.
Eventuell kannst Du gleich hier noch den Namen der gerade geöffneten - also aktiven - Datei anhängen. Dann würde die Zeile so aussehen: Datei = Left(ThisWorkbook.Path, InStrRev(ThisWorkbook.Path, "\")) & ActiveWorkbook.Name
und später speicherst Du: ActiveWorkbook.SaveAs Datei
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
dann ging es anfangs doch in die richtige Richtung. Hier erst mal der Teil mit dem Öffnen, der könnte dann so aussehen:
Code:
'Datei ohne Dialog Öffnen Datei = Left(ThisWorkbook.Path, InStrRev(ThisWorkbook.Path, "\")) & "DeinDateiName.xlsx" 'wofür ist der 1.Befehl ??? wird er gebraucht?? ExecuteExcel4Macro "WINDOW.MOVE(16,-35,"""")" Workbooks.Open Filename:=Datei
Statt "DeinDateiName.xlsx" dann den erforderlichen Namen einsetzen.
Dann kommt die Ganze Verarbeitung und am Ende - vielleicht statt diesem Code, ich weiß jetzt gar nicht, wie Dein letztes Speichern aussah - 'Datei über Dialog speichern Application.Dialogs(xlDialogSaveAs).Show (strDateiname) ActiveWindow.Close Windows("Import vorbereiten.xlsm").Close False
dann so was nehmen:
Code:
'Datei ohne Dialog speichern ActiveWorkbook.Save ActiveWindow.Close Windows("Import vorbereiten.xlsm").Close False
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
eventuell sind auf dem MAC die Verzeichnistrenner nicht \ sondern /
Kontolliere mal bitte, was in ThisWorkbbok.Path steht. Du kannst das mal markieren, "Überwachung hinzufügen" ausführen und in der Codezeile einen Haltepunkt setzen. Wenn der Code dort anhält, 1x F8 drücken und schauen, was in der Überwachung steht.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)