1

Тема: Объединение документов

Здравствуйте,
в Word 2003 был сделан макрос с использованием FileSearch:
пользователь выбирает папку с файлами doc и они объединяются в одном документе с сортировкой по дате.
FileSearch больше не используется. Как это сделать для Word 2010?
Спасибо.

2

Re: Объединение документов

Через объект "FileSystemObject" библиотеки "Microsoft Scripting Runtime".

Приблизительно так:

Dim FSO As Scripting.FileSystemObject
Dim FOL As Scripting.Folder
Dim F As Scripting.File

Set FSO = CreateObject("Scripting.FileSystemObject")
Set FOL = FSO.GetFolder("C:\")

        For Each F In FOL.Files
            ' делаем что-то с файлом
        Next F
Макросы под заказ и готовый пакет - mtdmacro.ru

3

Re: Объединение документов

Как происходит сортировка и как открыть найденный файл для редактирования внутри цикла?

4

Re: Объединение документов

igorrupiter пишет:

...сортировка...

Здесь руками. Необходимые вам свойства объекста File:

F.DateCreated
F.DateLastAccessed
F.DateLastModified
igorrupiter пишет:

...открыть найденный файл...

Application.Documents.Open FileName:=F.Name
Макросы под заказ и готовый пакет - mtdmacro.ru

5

Re: Объединение документов

Нашёл такой макрос:

Sub MergeDocs()
Dim rng As Range
Dim MainDoc As Document
Dim strFile As String
'(Папка, где лежат документы)
Const strFolder = "d:\temp\27\Print\"
Set MainDoc = Documents.Add
'(Расширение поменять на .docx в случае использования Word 20xx)
strFile = Dir$(strFolder & "*.doc")
Do Until strFile = ""
Set rng = MainDoc.Range
rng.Collapse wdCollapseEnd
rng.InsertFile strFolder & strFile
strFile = Dir$()
Loop
End Sub

Единственное он почему-то нарушает форматирование документа и из 2-х страничного делает 3-х - 4-х страничный. А некоторые документы (не насыщенные картинками и таблицами), клеит безотказно на УРА...

6

Re: Объединение документов

Я бы сказал, что таблицы выкидывает из документа при объединении по какой-то причине...