Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

neuen Pfad in Dialogs(xlDialogSaveAs) vorgeben

941 views
Skip to first unread message

Wolfgang Kutsche

unread,
Jan 25, 2008, 5:36:01 PM1/25/08
to
Hallo NG,

in einer Anwendung in Excel möchte ich per VBA eine aufgerufene aktive
Excel-Datei (F:\Kalkulation\Stamm\Basis.xls) über den Dialog (xlDialogSaveAS)
auf ein anderes existierendes Laufwerk (C:\Kalkulation\Angebote) mit anderem
Namen speichern.
Dabei ist wichtig, dass der Anwender dies mit dem Dialog macht, damit er die
vorhandenen Dateien in dem Ordner sieht und eventuelle Namensgleichheit der
Dateien erkennen kann.

Dazu benutze ich folgenden Code-Ausschnitt:

PfadNeu = "F:\Kalkulation\Angebote"
Dateianfang = "2008_01_"
Abbr = Application.Dialogs(xlDialogSaveAs).Show(PfadNeu & "\" & Dateianfang)
If Abbr = False Then End

Leider wird in dem Dialog der alte Pfad der Datei dargestellt, obwohl ich
den neuen Pfad (PfadNeu) angegeben habe.

Auch der nachfolgende Code funktioniert diesbezüglich nicht. Hier habe ich
zusätzlich den Pfad mit ChDrive und ChDir gewechselt.

PfadNeu = "F:\Kalkulation\Angebote"
ChDrive PfadNeu
ChDir PfadNeu
Dateianfang = "2008_01_"
Abbr = Application.Dialogs(xlDialogSaveAs).Show(PfadNeu & "\" & Dateianfang)
If Abbr = False Then End

Was muss ich tun, damit im Dialog der PfadNeu bereits vorgewählt ist?

--
Gruß Wolfgang
WinXP Home SP2, Office 2003 SP2
http://www.wk-bau-edv.de

Lorenz Hölscher

unread,
Jan 26, 2008, 8:57:25 AM1/26/08
to
Hallo Wolfgang,

du mußt eine fertig eingebaute Funktion in Excel benutzen:

Sub xx()
Dim varWert

varWert = Application.GetSaveAsFilename("c:\temp\*.xls", "Excel-
Dateien, *.xls")
MsgBox varWert
End Sub

Details und Beispiele findest Du bei mir im Tipp "Dateinamen
ermitteln" unter
http://www.cls-software.de/cls_software/TippsExcelVBA.aspx

tschö, Lorenz


Wolfgang Kutsche

unread,
Jan 26, 2008, 1:47:01 PM1/26/08
to
Hallo Lorenz,

vielen Dank für Deinen Hinweis, damit habe ich die Lösung gefunden.

Es hat denn bei mir noch eine Weile gedauert, bis ich herausfand, dass
'GetSaveAsFilename' zunächst nur für die Auswahl des neuen Dateinamens
zuständig ist.
Erst mit 'ActiveWorkbook.SaveAs neueDatei' wird dann die Datei wirklich
gespeichert.
Dabei kann es vorkommen, dass die ausgewählte Datei bereits vorhanden ist,
dann erscheint eine Meldung ... Überschreiben ... ja, nein , abbrechen.
Die Fälle nein und abbrechen müssen dann noch mit einer Fehlerroutine
abgefangen werden.

--
Gruß Wolfgang
WinXP Home SP2, Office 2003 SP2
http://www.wk-bau-edv.de

Holger Nölting

unread,
Jan 27, 2008, 3:42:33 AM1/27/08
to
Hallo Wolfgang

und hilft dir vielleicht die Funktion 'ActiveWorkbook.SaveCopyAs weiter ohne
die Fehlerroutine abzufangen ?

Gruss Holger


"Wolfgang Kutsche" <Wolfgan...@discussions.microsoft.com> schrieb im
Newsbeitrag news:9CBBA8ED-2DAC-4EE6...@microsoft.com...

Wolfgang Kutsche

unread,
Jan 27, 2008, 5:27:00 AM1/27/08
to
Hallo Holger,

vielen Dank für Deinen Hinweis.

Die Funktion 'ActiveWorkbook.SaveCopyAs' hat in meinem Fall den Nachteil,
dass die gespeicherte Datei nicht das aktive Workbook wird.

Mit der Fehlerroutine bei 'ActiveWorkbook.SaveAs' kann ich leben.

--
Gruß Wolfgang
WinXP Home SP2, Office 2003 SP2
http://www.wk-bau-edv.de

0 new messages