Re: Mail Merging in MSWord from Within Javascript
"North Country Boy" <kmcgregor@fastmail.fm> wrote in message
news:681286b3.0311200325.5905f0a2@posting.google.c om...[color=blue]
> Hi
>
> I'm trying to run the mail merge operation in MS Word from within
> Javascript. I've already done this in VB but I'm having problems
> trying to do the same thing in Javascript. First I am trying to create
> a textfile which is the datasource for the mail merge process, then
> I'm trying to run Word and mail merge.
>
> The code I am trying to use in Javascript is:
>
> var objFSO = new ActiveXObject( "Scripting.FileSystemObject" );
> var objTextFile = objFSO.CreateTextFile("C:\temp", true);[/color]
In JScript, you have to escape backslash. Put:
var objTextFile = objFSO.CreateTextFile("C:\\temp", true);
[color=blue]
> var MergeTags = "Title|Forename|Surname";
> var MergeData = "TestTitle|TestForename|TestSurname";
>
> objTextFile.writeline (MergeTags);
> objTextFile.writeline (MergeData);
> objTextFile.Close;[/color]
Should be objTextFile.Close();
[color=blue]
> var FName = "C:\Development\ATOFina\CBS\Templates\Course.d oc";[/color]
Should be \\ instead of \.
[color=blue]
> var objWordDoc = objWordApp.Documents.Open(Filename:=FName);[/color]
This is wrong. Since Open method of Documents property looks:
..Open(FileName, ConfirmConversions, ReadOnly, AddToRecentFiles,
PasswordDocument, PasswordTemplate, Revert, WritePasswordDocument,
WritePasswordTemplate, Format, Encoding, Visible)
you have to write:
var objWordDoc = objWordApp.Documents.Open(FName);
(if you pass FName only, of course). If you want to pass FileName and
ReadOnly parameters, you will have to write:
var objWordDoc = objWordApp.Documents.Open(FName,undefined,false);
[color=blue]
> objWordDoc.MailMerge.OpenDataSource(Name:="C:\temp \merge.dat",[/color]
Same thing.
[color=blue]
> objWordDoc.MailMerge.Execute;[/color]
Should be: objWordDoc.MailMerge.Execute();
[color=blue]
> objWordApp.Options.DefaultFilePath(Path:=wdDocumen tsPath) = "C:\temp";[/color]
Wrong.
[color=blue]
> objWordDoc.Select;
> objWordDoc.Close;
> objWordMerged.Select;[/color]
objWordDoc.Select();
objWordDoc.Close();
objWordMerged.Select();
Vjekoslav |