Macro de Word, le stockage de la sélection en cours (VBA)
J'ai un document Word qui contient environ 4000 champs de formulaire que j'ai à l'exportation par la suite une base de données. Le fait est qu'aucun des 4000 champs ont une information dans la "Signet" sur le terrain, donc je ne peux pas obtenir les informations stockées dans les.
Je suis en train de créer une macro pour aider le processus d'écriture de l'signet (FormField.Nom), mais ne réussit pas à le faire correctement. La question est que je veux changer le nom de la FormFields contenues dans la sélection de l'utilisateur, et seulement eux. J'ai réussi à en venir à cette solution:
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
Mais ça ne fonctionne pas, parce que le choix de l'objet est modifiée dans la boucle For each et après, il ne contient que la première FormField de la sélection.
Voici donc ma question, est-il un moyen pour enregistrer la sélection en cours et la charge après avoir changé.
J'ai essayé :
Dim mySelection as Selection
Set mySelection = Selection
Mais si je change la Sélection, la variable mySelection changements (ce qui est tout à fait normal...) et je n'ai trouvé aucun moyen de cloner l'objet.
Quelqu'un a une idée sur comment faire?
Grâce
OriginalL'auteur Gimly | 2009-06-16
Vous devez vous connecter pour publier un commentaire.
Utiliser une référence différente pour votre "copie":
Ou utiliser un doublon:
OriginalL'auteur guillermooo
Selection.Range
est automatiquement un double, de sorte que vous pouvez faire:OriginalL'auteur clum