Macro Word - nommer fichier avec mot du texte
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Macro sous Word 2007,
Pour créer des profils de connexion Cisco,
J'ai créé une macro qui me permet de créer ces fichiers à partir d'un document lui même issu d'un publipostage. Tout les profils étant par le publipostage dans le même fichier Word.
La macro extrait le 1er profil du texte, enregistre le fichier avec un nom que j'ai spécifié en dur, puis supprime les lignes de ce profil.
J'aimerai pouvoir enregistrer ce fichier avec le nom du profil (la personne concernée),
Cette information se trouve toujours sur la même ligne et sur la ligne à la même position après !Username=
Voilà un exemple :
=======================================================================
[main]
Description=Connexion VPN
Host=rpv
AuthType=1
GroupName=group
GroupPwd=
enc_GroupPwd=**********************************************
EnableISPConnect=0
ISPConnectType=0
ISPConnect=*************************
ISPPhonebook=C:\Documents and Settings\........\rasphone.pbk
ISPCommand=
!Username=nom
!SaveUserPassword=1
!UserPassword=********
enc_UserPassword=
NTDomain=
EnableBackup=0
BackupServer=
EnableMSLogon=1
MSLogonType=0
EnableNat=1
TunnelingMode=0
TcpTunnelingPort=10000
CertStore=0
CertName=
CertPath=
CertSubjectName=
CertSerialHash=00000000000000000000000000000000
SendCertChain=0
PeerTimeout=90
EnableLocalLAN=0
======================================================================
Voici ma commande pour enregistrer le fichier :
ActiveDocument.SaveAs FileName:= _
"\\serveur\partage\dossier\VPN\profil.txt"
J'aimerai remplacer profil.txt par nom.txt du texte ci-dessus, ligne 12 position 10.
Merci d'avance de votre aide,
Pascal
Macro sous Word 2007,
Pour créer des profils de connexion Cisco,
J'ai créé une macro qui me permet de créer ces fichiers à partir d'un document lui même issu d'un publipostage. Tout les profils étant par le publipostage dans le même fichier Word.
La macro extrait le 1er profil du texte, enregistre le fichier avec un nom que j'ai spécifié en dur, puis supprime les lignes de ce profil.
J'aimerai pouvoir enregistrer ce fichier avec le nom du profil (la personne concernée),
Cette information se trouve toujours sur la même ligne et sur la ligne à la même position après !Username=
Voilà un exemple :
=======================================================================
[main]
Description=Connexion VPN
Host=rpv
AuthType=1
GroupName=group
GroupPwd=
enc_GroupPwd=**********************************************
EnableISPConnect=0
ISPConnectType=0
ISPConnect=*************************
ISPPhonebook=C:\Documents and Settings\........\rasphone.pbk
ISPCommand=
!Username=nom
!SaveUserPassword=1
!UserPassword=********
enc_UserPassword=
NTDomain=
EnableBackup=0
BackupServer=
EnableMSLogon=1
MSLogonType=0
EnableNat=1
TunnelingMode=0
TcpTunnelingPort=10000
CertStore=0
CertName=
CertPath=
CertSubjectName=
CertSerialHash=00000000000000000000000000000000
SendCertChain=0
PeerTimeout=90
EnableLocalLAN=0
======================================================================
Voici ma commande pour enregistrer le fichier :
ActiveDocument.SaveAs FileName:= _
"\\serveur\partage\dossier\VPN\profil.txt"
J'aimerai remplacer profil.txt par nom.txt du texte ci-dessus, ligne 12 position 10.
Merci d'avance de votre aide,
Pascal
A voir également:
- Macro Word - nommer fichier avec mot du texte
- Fichier bin - Guide
- Word 2013 - Télécharger - Traitement de texte
- Fichier epub - Guide
- Fichier rar - Guide
- Transcription audio en texte word gratuit - Guide
6 réponses
Bonjour,
Voici ce que j'ai écrit dans mon post :
"et supposant que chaque ligne se termine par un retour paragraphe (ce qu'on ne voit pas dans ton exemple)"
As-tu vérifié cela ?
m@rina
Voici ce que j'ai écrit dans mon post :
"et supposant que chaque ligne se termine par un retour paragraphe (ce qu'on ne voit pas dans ton exemple)"
As-tu vérifié cela ?
m@rina
bonjour
As-tu essayé :
ActiveDocument.SaveAs FileName:= _
"\\serveur\partage\dossier\VPN\" & nom & ".txt"
As-tu essayé :
ActiveDocument.SaveAs FileName:= _
"\\serveur\partage\dossier\VPN\" & nom & ".txt"
Bonjour,
En fait, c'est la piste que j'explore mais il faut pour cela que j'enregistre ce qui se trouve après !Username= dans une variable (la variable nom par exemple) pour que je puisse enregistrer le fichier par
ActiveDocument.SaveAs FileName:= _
"\\serveur\partage\dossier\VPN\" & nom & ".txt"
J'ai pour l'instant réussi à copier le texte qui m'intéresse dans le presse papier par :
Selection.MoveDown Unit:=wdLine, Count:=12
Selection.MoveRight Unit:=wdCharacter, Count:=10
Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
Selection.Copy
Il faudrait maintenant que j'arrive à attribuer à la variable nom le contenu du presse papier.
Si vous avez l'astuce, je suis preneur.
Ou une meilleur méthode, évidemment je suis preneur aussi
Cordialement,
Pascal
En fait, c'est la piste que j'explore mais il faut pour cela que j'enregistre ce qui se trouve après !Username= dans une variable (la variable nom par exemple) pour que je puisse enregistrer le fichier par
ActiveDocument.SaveAs FileName:= _
"\\serveur\partage\dossier\VPN\" & nom & ".txt"
J'ai pour l'instant réussi à copier le texte qui m'intéresse dans le presse papier par :
Selection.MoveDown Unit:=wdLine, Count:=12
Selection.MoveRight Unit:=wdCharacter, Count:=10
Selection.MoveRight Unit:=wdWord, Count:=1, Extend:=wdExtend
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
Selection.Copy
Il faudrait maintenant que j'arrive à attribuer à la variable nom le contenu du presse papier.
Si vous avez l'astuce, je suis preneur.
Ou une meilleur méthode, évidemment je suis preneur aussi
Cordialement,
Pascal
Bonjour,
Il n'y a pas à faire de sélection ni de move ! Ah cet enregistreur de macros !! :D
Si les fichiers sont tous construits de la même façon, et supposant que chaque ligne se termine par un retour paragraphe (ce qu'on ne voit pas dans ton exemple), voici la macro :
La macro va chercher le 4e mot de la 13e ligne (car si j'ai bien compté c'est la 13e ligne et non la 12e). Quant au ! il est considéré comme un mot à part entière.
J'ai ajouté dans la macro le format texte pour le fichier car il ne suffit pas de donner l'extension.
m@rina
Il n'y a pas à faire de sélection ni de move ! Ah cet enregistreur de macros !! :D
Si les fichiers sont tous construits de la même façon, et supposant que chaque ligne se termine par un retour paragraphe (ce qu'on ne voit pas dans ton exemple), voici la macro :
Sub nom() Dim nom nom = ActiveDocument.Paragraphs(13).Range.Words(4) ActiveDocument.SaveAs FileName:= "\\serveur\partage\dossier\VPN\" & nom & ".txt", FileFormat:=wdFormatText End Sub
La macro va chercher le 4e mot de la 13e ligne (car si j'ai bien compté c'est la 13e ligne et non la 12e). Quant au ! il est considéré comme un mot à part entière.
J'ai ajouté dans la macro le format texte pour le fichier car il ne suffit pas de donner l'extension.
m@rina
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question