Ho un documento Word che contiene circa 4000 campi modulo che devo esportare in seguito in un database. La questione è che nessuno dei 4000 campi ha un'informazione nel campo "Segnalibro", quindi non riesco a ottenere le informazioni memorizzate in essi.Word macro, memorizzazione della selezione corrente (VBA)
Sto cercando di creare una macro per facilitare il processo di scrittura del segnalibro (FormField.Name) ma non riesco a farlo correttamente. La questione è che voglio cambiare i nomi dei FormField contenuti nella selezione dell'utente e solo loro. Sono riuscito a venire a questa soluzione:
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
Ma non funziona, perché l'oggetto di selezione viene modificato nel ciclo For Each e poi contiene solo il primo FormField della selezione.
Quindi ecco la mia domanda, c'è un modo per salvare la selezione corrente e caricarla dopo averla modificata.
ho provato:
Dim mySelection as Selection
Set mySelection = Selection
Ma se cambio la selezione, la mySelection variabile cambia così (che è abbastanza normale ...) e non ho trovato un modo per clonare l'oggetto .
Qualcuno ha un'idea su come farlo?
Grazie