Solved

Microsoft Word Create Nested table within a table

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

Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

Question has a verified solution.

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

Suggested Solutions

Introduction When developing Access applications, often we need to know whether an object exists.  This article presents a quick and reliable routine to determine if an object exists without that object being opened. If you wanted to inspect/ite…
Introduction The Visual Basic for Applications (VBA) language is at the heart of every application that you write. It is your key to taking Access beyond the world of wizards into a world where anything is possible. This article introduces you to…
Familiarize people with the process of utilizing SQL Server views from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Access…
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…

914 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

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now