Probleme avec wdLastRecord
Bonjour,
je souhaite faire un mailMerge en VBScript et malgres quelque probleme cela marche maintenant :)
Seulement voila je souaiterai dans mon script connaitre le numero de la derniere ligne de mon datasource (afin de connaitre le nombre d'enregistrements) j'utilise donc la valeur wdLastRecord comme en VBA mais cela me retourne 1 meme si mon datasource possede plusieurs enregistrements, voici le code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
const cFolder = "c:\testfax\"
const cDocFile = "pfizer.doc"
const cScrFile = "elara.xls"
Function SiteComLog()
'********************************************************************************************************
' Open the Template document
Set wdo = CreateObject("Word.Application")
If wdo Is Nothing Then
WScript.Echo "Error: Cannot create Word document. MS Word " + "MS Word is not available! Quiting..."
WScript.Quit 2
End If
Set wdocs = wdo.Documents
Set wdoc = wdocs.Open(cFolder & cDocFile)
'Open the dataSource
wdo.ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
wdo.ActiveDocument.MailMerge.OpenDataSource cFolder & cScrFile, 0, False, True, False, False, "", "", False, "", "",_
"DSN=Text Files;DBQ=" & cFolder & ";DefaultDir=" & cFolder & ";DriverId=27;MaxBufferSize=2048;PageTimeout=5;", "SELECT * FROM `Sheet1$`", ""
With wdo.ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
.DataSource.ActiveRecord = wdLastRecord
iLastRecord = .DataSource.ActiveRecord
.DataSource.ActiveRecord = wdFirstRecord
iFirstRecord = .DataSource.ActiveRecord
WScript.Echo "First: " & iFirstRecord
WScript.Echo "Last: " & iLastRecord
End With
End Function
' ***********************************************
' main
Call SiteComLog() |
Je me demandais si l'erreur vient du VBA/VBScript (la difference etant obscure pour moi). Quelqu'un peut il le tester avec un datasource de plusieur lignes ?
merci