Solved

Access 2003 VBA to Duplicate a MS Word Table

Posted on 2014-04-26
5
1,242 Views
Last Modified: 2014-04-27
Dear Experts,

I am using Access 2003 to design a Solution where I required to click a command button from Access Form to transfer a recordset to an opened Word Document.

Assuming in the opened Word Document already contained a single template table(1), but if I need to programmatically create a second table(2) based on the template table(1), the copied table(2) should be located under the template table(1) in the same Word Document Page separated by a single paragraph, how do I do it?

I hv no problem transferring the Access recordset into the table(1), I just need the vba code to duplicate an extra table from template table in same Word page if needed.

Thanks in advance.
0
Comment
Question by:kaysoo
  • 2
  • 2
5 Comments
 
LVL 39

Accepted Solution

by:
thenelson earned 300 total points
ID: 40025044
If I understand you correctly.

To copy the table:
    Selection.Tables(1).Select
    Selection.Copy

Then move to where you want to paste the copy. One move example:
    Selection.MoveDown Unit:=wdLine, Count:=1

Then paste what you copied:
    Selection.PasteAndFormat (wdPasteDefault)
0
 

Author Comment

by:kaysoo
ID: 40025370
Tq for your reply Mr thenelson, yes you understand my request for help correctly.

I tried your code, there are no syntax error but the Table wasn't copied and pasted as planned too, then MS Access 2003 pop up a message saying "OBJECT REQUIRE".

What is that means?

I attached a sample document for ref and the coding as well.

Private Sub Command96_Click()
On Error GoTo Err_Command96_Click

   
Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim wd As Object
   
    Set wd = CreateObject("Word.Application")
    Set mydoc = wd.Documents.Open("C:\Program Files\Test.docx")
    Set db = CurrentDb()
    wd.Visible = True
     
    'To copy the table:
    Selection.Tables(1).Select
    Selection.Copy
   
    'Then move to where you want to paste the copy. One move example:
    Selection.MoveDown Unit:=wdLine, Count:=100
       
       
    'Then paste what you copied:
    Selection.PasteAndFormat (wdPasteDefault)
   
   
   
Exit_Command96_Click:
    Exit Sub

Err_Command96_Click:
    MsgBox Err.Description
    Resume Exit_Command96_Click
End Sub
Sample-Word-Doc.jpg
0
 
LVL 48

Assisted Solution

by:Rgonzo1971
Rgonzo1971 earned 200 total points
ID: 40025607
Hi,

pls try

Const wdLine = 5
Const wdPasteDefault = 0
    Set wd = CreateObject("Word.Application")
    Set mydoc = wd.Documents.Open("C:\Program Files\Test.docx")
    Set db = CurrentDb()
    wd.Visible = True
      
    'To copy the table:
    wd.Selection.Tables(1).Select
    wd.Selection.Copy
    
    'Then move to where you want to paste the copy. One move example:
    wd.Selection.MoveDown Unit:=wdLine, Count:=100
        
        
    'Then paste what you copied:
    wd.Selection.PasteAndFormat (wdPasteDefault)

Open in new window

Regards
0
 

Author Closing Comment

by:kaysoo
ID: 40025968
Thanks guys, both of your advice gave me a big help with some slight modification of my own.

'To copy the table:
    wd.Selection.Tables(1).Select
    wd.Selection.Copy

Changed to:

'To copy the table:
    mydoc.Tables(1).Select
    wd.Selection.Copy

the rest of the codes were combination from both comments and it copy and paste as intended.

Thanks again.
0
 
LVL 39

Expert Comment

by:thenelson
ID: 40025998
Your welcome, glad I could help.
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

This article is a continuation or rather an extension from Cascading Combos (http://www.experts-exchange.com/A_5949.html) and builds on examples developed in detail there. It should be understandable alone, but I recommend reading the previous artic…
I originally created this report in Crystal Reports 2008 where there is an option to underlay sections. I initially came across the problem in Access Reports where I was unable to run my border lines down through the entire page as I was using the P…
Familiarize people with the process of utilizing SQL Server stored procedures 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 Micr…
Using Microsoft Access, learn some simple rules for how to construct tables in a relational database. Split up all multi-value fields into single values: Split up fields that belong to other things into separate tables: Make sure that all record…

757 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

22 Experts available now in Live!

Get 1:1 Help Now