Ich habe ein Word-Dokument, das etwa 4000 Formularfelder enthält, die ich anschließend in eine Datenbank exportieren muss. Die Sache ist, dass keines der 4000 Felder eine Information im "Lesezeichen" -Feld hat, daher kann ich die Information nicht in ihnen speichern.Word-Makro, Speichern der aktuellen Auswahl (VBA)
Ich versuche, ein Makro zu erstellen, um den Prozess des Schreibens des Lesezeichens (FormField.Name) zu unterstützen, aber es wird nicht richtig ausgeführt. Die Sache ist, dass ich die Namen der FormFields, die in der Auswahl des Benutzers enthalten sind, und nur sie ändern möchte. Ich habe zu dieser Lösung kommen verwaltet:
Sub Macro2()
Dim myFile As String
Dim fnum As Integer
Dim sFileText As String
Dim currentField As FormField
myFile = "c:\testMacro.txt"
fnum = FreeFile()
Open myFile For Input As fnum
For Each currentField In Selection.FormFields
Input #fnum, sFileText
With currentField
.StatusText = sFileText
.OwnStatus = True
End With
currentField.Select
Application.WordBasic.FormFieldOptions Name:=sFileText
Next currentField
End Sub
Aber es funktioniert nicht, weil das Selection-Objekt in der For Each-Schleife geändert wird und danach es enthält nur die erste Formfield der Auswahl.
Also hier ist meine Frage, gibt es eine Möglichkeit, die aktuelle Auswahl zu speichern und laden Sie es zurück, nachdem Sie es geändert haben.
Ich habe versucht:
Dim mySelection as Selection
Set mySelection = Selection
Aber wenn ich die getroffene Auswahl zu ändern, wird die Variable MySelection ändert auch (was ganz normal ist ...) und ich fand keinen Weg, um das Objekt zu klonen .
Hat jemand eine Idee, wie man das macht?
Dank