Prev: VBA to save an image from the web
Next: Writing a macro to delete specific lines from a large Word document
From: Doug Robbins - Word MVP on 1 Apr 2010 17:43 How are the individual documents create and how are they named? There is no doubt that vba can be used to combine documents, if the individual documents that are to be combined can be identified. I can't imagine that creating 150 separate folders to hold each set of eight documents is the best way to go. -- Hope this helps. Please reply to the newsgroup unless you wish to avail yourself of my services on a paid consulting basis. Doug Robbins - Word MVP, originally posted via msnews.microsoft.com "robbieg" <robbieg(a)discussions.microsoft.com> wrote in message news:FE846F9A-D4C1-4FD7-BC6B-7273CA003C1B(a)microsoft.com... > Thank you Graham. Sorry to be unclear. > There are 150 sets of 8 documents to join together. Each document is 1 > page > long. They all use the same style sheet. So I would end up with 150 > (different) documents each being 8 pages long. > I can put the 8 single pages into the same directory. Then I would have > 150 > directories, each with 8 docs in. Is that a bit clearer?? > Thanks > > "Graham Mayor" wrote: > >> It should be possible provided you can identify a means whereby the macro >> can identify which eight documents are to be saved in which or the 150 >> files. >> Or do you simply want to make 150 copies of the *same* eight documents, >> in >> which case http://www.gmayor.com/Boiler.htm will join the documents into >> one >> file, then you can use the following macro to create 150 versions of it. >> You >> will need to change the path and filename lines >> >> sPath = "D:\My Documents\Test\Merge\" >> sFileName = "Filename >> >> to reflect the path and filename you wish to use. The filename will have >> (1) >> to (150) added in brackets before the extension. >> If you want to save in Word 2007 format change doc to docx. >> >> Sub Save150Copies() >> Dim i As Long >> Dim sFileName As String >> Dim sPath As String >> sPath = "D:\My Documents\Test\Merge\" >> sFileName = "Filename" >> With ActiveDocument >> For i = 1 To 150 >> .SaveAs sPath & sFileName & _ >> "(" & i & ").doc", _ >> Addtorecentfiles:=False >> Next i >> End With >> End Sub >> >> -- >> <>>< ><<> ><<> <>>< ><<> <>>< <>><<> >> Graham Mayor - Word MVP >> >> My web site www.gmayor.com >> Word MVP web site http://word.mvps.org >> <>>< ><<> ><<> <>>< ><<> <>>< <>><<> >> >> >> "robbieg" <robbieg(a)discussions.microsoft.com> wrote in message >> news:7FD33154-5326-47F1-8FD4-2C522885BEF2(a)microsoft.com... >> > Thank you Graham. I don't think your add-in does I am am needing >> > though. >> > >> > I want to do the equivalent of 'Insert File' , eight times; and I want >> > to >> > do >> > that 150 times. >> > >> > All the docs use the same style sheet - it is possible to concatenate >> > Word >> > documents? >> > >> > Thanks >> > >> > RobbieG >> > >> > >> > >> > "Graham Mayor" wrote: >> > >> >> See http://www.gmayor.com/individual_merge_letters.htm >> >> >> >> -- >> >> <>>< ><<> ><<> <>>< ><<> <>>< <>><<> >> >> Graham Mayor - Word MVP >> >> >> >> My web site www.gmayor.com >> >> Word MVP web site http://word.mvps.org >> >> <>>< ><<> ><<> <>>< ><<> <>>< <>><<> >> >> >> >> >> >> "robbieg" <robbieg(a)discussions.microsoft.com> wrote in message >> >> news:B977C37A-0C1E-4A68-AB18-C7BD48559C6D(a)microsoft.com... >> >> >I have about 150 sets of 8 single page word documents that I want to >> >> >merge >> >> > into single documents. Any ideas? >> >> > (i.e. I will end of with 150 documents each with 8 pages). >> >> > >> >> > Thanks >> >> > >> >> >> >> >> >> . >> >> >> >> >> . >>
From: Fumei2 via OfficeKB.com on 12 Apr 2010 14:17 Making that many folder is insane. I am not totally following this, but.... 1. if the files are in the same folder 2. and you want to select 8 of them to do your file merging Sub YaddaMultiLine() Dim myFiles() As String Dim myFilesListed As String Dim j As Long Dim var With Application.FileDialog(msoFileDialogFilePicker) .AllowMultiSelect = True .ButtonName = "OK" .Title = "Select Parent Folder" If .Show = 0 Then Exit Sub If .SelectedItems.Count > 1 Then For var = 1 To .SelectedItems.Count ReDim Preserve myFiles(j) myFiles(j) = .SelectedItems(var) j = j + 1 Next Else myFiles(0) = .SelectedItems(1) End If If j <> 9 Then MsgBox "HEY!!! You are supposed to select 8 files." & _ vbCrLf & "Macro will terminate. Try again." Exit Sub End If End With If j = 0 Then myFilesListed = myFiles(0) Else For var = 0 To UBound(myFiles()) myFilesListed = myFilesListed & myFiles(var) & _ vbCrLf Next End If MsgBox myFilesListed End Sub The code above insists on getting 8 file selected. You may not want that. just remove it to get whatever number you want...except ONE. You cannot use this 9as it is) to get just one file. The point being is that you can build a list of the 8 files you want to grab, and then process them. Like this: Sub YaddaMultiLine() ' the other stuff to get the array of filenames Dim r As Range For var = 0 To Ubound(myFiles()) Set r = ActiveDocument.Range With r .Collapse 0 .InsertFile Filename:=myFiles(var) End With Next End Sub This process each of the arrayed filenames, and inserts it at the end of the ActiveDocument. Do you next a page break? A Section break? Simply add one for each iteration. Gerry Doug Robbins - Word MVP wrote: >How are the individual documents create and how are they named? > >There is no doubt that vba can be used to combine documents, if the >individual documents that are to be combined can be identified. > >I can't imagine that creating 150 separate folders to hold each set of eight >documents is the best way to go. > >> Thank you Graham. Sorry to be unclear. >> There are 150 sets of 8 documents to join together. Each document is 1 >[quoted text clipped - 68 lines] >>> >>> . -- Gerry Message posted via OfficeKB.com http://www.officekb.com/Uwe/Forums.aspx/word-programming/201004/1
First
|
Prev
|
Pages: 1 2 Prev: VBA to save an image from the web Next: Writing a macro to delete specific lines from a large Word document |