Hallo Leute! bin noch ein kompletter Anfänger was „Programmierung“ anbelangt also bitte keine blöden Meldungen *liebschau* *gg*.
STATUS: SEHR DRINGEND (Problem in der Firma)
Ich habe eine Dokumentenvorlage welche aus einem Drittprogramm durch Textmarken mit bestimmten Werten (z.B.: Adresse) befüllt wird.
Jetzt bräuchte mein Kunde aber genau diese Werte an einer anderen Position im Dokument noch einmal. Leider lassen sich diese Textmarken aber nicht mehrmals in einem Dokument einfügen.
Ich würde gerne die Zeilen welche schon befüllt sind durch VBA auch an die andere Position einfach durch „copy&paste“ kopieren.
Wenn euch das was hilft, das ist der Code der das Word Formular durch die Textmarken befüllt:
Sub Autoopen()
’
’ Kplus Makro
’ Makro erstellt am 27.04.2001 von Rhomberg Martin
If ActiveDocument.Bookmarks.Count >= 1 And InStr(ActiveDocument, „.dot“) = 0 Then
chan = DDEInitiate(App:=„OMNIS7“, Topic:=„HK_PROG“)
If chan „“ Then
If ActiveDocument.Bookmarks.Count >= 1 Then
For Each aBookmark In ActiveDocument.Bookmarks
If aBookmark.Name „weiter“ Then
If InStr(aBookmark.Name, „_“) > 0 Then
ActiveDocument.Bookmarks(aBookmark.Name).Select
Selection.InsertAfter DDERequest(Channel:=chan, Item:=aBookmark.Name)
End If
If aBookmark.Name = „DATUM“ Then
ActiveDocument.Bookmarks(aBookmark.Name).Select
Selection.InsertAfter Date
End If
End If
Next aBookmark
For Each aBookmark In ActiveDocument.Bookmarks
If aBookmark.Name „weiter“ Then
If InStr(aBookmark.Name, „_“) > 0 Or aBookmark.Name = „DATUM“ Then
ActiveDocument.Bookmarks(aBookmark.Name).Delete
End If
End If
Next aBookmark
End If
DDETerminate Channel:=chan
End If
End If
End Sub
Kann dir eigentlich nicht direkt weiterhelfen, aber da es schnell sein muss hilft da ein kleiner Trick ;o))
wenn du an die doppelten bokkmarks am ende _xxx hängst kannst du sie ja doppelt im Text plazieren, gelle ;o) Nu muttu noch kurz den Conde anpassen, d. h. den Request nur den „richtigen“ bookmarknamen angeben…
If ActiveDocument.Bookmarks.Count >= 1 And
InStr(ActiveDocument, „.dot“) = 0 Then
chan = DDEInitiate(App:=„OMNIS7“, Topic:=„HK_PROG“)
If chan „“ Then
If ActiveDocument.Bookmarks.Count >= 1 Then
For Each aBookmark In ActiveDocument.Bookmarks
If aBookmark.Name „weiter“ Then
If InStr(aBookmark.Name, „_“) > 0 Then
ActiveDocument.Bookmarks(aBookmark.Name).Select
if instr(abookmark.name,"_xx") > 0 then
help = mid(abookmark.name,1,instr(abookmark.name,"_xx") - 1)
Selection.InsertAfter:smiley:DERequest(Channel:=chan, Item:=help)
else
Selection.InsertAfter:smiley:DERequest(Channel:=chan, Item:=aBookmark.Name)
endif
um die variablen auf „“ zu setzen, folgenden code einmalig ausfürehn:frowning:damit, wenn die variable icht befüllt wurde, keine fehlermeldung dasteht…)
ActiveDocument.Variables(„Feld9“) = " "
For Each feld In ActiveDocument.StoryRanges 'alle felder updaten
feld.Fields.Update
While Not (feld.NextStoryRange Is Nothing)
Set feld = feld.NextStoryRange
feld.Fields.Update
Wend
Next
hoffe es hilft
gruß
rasta
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]