Hallo!
Ich habe da ein Problem mit dem füllen von Text Marken in Word das Problem liegt aber nicht am Code der hat früher schon Funktioniert
die Felder werden auch gefüllt allerdings nicht alle
ich habe aber neue hinzugefügt und diese werden nun nicht mehr gefüllt und geben den Laufzeitfehler "6028: Bereich kann nicht nicht gelöscht werden"
ich kenne mich in Word nicht so aus und wo ich das erstellt habe ist schon 2 jhare her oder so
kann es sein das Word Bereiche sperrt wo die Text Marken sind ?
ich habe keine Ahnung wo ich suchen soll
im Bild sind die Felder die den Fehler geben noch grau daher zum Test das
On Error Resume Next
Absender111 habe ich nur so benannt da ich gelesen habe es kann vielleicht an der Benennung liegen
das Dokument ist in 2 Formaten in der zip
hier mal der Code der ist aber nicht das Problem
Public Sub SetBookmark(wdDok As Object, strBookmark As String, _
varWert As Variant)
On Error Resume Next
If Not wordObj Is Nothing Then
If wdDok.Bookmarks.Exists(strBookmark) = True Then
With wdDok.Bookmarks(strBookmark).Range
If Trim$(Nz(varWert, "")) <> "" Then
.Text = varWert
Else
.Delete
End If
End With
End If
End If
End Sub
SetBookmark wordDoc, "Absender111", rst!Absender
SetBookmark wordDoc, "Fax", rst!Fax
SetBookmark wordDoc, "Email", rst!Email
SetBookmark wordDoc, "TelefonNr", rst!TelefonNr
SetBookmark wordDoc, "Inhaber", rst!Inhaber
'Test der anderen felder
SetBookmark wordDoc, "Firma", "test"
SetBookmark wordDoc, "PersAnrede", "test"
SetBookmark wordDoc, "Name", "test"
SetBookmark wordDoc, "Adresse", "test"
SetBookmark wordDoc, "Ort", "test"
SetBookmark wordDoc, "BriefID", "test"
SetBookmark wordDoc, "Betreff", "test"
SetBookmark wordDoc, "Anrede", "test"
SetBookmark wordDoc, "Veranstaltungen", "test"
SetBookmark wordDoc, "Datum", "test"
Hi,
ZitatBereich kann nicht nicht gelöscht werden
du solltest die Fehlermeldung schon wörtlich nehmen.
Du kannst die Delete-Methode nicht auf die Range-Eigenschaft der Textmarke anwenden, es ist die Textmarke selbst, die du löschen willst.
Also ginge es so:
With wdDok.Bookmarks(strBookmark)
If Trim$(Nz(varWert, "")) <> "" Then
.Range.Text = varWert
Else
.Delete
End If
End With
Hallo!
Danke erstmal für deine mühe !
Das behebt leider den fehler nicht
es kommt immer noch die fehlermeldung 6028 in der zeile
.Range.Text = varWert
Der witz ist ja das alle felder in denen Test auf dem bild steht es geht
aber bei denen die grau sind der fehler ensteht
es gibt keinen erkennbaren unterschied zwischen den feldern in den eigenschaften
9 Funktionieren und 5 erzeugen den fehler und es sind immer die gleichen
Hallo,
die Fehlermeldung passt mAn nicht zu der gezeigten Codezeile.
Welche Datenfelder liefert denn die Abfrage, hast du das schon mal überprüft?
Und was kommt an in der Prozedur "SetBookmark"?
Oft hilft der Test im Unterbrechungsmodus, um die Fehlerursachen zu erkennen.
Wenn du den vollständigen Code zeigen oder eine Beispiel-DB hochladen könntest, dann könnte man sich das mal ansehen.
Hallo!
ich hab eine test DB als Access 2010 ( Weis nicht obs anderst auch geht zum testen ) hochgeladen und überall ein Debug.Print eingefügt
Die Function SetBookmark ist im modul mdl_Word_Global
da habe ich aber noch die on Error anweisung drin damit es voll durchläuft und ich das Debug.Print sehe die einfach auskommentieren
Bei mir ist es so das ich die vorlagen im Ordner "Test DB\Vorlagen\Word\Eigene"
einmal öfnen muss und die bearbeitung aktivieren sonst gehts nicht
gruß Frank
Hallo,
ich würde die Formularfelder, die mit den Textmarken gekennzeichnet sind, alle herauswerfen und normal geschriebenen Text mit einer Textmarke belegen.
Vermutlich liegt der Range bei den betroffenen Stellen nicht im Formularfeld, sondern das Formularfeld selber ist mit der Textmarke bezeichnet.
Hallo!
ich hab ein neues Dokument genomen und die Felder an der stelle eingefügt wo ich sie haben möchte über Entwicklertools / Formulare aus Vorversion so wie ich das damals erstellt hab (soweit ich noch weis )
jetzt geht keins mehr und immer noch der gleiche laufzeit fehler und ich hab keine ahung warum
auch wenn ich den text schreibe ihn markiere und auf vormularfeld klicke gehts auch nicht
ich hab mal das neue dokument angehängt
Hallo,
und warum setzt Du nicht meinen Vorschlag um?
Zudem ich den Grund des "Nicht Gehens" ja schon erwähnt habe...
An der Textmarke für "Absender" kannst Du Dich ja selber versuchen...
Hab erst nicht ganz verstanden was du meintest da ich nicht wusste wo ich suchen muss
Hab unter Word 2010 folgendes angeschaltet jetzt kann ich das wenigstens sehen
Einstellungen > Erweitert > Dokumenteninhalt anzeigen > Textmarken anzeigen Aktiviert
Dann das Steuerelement raus und an derselben Stelle eine Textmarke eingefügt allerdings über
Einfügen > Hyperlinks > Textmarke
Und es funktioniert
Auf die anderen Textmarken Kamm ich wohl über ,, Programmiere Rezepte Access ,,
Da werden die Felder Gefüllt mit
.FormFields("Test").Result = Variable
"BLEIBEN DANN ABER GRAU" Und nicht wie bei meiner alten Lösung das sie dann weg sind
Aller Dinges weiß ich noch immer nicht warum es bei einigen der grauen klappt und bei anderen nicht
mein problem ist zwar gelösst nur das mysterium der grauen felder bleibt noch offen
http://www.vba-wordwelt.de/word-mit-vba/dokumentinhalte/textmarken/ (http://www.vba-wordwelt.de/word-mit-vba/dokumentinhalte/textmarken/)
Bei einem normalen Steuerelement funktioniert es dann so
Public Sub SetBookmark(wdDok As Object, strBookmark As String, _
varWert As Variant)
Dim i As Integer
With wdDok
If .ContentControls.Count > 0 Then
For i = 1 To .ContentControls.Count
If .ContentControls(i).Title = strBookmark Then
.ContentControls(i).Range.Text = Trim$(varWert)
Exit For
End If
Next
End If
End With
End Sub
Allerdings nicht bei den grauen Feldern
Hallo,
wir diskutieren aneinander vorbei..... >:(
Schau Dir mal den Anhang in meinem letzten Posting an.....
Ich frage mich, warum Du dauernd auf den absolut unnötigen Formularfeldern herum eierst. Lass die einfach weg und alles ist gut.
Zitat
Aller Dinges weiß ich noch immer nicht warum es bei einigen der grauen klappt und bei anderen nicht
mein problem ist zwar gelösst nur das mysterium der grauen felder bleibt noch offen
Ich wiederhole mich:
Die Textmarke kennzeichnet das gesamte Control an sich und nicht dessen Inhalt, der durch Text ersetzt werden könnte....
:o den anhang hat ich obersehen war mit handy online ;D
Verstehe das sind die gleichen die ich auch erstellt hab nur habe ich keinen text makiert und dann die marke eingefügt sondern an der Courser stelle
Kommt ja untern strich fast aufs gleiche raus
ich eier nicht auf den grauen feldern rum mich nervts nur wenn ich nicht weis warum es so ist in den fall gibt auser S/W auch noch grau ;D
Aber danke für die mühe war sehr hilfreich
Gruß Frank
Edit:
Die grauen text marken einfach markieren dann auf Einfügen > Hyperlinks > Textmarken und das Steuerelement ist als anprechbare Textmarke bearbeitbar
die lösung war eigentlich ganz simpel