?
Solved

Microsoft Word Create Nested table within a table

Posted on 2008-06-24
4
Medium Priority
?
1,848 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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 2000 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

Ransomware: The New Cyber Threat & How to Stop It

This infographic explains ransomware, type of malware that blocks access to your files or your systems and holds them hostage until a ransom is paid. It also examines the different types of ransomware and explains what you can do to thwart this sinister online threat.  

Question has a verified solution.

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

In Part II of this series, I will discuss how to identify all open instances of Excel and enumerate the workbooks, spreadsheets, and named ranges within each of those instances.
Microsoft Access is a place to store data within tables and represent this stored data using multiple database objects such as in form of macros, forms, reports, etc. After a MS Access database is created there is need to improve the performance and…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
In Microsoft Access, when working with VBA, learn some techniques for writing readable and easily maintained code.
Suggested Courses

777 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