#INCLUDE word10.h LPARAMETERS liContactID , llDoPrint , llClose, llShow IF EMPTY(liContactID) liContactID= 97088 ENDIF SET MEMOWIDTH TO 1024*8 LOCAL lcFlags ,; lcTasks ,; lcBio ,; lcPhones ,; lnPhotos,; lcDossierFileName as Character ** word: LOCAL oWordDossier AS WORD.APPLICATION lcFlags = [] lcTasks = [] lcBio = [] lcPhones = [] lnPhotos = 0 =OpenTablesNeeded() llOK =GetContactData(liContactID) IF llOK lnNumEmployers = GetEmployerData() *** Photos DIMENSION laPhotoName [1] lnPhotos = GetPhotoData(liContactID ,@laPhotoName ) *** Phones lcPhones = NULL lnPhones = GetPhoneData(liContactID ,@lcPhones ) *** BIOmass lcBio = GetBioData(liContactID , llClose) *** events lcTasks = GetEventData(liContactID ) *** attributes lcFlags = GetAttributeData(liContactID ) ***** ***** ***** ***** ***** ***** ***** *** NOW CREATE THE DOSIIER DOCUMENT ***** ***** ***** ***** ***** ***** ***** *!* TRY *!* oWordDossier=GETOBJECT(,"word.application") && get word object *!* CATCH oWordDossier=CREATEOBJECT("word.application") && Create word object *!* FINALLY *!* ENDTRY WITH oWordDossier *** Changed: PAC 10/30/09 17:56:43 *** .VISIBLE= llDoPrint .VISIBLE= NOT EMPTY(llShow) *** /// oDoc= .Documents.ADD() lcDossierFileName=[DocDir\Bios\Dossier_]+TRANSFORM(ccContact.CONTACT_ID)+[.doc] TRY .ActiveDocument.SAVEAS(FULLPATH(lcDossierFileName)) CATCH MESSAGEBOX("This document must be already open, Word cannot save it ",16,"Word Error",20000) FINALLY ENDTRY UPDATE CONTACTS SET dossier=lcDossierFileName WHERE CONTACT_ID=ccContact.CONTACT_ID oRange=oDoc.RANGE() IF lnPhotos>0 && NOT EMPTY(lcPhotoName) AND FILE(lcPhotoName) .ActiveDocument.TABLES.ADD (.SELECTION.RANGE, 1, 3,.T., .F.) WITH .SELECTION.TABLES(1) .STYLE = "Table Grid" .ApplyStyleHeadingRows = .T. .ApplyStyleLastRow = .T. .ApplyStyleFirstColumn = .T. .ApplyStyleLastColumn = .T. ENDWITH * IF lnPhotos>0 FOR I2 = 1 TO lnPhotos IF FILE(laPhotoName[m.I2]) TRY oPic=.SELECTION.InlineShapes.AddPicture(laPhotoName[m.I2] ,.F., .T.) oPic.scaleHeight=MIN(oPic.scaleHeight,100) oPic.scaleWidth=MIN(oPic.scaleWidth,100) CATCH FINALLY ENDTRY .SELECTION.MoveRight(wdCell) ENDIF ENDFOR ENDIF ENDIF ** CONTACT Name: ************************************************** .SELECTION.EndKey(wdStory) .SELECTION.TypeParagraph *.SELECTION.FONT.Bold = wdToggle .SELECTION.FONT.SIZE = 14 IF NOT EMPTY(ccContact.FULLNAME) .SELECTION.TypeText(ALLTRIM(ccContact.FULLNAME)) ENDIF *.SELECTION.FONT.Bold = wdToggle .SELECTION.FONT.SIZE = 10 .SELECTION.EndKey(wdStory) .SELECTION.TypeParagraph IF NOT EMPTY(ccContact.PARENT_ID) .SELECTION.FONT.SIZE = 10 IF NOT EMPTY(ccContact2.COMPANY) .SELECTION.TypeText(ccContact2.COMPANY) .SELECTION.TypeParagraph ENDIF ENDIF .SELECTION.TypeParagraph IF NOT EMPTY(ccContact.HADDRESS) .SELECTION.FONT.SIZE = 10 .SELECTION.FONT.Bold = wdToggle .SELECTION.TypeText([------------ Address ------------]) .SELECTION.FONT.Bold = wdToggle .SELECTION.TypeParagraph .SELECTION.TypeText(ccContact.HADDRESS) ENDIF IF NOT EMPTY(ccContact.HCITY) .SELECTION.FONT.SIZE = 10 .SELECTION.TypeParagraph .SELECTION.TypeText(ALLTRIM(ccContact.HCITY)+", "+ccContact.HSTATE+" "+ccContact.HZIP) .SELECTION.TypeParagraph ENDIF IF NOT EMPTY(lcPhones) .SELECTION.FONT.Bold = wdToggle .SELECTION.TypeText([------------ Phones, emails etc. ------------]) .SELECTION.TypeParagraph .SELECTION.FONT.Bold = wdToggle .SELECTION.FONT.SIZE = 10 .SELECTION.TypeText(lcPhones) .SELECTION.TypeParagraph ENDIF IF NOT EMPTY(lcTasks) .SELECTION.FONT.Bold = wdToggle .SELECTION.TypeText([------------ Events Attended -----------]) .SELECTION.FONT.Bold = wdToggle .SELECTION.TypeParagraph .SELECTION.FONT.SIZE = 10 .SELECTION.TypeText(lcTasks) .SELECTION.TypeParagraph ENDIF IF NOT EMPTY(lcFlags ) .SELECTION.FONT.Bold = wdToggle .SELECTION.TypeText([------------ Attributes -----------]) .SELECTION.FONT.Bold = wdToggle .SELECTION.TypeParagraph .SELECTION.TypeText(lcFlags ) .SELECTION.TypeParagraph ENDIF IF NOT EMPTY(ccContact.NOTES ) .SELECTION.FONT.Bold = wdToggle .SELECTION.TypeText([------------ Notes -----------]) .SELECTION.FONT.Bold = wdToggle .SELECTION.TypeParagraph .SELECTION.TypeText(ccContact.NOTES) .SELECTION.TypeParagraph ENDIF IF NOT EMPTY(lcBio) .SELECTION.TypeText([------------ Biography -----------]) .Selection.InsertBreak(wdPageBreak) *!* .SELECTION.FONT.Bold = wdToggle *!* .SELECTION.FONT.Bold = wdToggle *!* .SELECTION.TypeParagraph *!* .SELECTION.TypeText(lcBio) .SELECTION.InsertFile(lcBio,"",.f.,.f.,.f.) .SELECTION.TypeParagraph ENDIF TRY .ActiveDocument.SAVE() IF NOT EMPTY(llClose) .ActiveDocument.CLOSE() .quit() ENDIF CATCH *** Changed: PAC 10/30/09 17:58:41 *** /// FINALLY oWordDossier = .NULL. ENDTRY ENDWITH ENDIF *** Changed: PAC 10/30/09 17:58:36 IF NOT EMPTY(llClose) RETURN (lcDossierFileName) ENDIF *** ///