jobo: Word Rechnungstemplate füllen aus Excelzeile mit VBA

Beitrag lesen

Hallo Vinzenz,

Hallo,

Oder ist es (VBA-technisch) einfacher, die Rechnung statt in Word (so ist sie jetzt vorhanden und wird halt händisch bestückt) in Excel zu basteln?

Du hast geringere Komplexität, weil Du nur eine Anwendung automatisierst.

Work in Progress

ohne Fehlerbehandlung :-)

Wie geht Fehlerbehandlung (;-///)???

[code lang=vba]
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
Set objDoc = objWord.Documents.Open(Pfad & "Vorlage.doc")

Schlechte Idee.

a) Nutze eine Dokumentvorlage.

Na ich dachte, das mache ich der Userin einfacher, wenn es ein .doc ist, damit sie selbst {Spaltenname} einsetzen könnte, wenn sie wollte, es also anpassen kann. Kaum steht da .dot kommen schon wieder fragen.

b) Verwende eine sinnvolle Verzeichnisstruktur

Ja, Aufteilen Anwendung, Daten, Ausgabe.

c) Benenne die Dokumentvorlage sinnvoll.

Es gibt nur eine Userin und eine Vorlage (;-). Besser wäre "Rechnungsvorlage", stimmt schon.

Set objSelection = objWord.Selection

???

Lerne mit Range-Objekten umzugehen.

Ja in Excel kann ich das irgendwie. Mir war und ist nicht klar, wie ich in Word einfach sagen kann: kompletten Text durchlaufen. Das reicht mir hier ja schon.

SaveAs = Pfad & Rechnnr & "_" & Name

Es ist ganz bestimmt keine besonders gute Idee, die Rechnungen im gleichen Verzeichnis wie die "Anwendung" abzulegen, siehe b).
Du musst *zwingend* den Dateinamen kontextgerecht behandeln.

So sieht die momentan aus:

If ColName = "Rechnnr." Then
Rechnnr = Replace(MyReplace, "/", "-")
End If

(;-)

In Dateinamen sind bestimmte Zeichen nicht zugelassen. Sorge dafür, dass diese nicht verwendet werden.

da wäre dann noch der "" und vermutlich sonstwelcher kryptischer Krempel, den Windows nicht haben möchte.

Dank und Gruß

Robert aka jobo