Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Dateinamen im SafeAs Dialog vorgeben

Dateinamen im SafeAs Dialog vorgeben
Robert
Servus zusammen.
Ich habe folgendes Makro:
Set objWord = objDoc.Parent
objWord.Activate
With objWord.Dialogs(wdDialogFileSaveAs).Show
End With
Und zwar möchte ich damit den SafeAs Dialog öffnen, um eine zuvor über excel erstellte Word Datei abzuspeichern.
Der Dateiname setzt sich aus einem festen Bestandteil "Rechnung XY" und einer neu generierten Rechnungsnummer "0023" zusammen. Diese Nr. habe ich bereits in einem String (Renu) ausgelesen.
Ich würde gerne in dem über das oben dargestellte Makro erscheinde SafeAs Menü von Word, den Dateinamen und Pfad vorgeben.
Also in etwa Filename:="C:\Intern\Rechnungen\Rechnung-" &Renu ".doc"
Leider scheitert es bei mir dabei.
Ich habe es erfolglos über folgenden Befehl veruscht:
With objWord.Dialogs(wdDialogFileSaveAs, Filename:="C:\Intern\Rechnungen\Rechnung- " &Renu ".doc", FileFormat:=wdFormat).Show
Ich hoffe Ihr kennt eine Lösung und freue mich auf Vorschlag!
Vielen Dank für die Hilfe und jetzt schon mal ein schönes Wochenende!
Robert
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Dateinamen im SafeAs Dialog vorgeben
30.04.2010 12:47:29
Martin
Hallo Robert,
folgenden Code verwende ich für einen CSV-Export:

Sub test()
Dim DateiPfad As String
DateiPfad = Application.GetSaveAsFilename("C:\Test\Test.csv", FileFilter:="Textdateien (*. _
csv), *.csv,Alle Dateien (*.*), *.*", Title:="CSV-Export der Ergebnisliste")
End Sub
Du musst es dir nur noch anpassen.
Viele Grüße
Martin
Anzeige
AW: Dateinamen im SafeAs Dialog vorgeben
30.04.2010 12:51:38
Martin
Sorry, war etwas übereilig. Ich hatte mit deinen Beitrag nicht korrekt durchgelesen. Entschuldige bitte.
AW: Dateinamen im SafeAs Dialog vorgeben
30.04.2010 13:21:56
xr8k2
Hallo Robert,
versuch mal sowas:
 '...
With objword.FileDialog(msoFileDialogSaveAs)
.InitialFileName = "C:\Intern\Rechnungen\Rechnung-" & Renu & ".doc"
.Show
.Execute
End With
'...
Gruß,
xr8k2
Anzeige
AW: Dateinamen im SafeAs Dialog vorgeben
30.04.2010 14:37:17
Robert
SUUUPER!
Vielen Dank xr8k2!
Es läuft eins A!
Viele Grüße
Robert
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Dateinamen im SafeAs Dialog vorgeben in Excel VBA


Schritt-für-Schritt-Anleitung

Um den SafeAs Dialog in Word über Excel VBA zu öffnen und dabei den Dateinamen sowie den Pfad vorzugeben, kannst Du den folgenden Code verwenden. Der Dateiname setzt sich aus einem festen Bestandteil und einer variablen Rechnungsnummer zusammen:

Sub SaveAsWordDocument()
    Dim objWord As Object
    Dim Renu As String
    Renu = "0023" ' Beispiel für die Rechnungsnummer

    Set objWord = CreateObject("Word.Application")
    objWord.Visible = True

    With objWord.FileDialog(2) ' msoFileDialogSaveAs
        .InitialFileName = "C:\Intern\Rechnungen\Rechnung-" & Renu & ".doc"
        .Show
        If .SelectedItems.Count > 0 Then
            ' Hier könnte man den Datei-Speichervorgang einfügen
            MsgBox "Datei gespeichert: " & .SelectedItems(1)
        End If
    End With
End Sub

Dieser Code öffnet den Excel VBA Save As Dialog und setzt den Dateinamen automatisch. Du kannst den Pfad und das Format anpassen, um den gewünschten Speicherort festzulegen.


Häufige Fehler und Lösungen

Fehler 1: Der Dateiname wird nicht korrekt angezeigt.

Lösung: Stelle sicher, dass Du den .InitialFileName korrekt setzt. Achte darauf, dass die Zeichenkette für den Dateinamen richtig zusammengesetzt ist.

Fehler 2: Der Dialog öffnet sich nicht.

Lösung: Überprüfe, ob das Word-Objekt korrekt erstellt wurde. Stelle sicher, dass Word auf Deinem Rechner installiert ist und die Referenzen in VBA korrekt gesetzt sind.


Alternative Methoden

Eine Alternative zum FileDialog ist die Verwendung von wddialogfilesaveas. Du kannst diese Methode wie folgt implementieren:

Sub SaveWithDialog()
    Dim objWord As Object
    Dim Renu As String
    Renu = "0023"

    Set objWord = CreateObject("Word.Application")
    objWord.Visible = True

    With objWord.Dialogs(2) ' wdDialogFileSaveAs
        .Filename = "C:\Intern\Rechnungen\Rechnung-" & Renu & ".doc"
        .Show
    End With
End Sub

Diese Methode verwendet den Word Dialog direkt und kann nützlich sein, wenn Du spezifische Dialoge in Word verwenden möchtest.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du den Dateinamen in Word über Excel VBA automatisieren kannst:

  1. Vorlage für Rechnungen: Wenn Du regelmäßig Rechnungen generierst, kannst Du die Rechnungsnummer automatisch aus einer Excel-Zelle auslesen und im Dateinamen verwenden.

  2. Speicherorte ändern: Du kannst den InitialFileName dynamisch basierend auf Benutzereingaben oder dem aktuellen Datum anpassen, um den Speicherort zu ändern.


Tipps für Profis

  • Verwende die Application.GetSaveAsFilename Methode, um dem Nutzer die Möglichkeit zu geben, den Speicherort selbst auszuwählen.
  • Nutze die FileFilter Option, um die Dateiarten im Dialog zu definieren, falls Du verschiedene Formate speichern möchtest.
  • Implementiere Fehlerbehandlungsroutinen, um mögliche Probleme während des Speichervorgangs abzufangen.

FAQ: Häufige Fragen

1. Wie kann ich den Dateinamen automatisch generieren?
Du kannst den Dateinamen basierend auf einem Datum oder einer ID generieren, indem Du die entsprechenden Variablen in Deinem VBA-Code setzt.

2. Kann ich auch andere Dateiformate speichern?
Ja, Du kannst das FileFormat im Dialog anpassen, um verschiedene Formate wie .txt, .csv usw. zu speichern. Achte darauf, dass Du den richtigen Filter verwendest.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige