Ответ: Люди помогите
Макрос для разметки тэгами можно найти тут -
http://www.guyverville.com/html/scripts.php
Макросом для Tagged Text это можно назвать с большой натяжкой...
Давайте лучше сами попробуем научиться сливать все в теггированный текст:
1. Ставим задачу: нужно сделать так, чтобы наш текст при помещении в InDesign сохранил локальное форматирование: Bold, Italic, BoldItalic.
2. Создаем себе макрос (объяснять,
как это сделать я не буду - на то есть хелп к Word'у)
3. Пишем сначала такой код:
Код:
With ActiveDocument.Content.Find
.ClearFormatting
.Replacement.ClearFormatting
.Format = True
.Font.Bold = True
.Font.Italic = False
.Text = ""
.Replacement.Text = "<ct:Bold>^&<ct:>"
.Execute Replace:=wdReplaceAll
End With
Как видим, мы пытаемся найти текст, выделенный bold'ом, и поместить вокруг него тег, позволяющий при импортировании определить его как Bold. Первые две команды после With ActiveDocument.Content.Find необходимы нам для того, чтобы случайно не было учтено еще какое-либо форматирование.
По этому же принципу мы пишем еще две замены, меняя только значение параметров ".Font.Bold" и ".Font.Italic" и значения тэга. Для поиска курсива нам нужен выключенный первый и включенный второй параметр, для полужирного курсива - оба параметра должны быть True (Истина).
Код:
With ActiveDocument.Content.Find
.ClearFormatting
.Replacement.ClearFormatting
.Format = True
.Font.Bold = False
.Font.Italic = True
.Text = ""
.Replacement.Text = "<ct:Italic>^&<ct:>"
.Execute Replace:=wdReplaceAll
End With
With ActiveDocument.Content.Find
.ClearFormatting
.Replacement.ClearFormatting
.Format = True
.Font.Bold = True
.Font.Italic = True
.Text = ""
.Replacement.Text = "<ct:BoldItalic>^&<ct:>"
.Execute Replace:=wdReplaceAll
End With
Теперь необходимо добавить необходимые начальные теги, благодаря которым ID поймет, что перед ним тэггированный текст.
Код:
ActiveDocument.Content.InsertBefore "<vsn:3.000000><fset:InDesign-Roman>"
ActiveDocument.Content.InsertBefore "<UNICODE-WIN>" & vbCrLf
В принципе достаточно строки с <UNICODE-WIN>, но пусть будет и другая
Теперь сформируем новое имя файла. Предположим, мы будем добавлять к его имени своеобразный суффикс "-new".
Код:
MyNewName = Left(ActiveDocument.Name, Len(myDoc.Name) - 4) & "-new.txt"
То есть мы "отрезаем" у имени файла активного документа справа 4 символа и "прилепляем" свои
Теперь осталось только сохранить файл:
Код:
myDoc.SaveAs FileName:=MyNewName, FileFormat:=wdFormatText, Encoding:=1200, LineEnding:=wdCRLF
То есть в качестве формата файла мы выбираем "Обычный текст", а в качестве кодировки - UnicodeLittleEndian (цифровое значение 1200). Именно эта кодировка хорошо понимается ID.
Собственно, все