Solved

Microsoft Word Create Nested table within a table

Posted on 2008-06-24
4
1,844 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

Revamp Your Training Process

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action.

Question has a verified solution.

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

A simple tool to export all objects of two Access files as text and compare it with Meld, a free diff tool.
Access custom database properties are useful for storing miscellaneous bits of information in a format that persists through database closing and reopening.  This article shows how to create and use them.
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
Learn how to number pages in an Access report over each group. Activate two pass printing by referencing the pages property: Add code to the Page Footers OnFormat event to capture the pages as there occur for each group. Use the pages property to …

730 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