hallo erstmal,
ich benutze vollgendes script, was mir textmarken aus einer excel tabelle heraus in einem worddocument füllt, sobald eine auswahl über eine listbox getroffen wurden.
'Zuerst wird die Excel Datei geöffnet
Set oExcelApp = CreateObject("Excel.Application")
Set oExcelWorkbook = oExcelApp.Workbooks.Open(ThisDocument.Path & DatenBezug)
lZeile = 2 'Wir starten in Zeile 2, da in der ersten Zeile überschriften stehen
With oExcelWorkbook.Sheets(DatEmpfaenger)
Do While .Cells(lZeile, 2) <> ""
'Wenn der Eintrag der Listbox mit dem Namen in der Adresstabelle
'übereinstimmt, dann werden die Textmarken gefüllt!
If ListBox1.Text = CStr(.Cells(lZeile, 1).Value) Then
'Eintrag gefunden, Textmarken füllen
ActiveDocument.Bookmarks("TM_E_Firma").Range = _
CStr(.Cells(lZeile, 3).Value)
ActiveDocument.Bookmarks("TM_E_StrHnr").Range = _
CStr(.Cells(lZeile, 4).Value)
ActiveDocument.Bookmarks("TM_E_PLZ").Range = _
CStr(.Cells(lZeile, 5).Value)
ActiveDocument.Bookmarks("TM_E_Ort").Range = _
CStr(.Cells(lZeile, 6).Value)
ActiveDocument.Bookmarks("TM_E_Tel").Range = _
CStr(.Cells(lZeile, 7).Value)
ActiveDocument.Bookmarks("TM_E_Fax").Range = _
CStr(.Cells(lZeile, 8).Value)
ActiveDocument.Bookmarks("TM_E_Mail").Range = _
CStr(.Cells(lZeile, 9).Value)
ActiveDocument.Bookmarks("TM_E_KD").Range = _
CStr(.Cells(lZeile, 10).Value)
Exit Do
End If
lZeile = lZeile + 1
Loop
End With
was so weit auch wirklich gut funktioniert.
Mein problem ist aber , das die textmarken nach dem einfügen natürlich raus sind.
Ich habe nun schon eine ganze weile gesucht und probiert, aber komme leider auf keinen nenen.
Nun hoffe ich, das mir vielleicht hier einer helfen kann,
wenn ich z.B. bei der Textmarke TM_E_Firma
ActiveDocument.Bookmarks("TM_E_Firma").Range = _
CStr(.Cells(lZeile, 3).Value)
auch gleich wieder eine Textmarke mit dem eingefügten text setzen möchten.
Da ich eine absoluter kacknoob im vba bin, wäre auch eine kleine erklärung klasse,
damit ich vielleicht auch verstehe, warum und weshalb das jetzt so gemacht wurde.
vielen lieben dank schon mal im voraus.
mfg Hofe
|