2017-01-19 15 views
-3

Я хотел бы применить конкретный нижний колонтитул к нескольким текстовым файлам, расположенным в определенной папке, с помощью VB, так что мне не нужно было бы делать это вручную для каждого из нихИзменить нижний колонтитул на несколько файлов Word с помощью VBA

+1

Добро пожаловать в [SO]! Вы хотите использовать VBA? Почему ваш вопрос помечен [vb.net]? –

+0

@ZevSpitz Он сказал, используя VB в вопросе, я знаю, что это только среда IDE, но она также отмечена vb.net, поэтому я думаю, это то, что он имеет в виду. – David

+0

@ Давид Все еще не уверен, что он имеет в виду. Язык VBA + VBA IDE? Или VB.NET + (предположительно) Visual Studio? И если он хочет VB.NET, он может так же легко использовать любой язык .NET - например. C#, IronPython и F #. –

ответ

0

в широком смысле, вы должны:

  1. Итерация файлов в данной папке, используя Scripting.FileSystemObject; в частности, GetFolder method и Files property.
  2. Проверьте, является ли файл документом Word. Если это так, то откройте его с помощью объектной модели Word:
  3. Нижние колонтитулы привязаны к отдельным разделам документа. Если в документах может быть несколько разделов, вам также придется выполнять итерацию по каждому разделу документа, используя Sections property. В противном случае вы можете обратиться к первому разделу с Sections[1].
  4. Доступ к нижеследующим элементам можно получить через Footers property и передать соответствующий нижний колонтитул — a значение от WdHeaderFooterIndex constants. Есть три типа колонтитулы:
    • Первичный сноска
    • Колонтитула для четных страниц (если они отличаются от нечетных страниц)
    • Колонтитула для первой страницы (если он отличается от других страниц в разделе)
  5. Манипулирование содержимое нижнего колонтитула, используя или другие свойства FOOTER в Range property на HeaderFooter object
  6. Сохранить документ, используя Save method

Использование VBA под Слово имеет преимущество работы в рамках существующего приложения Word. Тем не менее, вы можете быть более комфортным в языке .NET (например, C#, VB.NET, F #, Powershell) или на другом языке с поддержкой COM (например, Javascript + WSH, Python, Delphi). В этом случае замените первый шаг тем, что API-интерфейсы доступны на вашем языке для итерации по файловой системе.

На других языках могут быть библиотеки, специально предназначенные для чтения и записи документов Word. В частности, языки .NET поддерживают использование Office Open XML SDK для непосредственного чтения/записи документов Office и не требуют открытого экземпляра приложения.