Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1772to1776
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dokument speichern mit Namen der Mappe

Dokument speichern mit Namen der Mappe
31.07.2020 15:16:23
Daniel
Hallo zusammen,
ich habe ein Makro, dass mir eine Word Datei aus einer Vorlage kopiert und definierte Textmarken automatisch aus Zellen einer Excel Tabelle füllt. Das klappt auch alles soweit.
Jetzt möchte ich aber noch, dass sich die erstellte Word Datei selbst speichert mit dem _
gleichen Pfad und Namen wie die Excel Datei. Irgendwie bekomme ich das nicht hin mit dem Save _
und SaveAs oder wie das heißt.

Sub angeboterstellen()
Dim Angebot As Object
Dim appWord As Object
Set appWord = CreateObject("Word.Application")
Set Angebot = appWord.Documents.Add("Q:\Huesges\Vorlagen\Angebotsschreiben.docx")
appWord.Visible = True
Angebot.Activate
Angebot.Bookmarks("Kunde").Range.Text = Range("Kunde")
Angebot.Bookmarks("Ansprechpartner").Range.Text = Range("Ansprechpartner")
Set Angebot = Nothing
Set appWord = Nothing
End Sub

Kann mir da jemand weiterhelfen?
Viele dank im Vorraus.
Viele Grüße
Daniel

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dokument speichern mit Namen der Mappe
31.07.2020 16:41:38
volti
Hallo Daniel,
schau mal, ob das so in Deinem Sinne funktioniert:
Sub angeboterstellen() Dim Angebot As Object Dim appWord As Object Set appWord = CreateObject("Word.Application") With appWord .Visible = True Set Angebot = appWord.Documents.Add("Q:\Huesges\Vorlagen\Angebotsschreiben.docx") With Angebot .Activate .Bookmarks("Kunde").Range.Text = Range("Kunde") .Bookmarks("Ansprechpartner").Range.Text = Range("Ansprechpartner") .SaveAs Replace(ThisWorkbook.FullName, ".xlsm", ".docx") .Close 'Datei schließen End With .Quit 'Word schließen End With Set Angebot = Nothing Set appWord = Nothing End Sub
viele Grüße aus Freigericht
Karl-Heinz

Anzeige
AW: Dokument speichern mit Namen der Mappe
31.07.2020 16:58:22
fcs
Hallo Daniel,
für Word heißt der entsprechende Befehl SaveAs2
außerdem müssen hier Word VBA-Konstanten durch ihre nummerischen ersetzt werden.
Andere Speicher-Parameter musst du ggf. anpassen.
LG
Franz
Sub angeboterstellen()
Dim Angebot As Object
Dim appWord As Object
Dim strFileDocx As String
'Speicher-Name der Worddatei
strFileDocx = ActiveWorkbook.FullName
'Namenserweiterung der Excel-Datei durch docx eraetzen
strfiledox = Left(strFileDocx, InStrRev(strFileDocx, ".")) & "docx"
Set appWord = CreateObject("Word.Application")
Set Angebot = appWord.Documents.Add("Q:\Huesges\Vorlagen\Angebotsschreiben.docx")
appWord.Visible = True
Angebot.Activate
Angebot.Bookmarks("Kunde").Range.Text = Range("Kunde")
Angebot.Bookmarks("Ansprechpartner").Range.Text = Range("Ansprechpartner")
Angebot.SaveAs2 FileName:="TestWord.docx", FileFormat:=12, _
LockComments:=False, Password:="", _
AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, _
SaveFormsData:=False, SaveAsAOCELetter:=False, CompatibilityMode:=15 '12 =  _
wdFormatXMLDocument
Set Angebot = Nothing
Set appWord = Nothing
End Sub

Anzeige
AW: Dokument speichern mit Namen der Mappe
31.07.2020 17:15:35
volti
Hallo Franz,
da ich mich mit Word noch kaum beschäftigt habe, wusste ich das nicht mit dem SaveAs2 oder hatte es vergessen. Aber es steht ja auch bei der MS-Hilfe so und da hätte ich bei Misslingen ja auch reingeschaut.
Aber bei mir im Code wurde trotzdem .SaveAs nicht angemeckert und das Dokument auch entsprechend unter dem neuen Namen gespeichert.
Kennst Du den Unterschied zwischen den beiden Varianten?
viele Grüße aus Somborn
Karl-Heinz
AW: Dokument speichern mit Namen der Mappe
31.07.2020 22:28:08
Daniel
Hallo ihr beiden,
Danke erstmal für die schnelle Antwort. Ich hab jetzt beide Codes mal ausprobiert. Die Variante mit saveAs funktioniert bei mir aber nicht. Da kommt es immer zu einem Fehler. Die andere nur mit Save geht wunderbar und auch da wo es hin soll.
Woher wird denn der Pfad festgelegt? Reicht da echt der Code this.workbook aus damit der Pfad von dieser übernommen wird?
Ich bin nämlich noch am grübeln ob der Datei Name fix aus einer Zelle übernommen werden soll. Vom Code her bekomme ich das hin, nur speichert excel die Word Datei nicht mehr in den gleichen Ordner wie die excel Datei.
Habt ihr da vielleicht auch noch mal einen Tipp?
Danke danke danke !
Anzeige
AW: Dokument speichern mit Namen der Mappe
31.07.2020 22:56:25
volti
Hallo Daniel,
bitte etwas genauer ausdrücken, welche Variante funktioniert.
Beide Codes verwenden SaveAs, Franz' Version allerdings SaveAs2. Ggf. kann in meiner Version ja auch SaveAs2 verwendet werden, wenn es daran scheitern sollte.
In meiner Variante wird über Thisworkbook.Fullname der komplette Excelname der Datei incl. Pfad genommen, in der sich das Makro befindet und lediglich das xlsm durch docx erstetzt.
Falls Du nur den Pfad benötigst, weil Du den Dateinamen aus einer Zelle nehmen möchtest, kannst Du hierfür z.B. Thisworkbook.Path & "\" & Range("A1").value verwenden.
Falls der Pfadname aus der gerade aktiven Exceldatei, ggf. nicht die in der das Makro steht, musst Du statt Thisworkbook.. => Activeworkbook... nehmen
viele Grüße
Karl-Heinz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige