Topic
Append many documents in a new one
Startseite ' Community ' Automation and VBA ' Append many documents in a new one
- Dieses Thema hat 4 Antworten sowie 2 Teilnehmer und wurde zuletzt vor vor 19 Jahren, 3 Monaten von Nicolas Beaupré aktualisiert.
-
AutorBeiträge
-
08.02.2006 um 02:08 Uhr #34962Nicolas BeaupréTeilnehmer
Hi,
Is there a way in VBA to append documents? (or pages) In Flexpro, I can open an empty document and, with drag and drop, I insert another existing document in the new one. It is added at the end of the open document. How may I do that in VBA?For example, in my application, I got a lot of small “report_x” document. I want to create a new document named “GlobalReport” wich is the sum of all the others document. After doing this, I’ll be able to edit the pages number of “GlobalReport” and print it alone.
Thanks!
08.02.2006 um 02:08 Uhr #34966Nicolas BeaupréTeilnehmerHi,
Is there a way in VBA to append documents? (or pages) In Flexpro, I can open an empty document and, with drag and drop, I insert another existing document in the new one. It is added at the end of the open document. How may I do that in VBA?For example, in my application, I got a lot of small “report_x” document. I want to create a new document named “GlobalReport” wich is the sum of all the others document. After doing this, I’ll be able to edit the pages number of “GlobalReport” and print it alone.
Thanks!
09.02.2006 um 02:10 Uhr #34963Bernhard KantzTeilnehmerIn FlexPro there is no method to append a document to another document.
But there is the possibility to select the shapes of the document. Then you can use the [b]Copy[/b] and the [b]Paste[/b] method.
Example:
[code]
Dim oSourceDoc As Document
Dim oDestDoc As Document
Dim i As IntegerSet oSourceDoc = ActiveDatabase.RootFolder.Object(“Doc1”, fpObjectTypeDocument)
Set oDestDoc = ActiveDatabase.RootFolder.Object(“Doc2”, fpObjectTypeDocument)Dim oPage As Shapes
Set oPage = oSourceDoc.Pages(1)
For i = 1 To oPage.Count
oSourceDoc.Select
oSourceDoc.Selection.Collapse
oPage.Item(i).Select
oSourceDoc.Selection.Copy
oDestDoc.Select
oDestDoc.Selection.Paste
oDestDoc.Selection.Collapse
Next i
[/code]10.02.2006 um 00:20 Uhr #34964Nicolas BeaupréTeilnehmerThanks for the code! It works, but I had to add these lines :[code] oSourceDoc.Select
[b]oSourceDoc.Open = True[/b]
oSourceDoc.Selection.Collapse
oPage.Item(i).Select
oSourceDoc.Selection.Copy
oDestDoc.Select
[b]oDestDoc.Open = True[/b]
oDestDoc.Selection.Paste
oDestDoc.Selection.Collapse[/code]
Otherwise, the operations .Collapse and .Paste couldn’t work when the documents are closed.Also, this code copies the shapes in the first page of my document. Suppose I add a new page in the document [code]Dim oNewPage As Shapes
Set oNewPage = oSourceDoc.pages.Add[/code] How can I select the new page so the shape will be copied in it ?Thanks
10.02.2006 um 00:51 Uhr #34965Bernhard KantzTeilnehmerYou can use the methods [b]NextPage[/b] and [b]PreviousPage[/b] of a DocObjectSelection object.
[code]
oDestDoc.Selection.PreviousPage
oDestDoc.Selection.NextPage
[/code] -
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.