Word: пересохраняем много файлов в другом формате :)
Так как открыть сразу кучу документов в Word - не проблема (в стандартном окне открытия есть множественный выбор), проблема может быть только в обработке (лень много раз нажимать "Сохранить как..."). Для этого случая полезней вставить маленький макрос, который перебирает все открытые документы и сохраняет их в выбранном формате (в приведённом коде - формат RTF, понятно, как изменить для других). Мне понадобилось для пересохранения большого количества заметок pwi (формат заметки в мобильной Windows).
Код макроса на VBA:
Sub Макрос1() Dim strDocName As String Dim intPos As Integer For q = 1 To Documents.Count strDocName = Documents.Item(q).Name Documents.Item(q).Activate intPos = InStrRev(strDocName, ".") If intPos = 0 Then strDocName = InputBox("Введите имя для пустого документа") Else strDocName = Left(strDocName, intPos - 1) & ".rtf" End If ActiveDocument.SaveAs FileName:=strDocName, FileFormat:=wdFormatRTF Next q End Sub
Проверено в офисе 2003, в старших версиях, надеюсь, тоже сработает. для обычного формата .DOC
, похоже, будет FileFormat:=wdFormatDOC
,
ну и тип .doc
, конечно.
Для перекодирования в формат "только текст в Юникоде" с разрывами строк LF (стиль Юникс, работает также в Андроиде) расширение изменилось на .txt
, а команда ActiveDocument.SaveAs
на
ActiveDocument.SaveAs FileName:=strDocName, FileFormat:=wdFormatText, _ Encoding:=65001, LineEnding:=wdLFOnly
Кстати, "по отдельности" файлы PWI можно открыть так:
- Установить под Windows XP (выше - не уверен) стандартный Activesync 4.5 - средство синхронизации коммуникаторов на Windows Mobile с Microsoft Outlook.
- Открыть из Word (не щелчком по документу, а через меню Файл - Открыть) документ в PWI :) Если PWI не показывается, в списке форматов выбираем "Все файлы".
В Word должны быть следующие конвертеры, чтобы работа с PWI шла нормально:
MSInkWriter MSInkWriter Template MSPocketInkWord MSPocketWord MSPocketWordTemplate
Проверить, какие конвертеры есть в Вашем Word, можно таким кодом:
Dim cnvWrdPrf As FileConverter For Each cnvWrdPrf In Application.FileConverters MsgBox (cnvWrdPrf.ClassName) Next cnvWrdPrf
06.02.2012, 23:05 [13441 просмотр]