J'utilise le vbscript pour créer des utilisateurs sur un domaine windows.
Je voudrais pouvoir faire une fusion de document, c'est à dire depuis
mon script appeler word en lui passant des paramètres qui seront placés
à certaines positions d'un document maître.
Je pense qu'il va falloir que j'écrive un script vba qui traitera les
données passées par mon vbs.
Je n'y connais rien en vba, qui pourrait m'aider ou me donner quelques
adresses qui me dépanneraient?
Merci
J'utilise le vbscript pour créer des utilisateurs sur un domaine windows. Je voudrais pouvoir faire une fusion de document, c'est à dire depuis mon script appeler word en lui passant des paramètres qui seront placés à certaines positions d'un document maître. Je pense qu'il va falloir que j'écrive un script vba qui traitera les données passées par mon vbs. Je n'y connais rien en vba, qui pourrait m'aider ou me donner quelques adresses qui me dépanneraient? Merci
Je ne vois pas comment passer des paramètres à Word si ce n'est à travers un fichier. Une idée de solution : Créer avec le script un fichier texte avec le contenu des paramètres, un par ligne, par exemple. Dans Word faire un fichier, pas forcément un formulaire, mais avec des signets aux emplacements d'insertion des données. Dans ce fichier une macro autoOpen qui lit le fichier des paramètres et recopie les données au bon endroit. Et dans le script lancer l'ouverture de ce fichier.
De l'aide vous en trouverez ici, bien sûr, mais aussi des bases sur la faq, http://faqword.free.fr
en particulier Le didacticiel vba : http://faqword.free.fr/articles.php?lng=fr&pg48 et aussi : Comment mettre à jour les signets par macro ? : http://faqword.free.fr/articles.php?lng=fr&pga
-- A+
Bonjour
J'utilise le vbscript pour créer des utilisateurs sur un domaine windows.
Je voudrais pouvoir faire une fusion de document, c'est à dire depuis mon script
appeler word en lui passant des paramètres qui seront placés à certaines positions d'un
document maître.
Je pense qu'il va falloir que j'écrive un script vba qui traitera les données passées
par mon vbs.
Je n'y connais rien en vba, qui pourrait m'aider ou me donner quelques adresses qui me
dépanneraient?
Merci
Je ne vois pas comment passer des paramètres à Word si ce n'est à
travers un fichier.
Une idée de solution :
Créer avec le script un fichier texte avec le contenu des paramètres,
un par ligne, par exemple.
Dans Word faire un fichier, pas forcément un formulaire, mais avec des
signets aux emplacements d'insertion des données. Dans ce fichier une
macro autoOpen qui lit le fichier des paramètres et recopie les données
au bon endroit.
Et dans le script lancer l'ouverture de ce fichier.
De l'aide vous en trouverez ici, bien sûr, mais aussi des bases sur la
faq,
http://faqword.free.fr
en particulier
Le didacticiel vba :
http://faqword.free.fr/articles.php?lng=fr&pg48
et aussi :
Comment mettre à jour les signets par macro ? :
http://faqword.free.fr/articles.php?lng=fr&pga
J'utilise le vbscript pour créer des utilisateurs sur un domaine windows. Je voudrais pouvoir faire une fusion de document, c'est à dire depuis mon script appeler word en lui passant des paramètres qui seront placés à certaines positions d'un document maître. Je pense qu'il va falloir que j'écrive un script vba qui traitera les données passées par mon vbs. Je n'y connais rien en vba, qui pourrait m'aider ou me donner quelques adresses qui me dépanneraient? Merci
Je ne vois pas comment passer des paramètres à Word si ce n'est à travers un fichier. Une idée de solution : Créer avec le script un fichier texte avec le contenu des paramètres, un par ligne, par exemple. Dans Word faire un fichier, pas forcément un formulaire, mais avec des signets aux emplacements d'insertion des données. Dans ce fichier une macro autoOpen qui lit le fichier des paramètres et recopie les données au bon endroit. Et dans le script lancer l'ouverture de ce fichier.
De l'aide vous en trouverez ici, bien sûr, mais aussi des bases sur la faq, http://faqword.free.fr
en particulier Le didacticiel vba : http://faqword.free.fr/articles.php?lng=fr&pg48 et aussi : Comment mettre à jour les signets par macro ? : http://faqword.free.fr/articles.php?lng=fr&pga
-- A+
Anacoluthe
Bonjour !
'Youri Ligotmi' nous a écrit ...
J'utilise le vbscript Je n'y connais rien en vba
??? mais c'est quasiment la même chose !!! C'est juste une question d'objets
Voici un script VBS qui lance Word, crée un document et écrit qqch dedans : ----------------------------------------------- Set oWord = CreateObject("Word.Application") oWord.Caption = "Essai d'automation Word" oWord.Visible = True
Set oDoc = oWord.Documents.Add()
With oWord.Selection .Font.Name = "Arial" .Font.Size = "18" .TypeText "Bonjour depuis VBScript ! " .TypeParagraph() End With ' ... -----------------------------------------------
Le script peut se poursuivre avec une fusion-publipostage, l'enregistrement ou l'impression du document puis la fermeture de Word...
Anacoluthe « La connaissance des mots conduit à la connaissance des choses. » - PLATON
Bonjour !
'Youri Ligotmi' nous a écrit ...
J'utilise le vbscript
Je n'y connais rien en vba
??? mais c'est quasiment la même chose !!!
C'est juste une question d'objets
Voici un script VBS qui lance Word, crée un document et écrit qqch dedans :
-----------------------------------------------
Set oWord = CreateObject("Word.Application")
oWord.Caption = "Essai d'automation Word"
oWord.Visible = True
Set oDoc = oWord.Documents.Add()
With oWord.Selection
.Font.Name = "Arial"
.Font.Size = "18"
.TypeText "Bonjour depuis VBScript ! "
.TypeParagraph()
End With
' ...
-----------------------------------------------
Le script peut se poursuivre avec une fusion-publipostage, l'enregistrement
ou l'impression du document puis la fermeture de Word...
Anacoluthe
« La connaissance des mots conduit à la connaissance des choses. »
- PLATON
??? mais c'est quasiment la même chose !!! C'est juste une question d'objets
Voici un script VBS qui lance Word, crée un document et écrit qqch dedans : ----------------------------------------------- Set oWord = CreateObject("Word.Application") oWord.Caption = "Essai d'automation Word" oWord.Visible = True
Set oDoc = oWord.Documents.Add()
With oWord.Selection .Font.Name = "Arial" .Font.Size = "18" .TypeText "Bonjour depuis VBScript ! " .TypeParagraph() End With ' ... -----------------------------------------------
Le script peut se poursuivre avec une fusion-publipostage, l'enregistrement ou l'impression du document puis la fermeture de Word...
Anacoluthe « La connaissance des mots conduit à la connaissance des choses. » - PLATON
Youri Ligotmi
Bonjour !
'Youri Ligotmi' nous a écrit ...
J'utilise le vbscript Je n'y connais rien en vba
??? mais c'est quasiment la même chose !!! C'est juste une question d'objets
Voici un script VBS qui lance Word, crée un document et écrit qqch dedans : ----------------------------------------------- Set oWord = CreateObject("Word.Application") oWord.Caption = "Essai d'automation Word" oWord.Visible = True
Set oDoc = oWord.Documents.Add()
With oWord.Selection .Font.Name = "Arial" .Font.Size = "18" .TypeText "Bonjour depuis VBScript ! " .TypeParagraph() End With ' ... -----------------------------------------------
Le script peut se poursuivre avec une fusion-publipostage, l'enregistrement ou l'impression du document puis la fermeture de Word...
Merci de ces renseignements. Une question? Est-il techniquement possible via un script d'ouvrir un document word (document maitre), d'y effectuer quelques chercher-remplacer dont les paramètres seront passés par le script principal, de lancer l'impression sur l'imprimante par défaut et de fermer le document sans l'enregistrer? Si oui je vais chercher comment faire grâce aux liens donnés par geo.
Merci encore
Bonjour !
'Youri Ligotmi' nous a écrit ...
J'utilise le vbscript
Je n'y connais rien en vba
??? mais c'est quasiment la même chose !!!
C'est juste une question d'objets
Voici un script VBS qui lance Word, crée un document et écrit qqch dedans :
-----------------------------------------------
Set oWord = CreateObject("Word.Application")
oWord.Caption = "Essai d'automation Word"
oWord.Visible = True
Set oDoc = oWord.Documents.Add()
With oWord.Selection
.Font.Name = "Arial"
.Font.Size = "18"
.TypeText "Bonjour depuis VBScript ! "
.TypeParagraph()
End With
' ...
-----------------------------------------------
Le script peut se poursuivre avec une fusion-publipostage, l'enregistrement
ou l'impression du document puis la fermeture de Word...
Merci de ces renseignements. Une question?
Est-il techniquement possible via un script d'ouvrir un document word
(document maitre), d'y effectuer quelques chercher-remplacer dont les
paramètres seront passés par le script principal, de lancer l'impression
sur l'imprimante par défaut et de fermer le document sans l'enregistrer?
Si oui je vais chercher comment faire grâce aux liens donnés par geo.
??? mais c'est quasiment la même chose !!! C'est juste une question d'objets
Voici un script VBS qui lance Word, crée un document et écrit qqch dedans : ----------------------------------------------- Set oWord = CreateObject("Word.Application") oWord.Caption = "Essai d'automation Word" oWord.Visible = True
Set oDoc = oWord.Documents.Add()
With oWord.Selection .Font.Name = "Arial" .Font.Size = "18" .TypeText "Bonjour depuis VBScript ! " .TypeParagraph() End With ' ... -----------------------------------------------
Le script peut se poursuivre avec une fusion-publipostage, l'enregistrement ou l'impression du document puis la fermeture de Word...
Merci de ces renseignements. Une question? Est-il techniquement possible via un script d'ouvrir un document word (document maitre), d'y effectuer quelques chercher-remplacer dont les paramètres seront passés par le script principal, de lancer l'impression sur l'imprimante par défaut et de fermer le document sans l'enregistrer? Si oui je vais chercher comment faire grâce aux liens donnés par geo.
Merci encore
Circé
Bonjour,
Le 24/09/2007, Youri Ligotmi
Do you look really kink ? Très drôle ton pseudo ! ;)) J'aime bien !
Circé http://faqword.free.fr
Bonjour,
Le 24/09/2007, Youri Ligotmi
Do you look really kink ?
Très drôle ton pseudo ! ;)) J'aime bien !
Do you look really kink ? Très drôle ton pseudo ! ;)) J'aime bien !
Circé http://faqword.free.fr
Anacoluthe
Bonjour !
'Youri Ligotmi' nous a écrit ...
Est-il techniquement possible via un script d'ouvrir un document word (document maitre), d'y effectuer quelques chercher-remplacer dont les paramètres seront passés par le script principal, de lancer l'impression sur l'imprimante par défaut et de fermer le document sans l'enregistrer? Si oui je vais chercher comment faire grâce aux liens donnés par geo.
Absolument ! La méthode est même très simple si vous n'êtes pas familiarisé avec le modèle objet Word (= les objets, les propriétés, les méthodes) : dans Word vous enregistrez une macro ('ENR' sur la barre d'état) qui fait tout ça puis vous copiez le code obtenu (Alt+F11) dans votre script VBS en y ajoutant partout les objets (Application, Document, etc) qui sont implicites dans le VBA Word.
Anacoluthe « La connaissance des mots conduit à la connaissance des choses. » - PLATON
Bonjour !
'Youri Ligotmi' nous a écrit ...
Est-il techniquement possible via un script d'ouvrir un document word
(document maitre), d'y effectuer quelques chercher-remplacer dont les
paramètres seront passés par le script principal, de lancer l'impression
sur l'imprimante par défaut et de fermer le document sans l'enregistrer?
Si oui je vais chercher comment faire grâce aux liens donnés par geo.
Absolument !
La méthode est même très simple si vous n'êtes pas familiarisé avec le
modèle objet Word (= les objets, les propriétés, les méthodes) :
dans Word vous enregistrez une macro ('ENR' sur la barre d'état) qui
fait tout ça puis vous copiez le code obtenu (Alt+F11) dans votre script VBS
en y ajoutant partout les objets (Application, Document, etc) qui sont
implicites dans le VBA Word.
Anacoluthe
« La connaissance des mots conduit à la connaissance des choses. »
- PLATON
Est-il techniquement possible via un script d'ouvrir un document word (document maitre), d'y effectuer quelques chercher-remplacer dont les paramètres seront passés par le script principal, de lancer l'impression sur l'imprimante par défaut et de fermer le document sans l'enregistrer? Si oui je vais chercher comment faire grâce aux liens donnés par geo.
Absolument ! La méthode est même très simple si vous n'êtes pas familiarisé avec le modèle objet Word (= les objets, les propriétés, les méthodes) : dans Word vous enregistrez une macro ('ENR' sur la barre d'état) qui fait tout ça puis vous copiez le code obtenu (Alt+F11) dans votre script VBS en y ajoutant partout les objets (Application, Document, etc) qui sont implicites dans le VBA Word.
Anacoluthe « La connaissance des mots conduit à la connaissance des choses. » - PLATON
Youri Ligotmi
Bonjour,
Le 24/09/2007, Youri Ligotmi
Do you look really kink ? Très drôle ton pseudo ! ;)) J'aime bien !
Circé http://faqword.free.fr
Et ma femme c'est Agathe Zeblouse!
Bonjour,
Le 24/09/2007, Youri Ligotmi
Do you look really kink ?
Très drôle ton pseudo ! ;)) J'aime bien !
Do you look really kink ? Très drôle ton pseudo ! ;)) J'aime bien !
Circé http://faqword.free.fr
Et ma femme c'est Agathe Zeblouse!
Youri Ligotmi
Bonjour !
'Youri Ligotmi' nous a écrit ...
Est-il techniquement possible via un script d'ouvrir un document word (document maitre), d'y effectuer quelques chercher-remplacer dont les paramètres seront passés par le script principal, de lancer l'impression sur l'imprimante par défaut et de fermer le document sans l'enregistrer? Si oui je vais chercher comment faire grâce aux liens donnés par geo.
Absolument ! La méthode est même très simple si vous n'êtes pas familiarisé avec le modèle objet Word (= les objets, les propriétés, les méthodes) : dans Word vous enregistrez une macro ('ENR' sur la barre d'état) qui fait tout ça puis vous copiez le code obtenu (Alt+F11) dans votre script VBS en y ajoutant partout les objets (Application, Document, etc) qui sont implicites dans le VBA Word.
J'ai donc fait une tentative, j'ai un problème avec le chercher/remplacer, surtout avec le remplacer. J'utilise la commande suivante : objDoc.Content.Find.Execute FindText="$nom", ReplaceWith=nom, Replace=wdReplaceAll
Où $nom est la chaîne que je veux remplacer par le contenu de la variable nom.
j'ai l'erreur suivante : "800A01C2, Nombre d'arguments ou affectation de propriété incorrects : 'Replace'"
J'ai beau chercher ce que ça veut dire je ne trouve pas.
Quelqu'un aurait une idée?
Merci d'avance
Phil
Bonjour !
'Youri Ligotmi' nous a écrit ...
Est-il techniquement possible via un script d'ouvrir un document word
(document maitre), d'y effectuer quelques chercher-remplacer dont les
paramètres seront passés par le script principal, de lancer
l'impression sur l'imprimante par défaut et de fermer le document sans
l'enregistrer?
Si oui je vais chercher comment faire grâce aux liens donnés par geo.
Absolument !
La méthode est même très simple si vous n'êtes pas familiarisé avec le
modèle objet Word (= les objets, les propriétés, les méthodes) :
dans Word vous enregistrez une macro ('ENR' sur la barre d'état) qui
fait tout ça puis vous copiez le code obtenu (Alt+F11) dans votre script
VBS
en y ajoutant partout les objets (Application, Document, etc) qui sont
implicites dans le VBA Word.
J'ai donc fait une tentative, j'ai un problème avec le
chercher/remplacer, surtout avec le remplacer. J'utilise la commande
suivante :
objDoc.Content.Find.Execute FindText="$nom", ReplaceWith=nom,
Replace=wdReplaceAll
Où $nom est la chaîne que je veux remplacer par le contenu de la
variable nom.
j'ai l'erreur suivante : "800A01C2, Nombre d'arguments ou affectation de
propriété incorrects : 'Replace'"
J'ai beau chercher ce que ça veut dire je ne trouve pas.
Est-il techniquement possible via un script d'ouvrir un document word (document maitre), d'y effectuer quelques chercher-remplacer dont les paramètres seront passés par le script principal, de lancer l'impression sur l'imprimante par défaut et de fermer le document sans l'enregistrer? Si oui je vais chercher comment faire grâce aux liens donnés par geo.
Absolument ! La méthode est même très simple si vous n'êtes pas familiarisé avec le modèle objet Word (= les objets, les propriétés, les méthodes) : dans Word vous enregistrez une macro ('ENR' sur la barre d'état) qui fait tout ça puis vous copiez le code obtenu (Alt+F11) dans votre script VBS en y ajoutant partout les objets (Application, Document, etc) qui sont implicites dans le VBA Word.
J'ai donc fait une tentative, j'ai un problème avec le chercher/remplacer, surtout avec le remplacer. J'utilise la commande suivante : objDoc.Content.Find.Execute FindText="$nom", ReplaceWith=nom, Replace=wdReplaceAll
Où $nom est la chaîne que je veux remplacer par le contenu de la variable nom.
j'ai l'erreur suivante : "800A01C2, Nombre d'arguments ou affectation de propriété incorrects : 'Replace'"
J'ai beau chercher ce que ça veut dire je ne trouve pas.
Quelqu'un aurait une idée?
Merci d'avance
Phil
Geo
J'ai donc fait une tentative, j'ai un problème avec le chercher/remplacer, surtout avec le remplacer. J'utilise la commande suivante : objDoc.Content.Find.Execute FindText="$nom", ReplaceWith=nom, Replace=wdReplaceAll
Pour des paramètres nommés, les valeurs sont affectées par : Donc plutôt
J'ai donc fait une tentative, j'ai un problème avec le chercher/remplacer, surtout avec
le remplacer. J'utilise la commande suivante :
objDoc.Content.Find.Execute FindText="$nom", ReplaceWith=nom, Replace=wdReplaceAll
Pour des paramètres nommés, les valeurs sont affectées par : Donc plutôt
J'ai donc fait une tentative, j'ai un problème avec le chercher/remplacer, surtout avec le remplacer. J'utilise la commande suivante : objDoc.Content.Find.Execute FindText="$nom", ReplaceWith=nom, Replace=wdReplaceAll
Pour des paramètres nommés, les valeurs sont affectées par : Donc plutôt
J'ai donc fait une tentative, j'ai un problème avec le chercher/remplacer, surtout avec le remplacer. J'utilise la commande suivante : objDoc.Content.Find.Execute FindText="$nom", ReplaceWith=nom, Replace=wdReplaceAll
Pour des paramètres nommés, les valeurs sont affectées par : > Donc plutôt
Merci mais si je rajoute les ":" j'obtiens une erreur :
800A0400 Instruction attendue
Je précise qu'il s'agit d'un vbs et pas d'un vba
Merci encore pour votre aide
J'ai donc fait une tentative, j'ai un problème avec le
chercher/remplacer, surtout avec le remplacer. J'utilise la commande
suivante :
objDoc.Content.Find.Execute FindText="$nom", ReplaceWith=nom,
Replace=wdReplaceAll
Pour des paramètres nommés, les valeurs sont affectées par : > Donc plutôt
J'ai donc fait une tentative, j'ai un problème avec le chercher/remplacer, surtout avec le remplacer. J'utilise la commande suivante : objDoc.Content.Find.Execute FindText="$nom", ReplaceWith=nom, Replace=wdReplaceAll
Pour des paramètres nommés, les valeurs sont affectées par : > Donc plutôt
Merci mais si je rajoute les ":" j'obtiens une erreur :
800A0400 Instruction attendue
Je précise qu'il s'agit d'un vbs et pas d'un vba
Merci encore pour votre aide
Anacoluthe
Bonjour !
'Youri Ligotmi' nous a écrit ...
Je précise qu'il s'agit d'un vbs et pas d'un vba
Utilisez la forme exacte de la méthode VBA avec ses parenthèses objet.méthode(arg1,arg2,arg3) au besoin en omettant les arguments facultatifs objet.méthode(arg1,,arg3)
N'utilisez pas les constantes non référencées dans VBS !!! exemple argument Replace:=wdReplaceAll Comment VBS peut-il compiler wdReplaceAll ???? wdReplaceAll est égal à 2 (facile à retrouver dans vba) donc utilisez l'argument 2
Le moteur c'est l'application Word. VBS ne fait rien que piloter. Vous devez écrire et tester votre programme dans Word. Ensuite la transposition dans VBS n'est guère compliquée. Si ça vous gonfle de faire la réécriture le plus simple est de lancer la macro vba toute faite dans Word depuis votre script (le script ouvre un document qui contient la macro puis fait exécuter cette macro)
Anacoluthe « La connaissance des mots conduit à la connaissance des choses. » - PLATON
Bonjour !
'Youri Ligotmi' nous a écrit ...
Je précise qu'il s'agit d'un vbs et pas d'un vba
Utilisez la forme exacte de la méthode VBA avec ses parenthèses
objet.méthode(arg1,arg2,arg3)
au besoin en omettant les arguments facultatifs objet.méthode(arg1,,arg3)
N'utilisez pas les constantes non référencées dans VBS !!!
exemple argument Replace:=wdReplaceAll
Comment VBS peut-il compiler wdReplaceAll ????
wdReplaceAll est égal à 2 (facile à retrouver dans vba)
donc utilisez l'argument 2
Le moteur c'est l'application Word. VBS ne fait rien que piloter.
Vous devez écrire et tester votre programme dans Word.
Ensuite la transposition dans VBS n'est guère compliquée. Si ça vous gonfle
de faire la réécriture le plus simple est de lancer la macro vba
toute faite dans Word depuis votre script (le script ouvre un document
qui contient la macro puis fait exécuter cette macro)
Anacoluthe
« La connaissance des mots conduit à la connaissance des choses. »
- PLATON
Utilisez la forme exacte de la méthode VBA avec ses parenthèses objet.méthode(arg1,arg2,arg3) au besoin en omettant les arguments facultatifs objet.méthode(arg1,,arg3)
N'utilisez pas les constantes non référencées dans VBS !!! exemple argument Replace:=wdReplaceAll Comment VBS peut-il compiler wdReplaceAll ???? wdReplaceAll est égal à 2 (facile à retrouver dans vba) donc utilisez l'argument 2
Le moteur c'est l'application Word. VBS ne fait rien que piloter. Vous devez écrire et tester votre programme dans Word. Ensuite la transposition dans VBS n'est guère compliquée. Si ça vous gonfle de faire la réécriture le plus simple est de lancer la macro vba toute faite dans Word depuis votre script (le script ouvre un document qui contient la macro puis fait exécuter cette macro)
Anacoluthe « La connaissance des mots conduit à la connaissance des choses. » - PLATON