• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1860
  • Last Modified:

Microsoft Word Create Nested table within a table

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
KeithMcElroy
Asked:
KeithMcElroy
  • 3
1 Solution
 
MikeTooleCommented:
WHich statement triggers the error?
0
 
MikeTooleCommented:
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
 
MikeTooleCommented:
<            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
 
KeithMcElroyAuthor Commented:
Awesome.  I appreciate the help.  Worked beautifully!
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now