Re: Excel-daten in Word-Datei einlesen
24.11.2002 14:49:56
Jens Huthmann
Hallo Heinz,kleines Beispiel hierfür:
Sub Export()
Dim Kunde As String
Dim Artikel As String
Dim Menge As Integer
Dim MwStSatz As Double
Dim EP As Currency
Dim Netto As Currency
Dim MwSt As Currency
Dim Brutto As Currency
Dim Pfad As String
Dim Excel As Workbook
'Pfad der Exceldatei bestimmen
Pfad = ActiveWorkbook.Path
Set Excel = ActiveWorkbook
'Einlesen der Exceldaten in Variablen
Sheets(1).Select
Kunde = [c6]
Artikel = [c7]
Menge = [c8]
EP = [c9]
MwStSatz = [c10]
Netto = [c12]
MwSt = [c13]
Brutto = [c14]
'Word aktivieren, bzw. falls noch nicht geöffnet (-->Fehler), dann Word öffnen
On Error Resume Next
Set wordobj = GetObject(, "word.application.8")
If Err.Number = 429 Then
Set wordobj = CreateObject("word.application.8")
GoTo weiter
End If
On Error GoTo 0
weiter:
'Word sichtbar machen und zum aktiven Fenster erheben
wordobj.Visible = True
wordobj.Activate
'auf Word-Dokumentvorlage zugreifen und neues Dokument erstellen
wordobj.Documents.Add Template:=Pfad & "\Datenimport aus Excel.dot", newtemplate:=False
'Alternativ mit dem kompletten Pfadnamen, wenn die Vorlage in einem anderen Ordner
'als die Exceldatei liegt:
'wordobj.Documents.Add Template:="e:\aufträge\angebot.dot", newtemplate:=False
wordobj.WindowState = wdWindowStateMaximize
'Exceldaten aus den Variablen an vordefinierte Textmarken des Worddokuments schreiben
wordobj.activedocument.bookmarks("Kunde").Range = Kunde
wordobj.activedocument.bookmarks("Artikel").Range = Artikel
wordobj.activedocument.bookmarks("Menge").Range = Menge
wordobj.activedocument.bookmarks("EP").Range = FormatNumber(EP, 2) & " "
wordobj.activedocument.bookmarks("MwStSatz").Range = FormatNumber(MwStSatz * 100, False) & "%"
wordobj.activedocument.bookmarks("Netto").Range = FormatNumber(Netto, 2) & " "
wordobj.activedocument.bookmarks("MwSt").Range = FormatNumber(MwSt, 2) & " "
wordobj.activedocument.bookmarks("Brutto").Range = FormatNumber(Brutto, 2) & " "
End Sub
Maile mich direkt an, wenn ich dir die Exceldatei und das Wordtemplate zumailen soll.
Gruß
Jens Huthmann