A Microsoft Office (Excel, Word) forum. OfficeFrustration

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » OfficeFrustration forum » Microsoft Word » Tables
Site Map Home Register Authors List Search Today's Posts Mark Forums Read  

How to add a table using vb



 
 
Thread Tools Display Modes
  #1  
Old April 26th, 2008, 06:33 PM posted to microsoft.public.word.tables
accdev
external usenet poster
 
Posts: 16
Default How to add a table using vb

While in Access 2003 I've been generating data into a word (2003) template.
Up to now there has been only one table which is entered on the template.

Now my user wants me to break down his data by an AgencyOffice field and
have each office in their own table. There will be some totals after each
group. However, I'm not concerned with the totaling in this question. Nor
am I concerned about how to determine when to create a new table by keeping
track of the AgencyOffice field. What I need to know is how I go about
creating a new table with the attributes of the table that is already there.
Or maybe there is another way to do this? By the way, I usually know enough
about Access vb to do what I need to do, but I'm pretty ignorant about Word
vb.

I've only entered two fields below (there are several) but this is
essentially what I'm currently doing in Access.

Dim db As Database
Set db = DBEngine.Workspaces(0).Databases(0)
Dim wordobj As Object
Dim sTemplatename As String
sTemplatename = pubTemplateFolder & "AgencyBill.doc"
Set wrdobj = CreateObject("Word.application")
wrdobj.Documents.Add sTemplatename
Set rs = CurrentDb.OpenRecordset("WDBillData")
rs.MoveLast
rs.MoveFirst
' Write details info into table in Word Document
For inti = 0 To rs.RecordCount - 1
wrdobj.ActiveDocument.Tables(1).Cell(inti + 1, 2).Range =
Trim$(Left(rs.FullName.Value, 24) & "")
wrdobj.ActiveDocument.Tables(1).Cell(inti + 1, 4).Range =
Format(rs.amount.Value, "##0.00") & ""
rs.MoveNext
If rs.EOF Then Exit For
wrdobj.ActiveDocument.Tables(1).Rows.Add
Next
rs.Close
  #2  
Old April 26th, 2008, 10:04 PM posted to microsoft.public.word.tables
Doug Robbins - Word MVP
external usenet poster
 
Posts: 8,239
Default How to add a table using vb

To get the tables the same, it might be easier to write all of the data to
the one table and then include code to locate the rows that have the
AgencyOffice field in them and then split the table at that point (or add
the first row of data for the new AgencyOffice and then split the table at
that row, keeping track of the number of tables in the document and
incrementing the table index by one each time it is split.

--
Hope this helps.

Please reply to the newsgroup unless you wish to avail yourself of my
services on a paid consulting basis.

Doug Robbins - Word MVP

"accdev" wrote in message
...
While in Access 2003 I've been generating data into a word (2003)
template.
Up to now there has been only one table which is entered on the template.

Now my user wants me to break down his data by an AgencyOffice field and
have each office in their own table. There will be some totals after each
group. However, I'm not concerned with the totaling in this question.
Nor
am I concerned about how to determine when to create a new table by
keeping
track of the AgencyOffice field. What I need to know is how I go about
creating a new table with the attributes of the table that is already
there.
Or maybe there is another way to do this? By the way, I usually know
enough
about Access vb to do what I need to do, but I'm pretty ignorant about
Word
vb.

I've only entered two fields below (there are several) but this is
essentially what I'm currently doing in Access.

Dim db As Database
Set db = DBEngine.Workspaces(0).Databases(0)
Dim wordobj As Object
Dim sTemplatename As String
sTemplatename = pubTemplateFolder & "AgencyBill.doc"
Set wrdobj = CreateObject("Word.application")
wrdobj.Documents.Add sTemplatename
Set rs = CurrentDb.OpenRecordset("WDBillData")
rs.MoveLast
rs.MoveFirst
' Write details info into table in Word Document
For inti = 0 To rs.RecordCount - 1
wrdobj.ActiveDocument.Tables(1).Cell(inti + 1, 2).Range =
Trim$(Left(rs.FullName.Value, 24) & "")
wrdobj.ActiveDocument.Tables(1).Cell(inti + 1, 4).Range =
Format(rs.amount.Value, "##0.00") & ""
rs.MoveNext
If rs.EOF Then Exit For
wrdobj.ActiveDocument.Tables(1).Rows.Add
Next
rs.Close



 




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump


All times are GMT +1. The time now is 12:21 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 OfficeFrustration.
The comments are property of their posters.