![]() |
#1
|
|||
|
|||
![]()
I am working on a VB.Net 2010 program using the Interop class.
We are having problems trying to duplicate a table more than 1 time to be put in the place we want. It is either merging it with the original table in the Word Doc or putting it into the next table. Is there a clean explanation on how a table can be duplicated 2-3 times? We are currently using functions as: WordApp.Selection.InsertAfter(MySepStr) ' not then it appends to the DevTable WordApp.Selection.MoveDown() ' Move down needed if not appends to origina table WordApp.Selection.Paste() ' Manual paste works without the move down this does not. It puts it in the next table |
#2
|
||||
|
||||
![]()
There are numerous ways of doing this. For example, in VBA:
Code:
Sub Demo() Dim Rng As Range With ActiveDocument Set Rng = .Tables(1).Range Rng.Collapse wdCollapseEnd Rng.FormattedText = .Tables(1).Range.FormattedText End With End Sub Code:
Sub Demo() Dim Rng As Range With ActiveDocument Set Rng = .Tables(1).Range Rng.Copy Rng.Collapse wdCollapseEnd Rng.Paste End With End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
#3
|
|||
|
|||
![]()
I implemented the code but it is still appending the table to the previous table. So Extending it not creating a brand new table which is what I want to do.
We are using VB.Net 2010 not VBA/VB6. So we are doing MyCopyFromRange = pCopyFromTable.Range ' pCopyFromTable is a parameter on the routine MyCopyFromRange.Copy MyCopyFromRange.Collapse(Word.WdCollapseDirection.wdCollapseEnd) MyCopyFromRange.Paste What does Collapse do? The previous technique I used worked on the first copy but not the second. (In the case I am working on it is trying to clone 2 tables). |
#4
|
||||
|
||||
![]()
Collapse, as its name suggests, collapses the range to either end - you can use wdCollapseStart or wdCollapseEnd.
Your previous post indicated the tables were being merged, which implied to me that one was being inserted into the other. What the code I posted does is to append the tables. If you want to insert the replicated content as a new table, you need to have an empty paragraph between them, which you could create with something like: Code:
Sub Demo() Dim Rng As Range With ActiveDocument Set Rng = .Tables(1).Range Rng.Collapse wdCollapseEnd Rng.FormattedText = .Tables(1).Range.FormattedText Rng.Tables(1).Split Rng.Rows(1) End With End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
![]() |
Tags |
.net, table |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
![]() |
anurag.butoliya | Word | 1 | 06-14-2014 06:27 PM |
![]() |
JRW1015 | Word | 3 | 08-13-2013 04:57 PM |
![]() |
bloodge1 | Word Tables | 3 | 08-28-2012 10:11 PM |
Outlook 2010 duplicate email folders | randolsgm1 | Outlook | 1 | 07-19-2011 05:48 PM |
![]() |
pln@dlf.org | Outlook | 1 | 06-06-2011 11:45 AM |