7/8/2025 5:29:02 PM
|
|
slxdeveloper.com Community Forums |
|
|
|
The Forums on slxdeveloper.com are now retired. The forum archive will remain available for the time being. Thank you for your participation on slxdeveloper.com!
Forum to discuss writing script in Architect plugins for SalesLogix & general SalesLogix customization topics (for Windows client only). View the code of conduct for posting guidelines.
|
|
|
|
MS Word Mail Merge
Posted: 20 Aug 06 11:48 AM
|
fiogf49gjkf0d I search how to merge with microsoft vbscript functions (or saleslogix functions) |
|
|
|
Re: MS Word Mail Merge
Posted: 21 Aug 06 3:13 PM
|
fiogf49gjkf0d Hi,
you can create a Word Document as a COM-Object and insert text into it via VBScript. Maybe the short example below is helpful for your first steps ...
Short example:
'Including Script - Personal:opencrms_Microsoft_Constants 'Including Script - System:SLX Database Support
' the script "opencrms_Microsoft_Constants" contains the definitions of all Microsoft Office Constants, e.g wdCell, wdToggle and so on (if you need it, send me an email) option explicit
sub Main CreateWordMailMerge end sub
sub CreateWordMailMerge Dim objWord, objRange, objTable Dim sField, sTable, sWhere Dim sFirstname Dim i
' create Word as COM object set objWord = CreateObject("Word.Application")
' add a blank document and make Word visible objWord.Documents.Add objWord.Visible = TRUE
' fetch firstname of current contact from CONTACT table sField = "FIRSTNAME" sTable = "CONTACT" sWhere = "CONTACTID='" & Application.BasicFunctions.CurrentContactID & "'" sFirstname = GetField (sField, sTable, sWhere) If ErrorCheck(Application.Translator.Localize("Error fetching 'FIRSTNAME' in 'CreateWordMailMerge()':")) > 0 Then exit sub
with objWord.Selection ' enter 4 empty lines into the Word document for i = 1 to 4 .TypeParagraph next ' greetings to the contacts firstname into the Word document .TypeText "Hello " & trim(sFirstname) ' enter 2 carriage return into the Word document .TypeParagraph .TypeParagraph ' enter simple text into the Word document .TypeText "How are you?" ' enter 2 carriage return into the Word document again .TypeParagraph .TypeParagraph end with
' create a simple table with 2 row and 3 columns Set objRange = objWord.Selection.Range with objWord.ActiveDocument set objTable = .Tables.Add(objRange, 2, 3) '.... i have deleted all my formats end with
' insert data into the table with objWord.Selection .Font.Bold = wdToggle ' make the first cell bold .TypeText "Print it bold" .MoveRight wdCell ' move two cells forwards .MoveRight wdCell .Font.Bold = wdNone .TypeText "Now I am here.." .MoveRight wdCell end with
' set the printer properties With objWord.ActiveDocument.PageSetup .LineNumbering.Active = False .Orientation = wdOrientPortrait .TopMargin = objWord.CentimetersToPoints(2.5) .BottomMargin = objWord.CentimetersToPoints(2) .LeftMargin = objWord.CentimetersToPoints(2.5) .RightMargin = objWord.CentimetersToPoints(2.5) .Gutter = objWord.CentimetersToPoints(0) .HeaderDistance = objWord.CentimetersToPoints(1.25) .FooterDistance = objWord.CentimetersToPoints(1.25) .PageWidth = objWord.CentimetersToPoints(21) .PageHeight = objWord.CentimetersToPoints(29.7) .FirstPageTray = wdPrinterMiddleBin .OtherPagesTray = wdPrinterMiddleBin .SectionStart = wdSectionNewPage .OddAndEvenPagesHeaderFooter = False .DifferentFirstPageHeaderFooter = False .VerticalAlignment = wdAlignVerticalTop .SuppressEndnotes = False .MirrorMargins = False .TwoPagesOnOne = False .GutterPos = wdGutterPosLeft End With ' print the document objWord.PrintOut
' if you want to close Word, use ' objWord.Quit
'destroy the Word object set objWord = Nothing end sub
Best regards, Thomas |
|
|
| |
|
Re: MS Word Mail Merge
Posted: 22 Aug 06 2:57 PM
|
fiogf49gjkf0d Thanks Thomas for your script.
It works successfully and is very good.
|
|
|
|
Re: MS Word Mail Merge
Posted: 22 Aug 06 5:16 PM
|
fiogf49gjkf0d Hi Olivier,
no problem - you are welcome!
Ryan (you see, I don't reapeat my faux pas! ), thanks for sharing the script example!
Regards, Thomas |
|
|
| |
|
You can
subscribe to receive a daily forum digest in your
user profile. View the site code
of conduct for posting guidelines.
Forum RSS Feed - Subscribe to the forum RSS feed to keep on top of the latest forum activity!
|
|
|
|
|
|
|
|