Welcome To The Home Of The Visual FoxPro Experts  
home. signup. forum. archives. search. google. articles. downloads. faq. members. weblogs. file info. rss.
 From: Ken Murphy
  Where is Ken Murphy?
 Springhill
 Canada
 Ken Murphy
 To: Alexander de Rooij
  Where is Alexander de Rooij?
 Tilburg
 Netherlands
 Alexander de Rooij
 Tags
Subject: RE: Syntax error with Word 2007 automation
Thread ID: 143298 Message ID: 143324 # Views: 2 # Ratings: 0
Version: Visual FoxPro 9 Category: Microsoft Office Automation
Date: Monday, August 27, 2007 9:17:08 PM         
   


> >
> >
> > That's VBA code. In VBA code parameters are named ( ie: NumColumns:=5 means NumColumns parameter value is 5 ). However in VFP you need to use positional parameters. Also you need to either have the header file for constants or write their numeric values (ie: wdWord9TableBehavior is 1, wdAutoFitFixed value is 0 )
> >
> > From word VBA help file full syntax is:
> >
> > expression.Add(Range, NumRows, NumColumns, DefaultTableBehavior, AutoFitBehavior)
> >
> > So you need to write:
> >
> > #DEFINE wdWord9TableBehavior 1
> > #DEFINE wdAutoFitFixed 0
> >
> > oWord.ActiveDocument.Tables.Add(oWord.Selection.Range, 2,5,wdWord9TableBehavior, wdAutoFitFixed)
> >
> > Here is 2 sample codes:
> >
> >
oword = CreateObject('Word.Application')
> > With oWord
> >  .Documents.Add
> >  .visible = .t.
> >  .activedocument.tables.add(oWord.Selection.range,2,5)
> > endwith	

> >
> >
> >
> >
#Define wdWithInTable  12
> > #Define wdStory  6
> > #Define wdTable  15
> > #Define wdCollapseEnd  0
> > #Define wdSeparateByCommas  2
> > #Define wdSeparateByParagraphs  0
> > #Define wdSeparateByTabs  1
> > #Define wdTableFormatColorful1  8
> > #Define wdTableFormatColorful2  9
> > #Define wdTableFormatColorful3  10
> > 
> > #Define CHR_TAB	chr(9)
> > #Define CHR_CR	chr(13)+chr(10)
> > Local loWord, lcMyTable
> > 
> > lcMyTable1 = "Parameters" + CHR_TAB + "Limit" + CHR_TAB + "Average" + CHR_CR ;
> >   + "Chlorine"   + CHR_TAB + "13.5"  + CHR_TAB + "10"      + CHR_CR ;
> >   + "Boron"      + CHR_TAB + "55.8"  + CHR_TAB + "45"      + CHR_CR
> > 
> > lcTempFile = sys(2015)+'.tmp'
> > Use employee
> > Copy fields First_name, last_name, Title ;
> >   to (lcTempFile) type delimited with TAB
> > lcMyHeader = chrtran('First Name,Last Name,Job Title',',',CHR_TAB)+CHR_CR
> > lcMyTable2=lcMyHeader+ChrTran(FileToStr(lcTempFile),'"','')
> > Erase (lcTempFile)
> > 
> > loWord   = newobject('word.application')
> > With loWord
> >   .Documents.Add()
> >   With .Selection
> >     .EndKey(wdStory)
> >     .InsertParagraphAfter()
> >   Endwith
> >   .ActiveDocument.Bookmarks.Add('StringTable') && Bookmark table positions
> >   With .Selection
> >     .EndKey(wdStory)
> >     .InsertParagraphAfter()
> >   Endwith
> >   .ActiveDocument.Bookmarks.Add('EmployeeTable')
> > 
> >   PutWordTable(loWord,lcMyTable2, 'EmployeeTable') && Add in reverse order - using bookmarks
> >   PutWordTable(loWord,lcMyTable1, 'StringTable')
> >   Clear
> >   .Visible = .t.
> > Endwith
> > 
> > Function PutWordTable
> >   Lparameters toWord, tcTable, tcBookmarkName
> >   With toWord.ActiveDocument
> >     .Bookmarks(tcBookmarkName).Select
> >     With .Application.Selection
> >       .Collapse(wdCollapseEnd)	&& Go to end of bookmark
> >       If .Information(wdWithInTable) && If we're in a table
> >         .MoveEnd(wdTable)
> >         .Collapse(wdCollapseEnd)	&& Get out of table
> >         .InsertParagraph()			&& Split table
> >         .Collapse(wdCollapseEnd)	&& Clear selection
> >       Endif
> >       .Text = tcTable
> >       loTable = .ConvertToTable(wdSeparateByTabs,,,,wdTableFormatColorful2,.f.,,,,,,.f.,,.f.)
> >       .Collapse(wdCollapseEnd)
> >     Endwith
> >   Endwith

> >
> > Cetin Basoz
>
> Thanks a lot Cetin, this explains a lot ......
>
> Alexander

Alexander,

If Cetin's reply was of value to you, perhaps you could take the time to give him a rating. Just click on his reply and then click the "rate this" link located at the bottom of the message header. When you give a rating, not only do you show appreciation, you also inform other members (who may be facing the same sort of issues) that Cetin's reply was of value to you and therefore could be of value to them.

Ken
You shall know the truth - and the truth shall set you free. (John 8:33)

ENTIRE THREAD

Syntax error with Word 2007 automation Posted by Alexander de Rooij @ 8/27/2007 3:30:31 PM
RE: Syntax error with Word 2007 automation Posted by Mike Gagnon @ 8/27/2007 4:16:42 PM
RE: Syntax error with Word 2007 automation Posted by Alexander de Rooij @ 8/27/2007 7:30:48 PM
RE: Syntax error with Word 2007 automation Posted by Cetin Basoz @ 8/27/2007 7:50:34 PM
RE: Syntax error with Word 2007 automation Posted by Alexander de Rooij @ 8/27/2007 9:14:26 PM
RE: Syntax error with Word 2007 automation Posted by Ken Murphy @ 8/27/2007 9:17:08 PM