Tengo un documento de Word que contiene unos 4000 campos de formulario que luego debo exportar a una base de datos. El asunto es que ninguno de los 4000 campos tiene una información en el campo "Marcador", por lo que no puedo obtener la información almacenada en ellos.Macro de Word, que almacena la selección actual (VBA)
Estoy tratando de crear una macro para ayudar en el proceso de escribir el marcador (FormField.Name) pero no puedo hacerlo bien. El asunto es que quiero cambiar los nombres de los FormFields contenidos en la selección del usuario, y solo ellos. He conseguido llegar a esta solución:
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
Pero no funciona, porque el objeto de selección se cambia en el bucle For Each y después sólo contiene el primer FormField de la selección.
Así que aquí está mi pregunta, ¿hay alguna manera de guardar la selección actual y volver a cargarla después de haberla cambiado?
He intentado:
Dim mySelection as Selection
Set mySelection = Selection
Pero si cambio de la selección, el mySelection variable cambia también (lo cual es bastante normal ...) y no he encontrado ninguna manera de clonar el objeto .
¿Alguien tiene una idea sobre cómo hacer esto?
Gracias