Я хотел бы применить конкретный нижний колонтитул к нескольким текстовым файлам, расположенным в определенной папке, с помощью VB, так что мне не нужно было бы делать это вручную для каждого из нихИзменить нижний колонтитул на несколько файлов Word с помощью VBA
-3
A
ответ
0
в широком смысле, вы должны:
- Итерация файлов в данной папке, используя
Scripting.FileSystemObject
; в частности,GetFolder
method иFiles
property. - Проверьте, является ли файл документом Word. Если это так, то откройте его с помощью объектной модели Word:
- Создать экземпляр
Word.Application
(если у вас еще нет) - Открыть документ, используя
Open
method ПОСРЕДСТВОМDocuments
property
- Создать экземпляр
- Нижние колонтитулы привязаны к отдельным разделам документа. Если в документах может быть несколько разделов, вам также придется выполнять итерацию по каждому разделу документа, используя
Sections
property. В противном случае вы можете обратиться к первому разделу сSections[1]
. - Доступ к нижеследующим элементам можно получить через
Footers
property и передать соответствующий нижний колонтитул — a значение отWdHeaderFooterIndex
constants. Есть три типа колонтитулы:- Первичный сноска
- Колонтитула для четных страниц (если они отличаются от нечетных страниц)
- Колонтитула для первой страницы (если он отличается от других страниц в разделе)
- Манипулирование содержимое нижнего колонтитула, используя или другие свойства FOOTER в
Range
property наHeaderFooter
object - Сохранить документ, используя
Save
method
Использование VBA под Слово имеет преимущество работы в рамках существующего приложения Word. Тем не менее, вы можете быть более комфортным в языке .NET (например, C#, VB.NET, F #, Powershell) или на другом языке с поддержкой COM (например, Javascript + WSH, Python, Delphi). В этом случае замените первый шаг тем, что API-интерфейсы доступны на вашем языке для итерации по файловой системе.
На других языках могут быть библиотеки, специально предназначенные для чтения и записи документов Word. В частности, языки .NET поддерживают использование Office Open XML SDK для непосредственного чтения/записи документов Office и не требуют открытого экземпляра приложения.
Добро пожаловать в [SO]! Вы хотите использовать VBA? Почему ваш вопрос помечен [vb.net]? –
@ZevSpitz Он сказал, используя VB в вопросе, я знаю, что это только среда IDE, но она также отмечена vb.net, поэтому я думаю, это то, что он имеет в виду. – David
@ Давид Все еще не уверен, что он имеет в виду. Язык VBA + VBA IDE? Или VB.NET + (предположительно) Visual Studio? И если он хочет VB.NET, он может так же легко использовать любой язык .NET - например. C#, IronPython и F #. –