Писал когда-то, но напишу ещё раз.
Вот такой алгоритм даёт приемлемый результат — всё локальное форматирование сохраняется в виде символьных стилей.
Итак:
1. Открываем вордовский документ, запускаем макрос
MakeStyle.
2. Лично я все списки конвертирую в текст, для этого запускаю этот макрос:
Код:
Sub ConvertListsToText()
ActiveDocument.Range.ListFormat.ConvertNumbersToText
End Sub
3. Запускаем макрос ApplyStyle, он идёт вместе с MakeStyle.
4. Если хотим форматирование в сносках то ОБЯЗАТЕЛЬНО ставим курсор в любую сноску и запускаем макрос ApplyStyle ещё раз.
5. Сохраняем в docx и втягиваем в Индизайн.
6. Если текст писался разными авторами на разных компах и в разных вордах, с разными локализациями то будет бардак, но не такой страшный. За десять-пятнадцать минут поиском проверяются все стили и удаляются лишние.
Скажу что у меня есть шаблон в котором уже настроены нужные мне стили: Normal, Heading 1, 2, 3, 4, 5, List Paragraph и прочее. А так-же там уже лежат те символьные стили которые создаёт MakeStyle. Таким образом втянутый текст требует минимальной коррекции.