Solved

Microsoft Word Create Nested table within a table

Posted on 2008-06-24
4
1,843 Views
Last Modified: 2013-11-27
newtbl = wrdDoc.Tables.Add(wrdRow.Cells(z), 2, 3)
see the above line in the code snippet.

I am trying to create a 2 column x 3 row table nested in a cell using Microsoft Access and this attempt returns Type mismatch err 13.

How can I create a table inside a table in the context of the code provided?
I'm stuck..
Thanks!
'ITEMS AND SALES ARRIVE TO THIS FUNCTION
 
    Dim wrdApp  As Word.Application
    Dim wrdDoc  As Word.Document
    Dim wrdTbl  As Word.Table
    Dim wrdRow  As Word.Row
 
  
    
    strTmp = CurrentProject.Path & "\Sales-Sheet-Tailsheet.doc"
    strTail = "C:\SALEDB\DocPrep\TailSheet.doc"
        FileCopy strTmp, strTail
    Set wrdApp = New Word.Application
    Set wrdDoc = wrdApp.Documents.Open(strTail)
    Set wrdTbl = wrdDoc.Tables(1)
 
    
    'wrdTbl.Rows.Add
    Set wrdRow = wrdTbl.Rows.Last
    wrdRow.Cells.Add
    wrdRow.Cells.Add
    wrdRow.Cells.Add
    wrdRow.Cells.Add
    wrdRow.Cells.Add
    wrdRow.Cells.Add
    wrdRow.Cells.Add
    
 
            If bldghandled = False Then
            building_fields = "SQFT:USETYPETEXT"
            building_count = 2
            'merge cells
            wrdRow.Cells(z).Merge wrdRow.Cells(z + 1)
            'add table
            newtbl = wrdDoc.Tables.Add(wrdRow.Cells(z), 2, 3)
            
     
            End If
    
 
Set wrdDoc = Nothing
 
 
'close the word doc
wrdApp.Quit True  'true is for saving changes
 
Set wrdApp = Nothing

Open in new window

0
Comment
Question by:KeithMcElroy
  • 3
4 Comments
 
LVL 27

Expert Comment

by:MikeToole
ID: 21863622
WHich statement triggers the error?
0
 
LVL 27

Expert Comment

by:MikeToole
ID: 21863651
The posted code doesn't include the declarations of any of the variables in the attached snippet - important information for a Type mismatch error!
            If bldghandled = False Then
            building_fields = "SQFT:USETYPETEXT"
            building_count = 2
            'merge cells
            wrdRow.Cells(z).Merge wrdRow.Cells(z + 1)
            'add table
            newtbl = wrdDoc.Tables.Add(wrdRow.Cells(z), 2, 3)
            
     
            End If

Open in new window

0
 
LVL 27

Accepted Solution

by:
MikeToole earned 500 total points
ID: 21864149
<            newtbl = wrdDoc.Tables.Add(wrdRow.Cells(z), 2, 3)>
This line needs to be:
            set newtbl = wrdDoc.Tables.Add(wrdRow.Cells(z).Range, 2, 3)
However, using Office 2007 I found that only one row was inserted in the new table no matter what is specified in the NumRows parameter. To get two rows, add this statement:
            newtbl.row.add
0
 

Author Closing Comment

by:KeithMcElroy
ID: 31470415
Awesome.  I appreciate the help.  Worked beautifully!
0

Featured Post

The Eight Noble Truths of Backup and Recovery

How can IT departments tackle the challenges of a Big Data world? This white paper provides a roadmap to success and helps companies ensure that all their data is safe and secure, no matter if it resides on-premise with physical or virtual machines or in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When you are entering numbers in a speadsheet, and don't remember what 6×7 is, you just type “=6*7" instead. It works in every cell! This is not so in Access. To enter the elusive 42 in a text box, you have to find a calculator, and then copy the re…
As tax season makes its return, so does the increase in cyber crime and tax refund phishing that comes with it
Basics of query design. Shows you how to construct a simple query by adding tables, perform joins, defining output columns, perform sorting, and apply criteria.
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

789 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question