Стюарт писал о том, что ему необходимо было объединить множество различных текстовых файлов в один документ Word. Использование Insert | Опция файла оказалась утомительной, особенно когда нужно было объединить 20 или 30 различных текстовых файлов.

К счастью для Стюарта, его имена файлов были предсказуемыми: C1000.TXT, C1001.TXT и т. Д. Это значительно упрощает создание макроса для консолидации. В следующем примере выполняется поиск файлов с C1000.TXT по C1030.TXT, все в каталоге C: \, и их объединение в текущий документ:

Sub CombineFiles()

Dim J As Integer     Dim sFile As String     For J = 1000 To 1030         sFile = "c:\c" & Trim(Str(J)) & ".txt"

If (Dir(sFile) > "") Then             Selection.InsertFile FileName:=sFile, ConfirmConversions:=False             Selection.TypeParagraph         End If     Next End Sub

Если вы хотите изменить диапазон вставляемых файлов, просто измените значения в начале цикла For …​ Next. Если файлы находятся в другом каталоге, вы можете изменить путь, используемый в следующей строке кода, где установлен sFile. Если файл в пределах диапазона отсутствует, он автоматически пропускается.

Однако есть еще более простой способ объединения файлов, который даже не требует использования Word. Вы можете использовать следующую команду в командной строке DOS:

copy C1???.txt single.txt

Это позволит объединить до 1000 файлов, от C1000.TXT до C1999.TXT, в один текстовый файл с именем SINGLE.TXT. Исходные файлы остаются нетронутыми.

Если вы хотите объединить меньшее количество файлов, вы можете использовать этот формат:

copy C1020.txt+C1021.txt+C1022.txt+C1023.txt single.txt

Это использование приводит к тому, что четыре файла, от C1020.TXT до C1023.TXT, объединяются в SINGLE.TXT. Таким способом вы можете добавить столько файлов, сколько захотите.

Однако у этой техники есть одно предостережение. Команда копирования вообще не приводит к добавлению дополнительных символов в файл. Другими словами, содержимое C1021.TXT размещается сразу после C1020.TXT. Например, если C1020.TXT содержит «текст 1020», а C1021.TXT содержит «текст 1021», то SINGLE.TXT будет содержать «текст 1020text 1021». Единственный способ обойти это — либо отредактировать каждый исходный файл, чтобы убедиться, что он заканчивается возвратом каретки, либо использовать ранее представленный макрос.

_Примечание: _

Если вы хотите знать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах WordTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / wordribbon-WordTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

WordTips — ваш источник экономичного обучения работе с Microsoft Word.

(Microsoft Word — самая популярная программа для обработки текстов в мире.) Этот совет (1607) применим к Microsoft Word 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Word (Word 2007 и позже) здесь:

link: / wordribbon-Combining_Documents [Объединение документов].