587 Aufrufe
Gefragt in Tabellenkalkulation von ahorn38 Experte (3.2k Punkte)

Hallo,

in einem Excel-Code erzeuge ich einige Textbausteine, die ich in einer string-Variablen zwischenspeichere und dann in in einer word-Vorlage abspeichere.

Dim AppWD, wordDoku As Object
Set AppWD = CreateObject("Word.Application") 'Word als Object starten
AppWD.Visible = True
Set wordDoku = AppWD.documents.Open(Filename:="C:\Users\User\Downloads\TCW Brief.dotm")
AppWD.ActiveDocument.Shapes.Range(Array("Text Box 41")).Select
AppWD.Selection = strMaster1                                                              
AppWD.ActiveDocument.Shapes.Range(Array("Textfeld 2")).Select
AppWD.Selection = strMaster2                                                              
AppWD.ActiveDocument.SaveAs "C:\Users\User\Downloads\BegrSchr - " & Cells(iRow, 4) & ", " & Cells(iRow, 5) & ".docx"
oder:
AppWD.documents("C:\Users\User\Downloads\TCW Brief.dotm").SaveAs "C:\Users\User\Downloads\BegrSchr - " & Cells(iRow, 4) & ", " & Cells(iRow, 5) & ".docx"

Der Code läuft fehlerfrei und das word-Dokument wird korrekt erzeugt.

Wenn ich das Dokument später wieder im Word öffnen will, wird mir allerdings nichts mehr angezeigt, obwohl die Datei im Explorer korrekt zufinden ist und in der Explorer-Vorschau auch den richtigen Inhalt hat.

Woran kann das liegen? Das passiert bei jedem Versuch und unterschiedlichen Inhalten.

Hat jemand einen Tipp?

Danke und Gruß

A.

19 Antworten

0 Punkte
Beantwortet von computerschrat Profi (32.2k Punkte)
Hallo ahorn38,

könnte es sein, dass die Schrift entweder in weiß, transparent oder in einer nicht darstellbaren Schriftart oder -größe ist?

Markiere mal mit STRG +A den gesamten Inhalt (wenn er denn da ist) und stelle dann Farbe Schriftart und -Größe ein.

Gruß computerschrat
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)

Hallo computerschrat,

danke für deine Antwort, aber daran liegt es leider nicht. Wenn ich die Datei öffnen will, öffnet sich nur word selbst ohne jeglichen Inhalt!? Im Vorschaufenster vom Explorer sehe ich aber die Datei richtig dargestellt.

Ich vermute, dass mein code an der Stelle bei Speichern der Datei nicht stimmt. 

AppWD.ActiveDocument.SaveAs "C:\Users\User\Downloads\BegrSchr - " & Cells(iRow, 4) & ", " & Cells(iRow, 5) & ".docx"

Wenn ich den code vor dem Speichern verlasse und dann ins word gehe und die Datei manuell "Speichern unter" ablege, ist alles in Ordnung.

A.

0 Punkte
Beantwortet von flupo Profi (17.8k Punkte)
Die SaveAs-Methode hat auch einen FileFormat-Parameter. Schau doch mal, ob du mit einem anderen Format  (z.B. rtf) erfolgreicher bist.

https://docs.microsoft.com/en-us/previous-versions/office/developer/office-2003/aa220734(v=office.11)

Ich könnte mir aber auch vorstellen, dass die Word-Methode SaveAs in einem Excel-Makro nicht richtig funktioniert.

Gruß Flupo
0 Punkte
Beantwortet von steffen2 Experte (6.4k Punkte)

nutze mal zum testen

.SaveAs2

Gruß Steffen2

0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo zusammen,

noch mal vielen Dank für euer Interesse und die gute Tipps. Habe alle Tipps getestet, leider ohne Erfolg.

Es ist fast mysteriös, da keine Fehlermeldung erscheint und alles zu funktionieren scheint, nur dass sich die word-Datei (oder auch andere Formate, habe .pdf probiert) nicht wieder öffnen lassen obwohl die Explorer-Vorschau den richtigen Inhalt anzeigt. Ich hatte noch eine Vermutung, dass es an der verwendetetn word-Vorlage mit Macro liegen könnte. Habe dann das word-Format auf Vorlage ohne macro umgestellt, was aber auch nicht zum Erfolg geführt hat. Vlt. liegt das Problem tatsächlich am Übergang von Excel zu word und zurück...???

VG A.
+2 Punkte
Beantwortet von steffen2 Experte (6.4k Punkte)

ersetzte

Set wordDoku = AppWD.documents.Open(Filename:="C:\Users\User\Downloads\TCW Brief.dotm")

mit

Set wordDoku = AppWD.Documents.Add("C:\Users\User\Downloads\TCW Brief.dotm")

Denn du öffnest die Vorlage zum editieren. Kein neues Dokument. So hat es jetzt bei mir funktioniert.

0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo Steffen,

ich kanns kaum noch glauben... nach 100 Versuchen! Dein Tipp funktioniert und alle Probleme sind behoben!!

Vielen Dank und hoffentlich bis bald :-).
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)

Hallo,

ich wollte jetzt noch eine Variante ergänzen mit der ich die word-Datei als .pdf speichern kann:

AppWD.ActiveDocument.ExportAsFixedFormat ExportFormat:=wdExportFormatPDF, Filename:=Pfad & ".pdf", OpenAfterPublish:=False

Das klappt aber nicht...? Falscher Code.

Hat jemand inen Tipp?

GrußA.

0 Punkte
Beantwortet von flupo Profi (17.8k Punkte)
Probier mal mit SaveAs und dem Parameter "FileFormat:=wdFormatPDF".

Gruß Flupo
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)

Habe es mit 

AppWD.ActiveDocument.ExportAsFixedFormat FileFormat:=wdFormatPDF, Filename:=Pfad, OpenAfterPublish:=False

probiert, und erhalte "Benanntes Argument nicht gefunden". Pfad ist String mit dem Speicherpfad.

GrußA.

...