cs_talras
Messages postés2Date d'inscriptionmercredi 6 juillet 2005StatutMembreDernière intervention 8 juillet 2005
-
6 juil. 2005 à 17:31
cs_talras
Messages postés2Date d'inscriptionmercredi 6 juillet 2005StatutMembreDernière intervention 8 juillet 2005
-
8 juil. 2005 à 09:13
Salut à tous,
Je débute en vbs et je souhaite pouvoir fusionner des données venant d'un fichier texte dans un modele word en .dot.
Voici mon code :
Dim source, p1, p2, p3, p4, p5
source = "c:\test.txt"
Call Main()
Sub Main()
CreateSource()
Wordprinting()
End Sub
Sub CreateSource()
Dim txt, titre
titre = "col1#col2#col3#col4#col5"
txt = p1 & "#" & p2 & "#" & p3 & "#" & p4 & "#" & p5
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Fic = FSO.CreateTextFile("c:\testvbs.txt", ForWriting, True)
Fic.Writeline titre
Fic.WriteLine txt
Fic.close
End Sub
Sub WordPrinting()
Set AppWord = CreateObject("Word.Application")
Set DocWord = AppWord.Documents.Open("c:\test.dot")
DocWord.MailMerge.OpenDataSource source
AppWord.Visible = True
End Sub
J'ai 2 problemes :
- le 1er je ne sais pas comment récuperer mes arguments (p1, p2 etc...) depuis l'execution du script
- le 2 eme : j'ai tjs une erreur de compilation sur la ligne Set AppWord = CreateObject("Word.Application") avec le message d'erreur : ClassFactory ne peut pas fournir la classe demandée.
quand je lance mon script je le fais de la facon suivante : cscript test.vbs p1 p2 p3 p4 p5
Pourriez vous m'aider, je ne sais pas où trouver l'info :(
CTAC
Messages postés133Date d'inscriptionmardi 24 décembre 2002StatutMembreDernière intervention 8 juin 20125 7 juil. 2005 à 00:08
Bonjour.
Voici une base. je ne peux rien de plus pour toi. je ne connais pas word et je ne dispose pas du dot.
Dim p, titre, txt, FSO, Fic, AppWord, DocWord
Set p = WScript.Arguments
titre = "col1#col2#col3#col4#col5"
txt = p(0) & "#" & p(1) & "#" & p(2) & "#" & p(3) & "#" & p(4)
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Fic = FSO.OpenTextFile("c:\testvbs.txt",2, True)
With Fic
.Writeline titre
.WriteLine txt
.Close
End With
Set AppWord = CreateObject("Word.Application")
Set DocWord = AppWord.Documents.Open("c:\testvbs.txt")
AppWord.Visible = True
Set DocWord = Nothing
Set AppWord = Nothing
Set Fic = Nothing
Set FSO = Nothing
Set p = Nothing