Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Проставить заголовки по куче файлов, word 2003 (http://forum.oszone.net/showthread.php?t=211372)

Mangost 18-07-2011 16:02 1715033

Проставить заголовки по куче файлов, word 2003
 
Нужно следующее.

Есть папка в которой сложены файлы doc. Файлов много.
Во все эти файлы мне надо вверху каждого, в самом начале, поставить Заголовок 2 с текстом и счетчиком этого файла. Наглядно:

В папке 100 файлов.
С первого файла и далее вверху каждого файла должны быть заголовки (Заголовок 2):

Документ 1
Документ 2
Документ 3
...
Документ 100

Все файлы должны быть сохранены и закрыты.
Если файлов не 100 а 1000 значит аналогично до 1000-ного заголовка.

То есть запустил кнопкой, выбрал папку где файлы, скрипт проставил заголовки в начале всех файлов и конец.


И еще как бы момент, допустим на следующие папки чтобы было слово не Документ а Справка.. в общем хорошо бы чтобы можно было менять это слово от заданию к заданию, потому что работаю с разными документами.


Спасибо за помощь.

Vadikan 18-07-2011 17:35 1715095

Mangost, без скриптов не обойтись. Вот пример добавления форматированного текста http://www.activexperts.com/activmon...rmattedTWD.htm

Осталось только перебрать файлы в папке. Переношу в скрипты.

Iska 19-07-2011 08:34 1715404

Главный вопрос — про порядок файлов. На что ориентироваться? Судя по приведённому Вами примеру — Вам нужно, чтобы ориентировка была на Проводник, который, начиная с XP, отображает файлы иначе:
Код:

Документ 1
Документ 2
Документ 10
Документ 20
Документ 100

нежели команда DIR, методы перечисления FSO, WinAPI, показывающие реальное расположение файлов в каталоге. В случае NTFS, что нынче обычно, мы будем иметь дело с уже отсортированным списком, но по правильной алфавитной сортировке:
Код:

Документ 1
Документ 10
Документ 100
Документ 2
Документ 20

в отличие от Проводника.

amel27 19-07-2011 11:59 1715541

если (вдруг) порядок не важен, пример на VBS
вызов скрипта - через контекстное меню "Отправить", предварительно скопировав его в папку SendTo
читать дальше »
Код:

On Error Resume Next

Set FSO = CreateObject("Scripting.FileSystemObject")
Set APP = CreateObject("Word.Application")
APP.Visible = False

Set DIR = FSO.GetFolder(WScript.Arguments(0))
If Err.Number <> 0 Then WScript.Quit
On Error Goto 0

s=InputBox("Введите текст заголовка:", "Ввод заголовка.")

For Each obj in DIR.Files
  If UCase(FSO.GetExtensionName(obj.Path))="DOC" Then
    i = i + 1

    Set DOC = APP.Documents.Open(obj.Path)
    Set SEL = APP.Selection
    SEL.HomeKey 6,0
    SEL.TypeText s &" "& i
    SEL.TypeParagraph()

    DOC.Paragraphs(1).OutlineLevel = 1
    DOC.Save
    DOC.Close
  End If
Next

APP.Quit



Время: 10:55.

Время: 10:55.
© OSzone.net 2001-