Объединение документов (Microsoft Word)
Стюарт писал о том, что ему необходимо было объединить множество различных текстовых файлов в один документ Word. Вставка файлов вручную оказалась утомительной, особенно когда нужно было объединить 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. Вы можете использовать следующую команду в командной строке Windows:
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 — самая популярная программа для обработки текстов в мире.) Этот совет (9807) применим к Microsoft Word 2007, 2010, 2013 и 2016. Вы можете найти версию этого совета для более старого интерфейса меню Word здесь: link: / word-Combining_Documents [Объединение документов]
.