powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Word сохранить документ как из командной строки
25 сообщений из 35, страница 1 из 2
Word сохранить документ как из командной строки
    #37366002
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть ли возможность переконвертировать doc документ в другой формат, например, RFT или Web Page filtered?

Как то так

> word.exe doc1.doc doc1.html

Чтобы не открывать каждый раз word и выполнять одни и те же действия

Office 2003, если это принципиально
...
Рейтинг: 0 / 0
Word сохранить документ как из командной строки
    #37366209
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно написать VB-скрипт, который будет это делать
Но ворд будет открываться (пусть и невидимый)
...
Рейтинг: 0 / 0
Word сохранить документ как из командной строки
    #37366224
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне все равно, а как будет выглядеть сам скрипт? В документации msdn нашел только формат wdFormatHTML, а мне нужен Filtered.
...
Рейтинг: 0 / 0
Word сохранить документ как из командной строки
    #37366265
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALex_hha, на запись поставьте, сохранить как и читайте, а папку и цикл по количеству файлов думаю знаете как сделать
...
Рейтинг: 0 / 0
Word сохранить документ как из командной строки
    #37366268
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не увидел, что такое Filtered, а RFT можно
...
Рейтинг: 0 / 0
Word сохранить документ как из командной строки
    #37366300
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALex_hhaа как будет выглядеть сам скрипт?
ALex_hhaнапример, RFT

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Dim WA, WD, Args
Set Args = WScript.Arguments
Set WA = CreateObject("Word.Application")
Set WD = WA.Documents.Open(Args( 0 ))
WD.SaveAs Args( 1 ),  6 
WD.Close
Set WD = Nothing
WA.Quit
Set WA = Nothing
...
Рейтинг: 0 / 0
Word сохранить документ как из командной строки
    #37366327
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В приведенный код по хорошему нужно добавлять проверки наличия аргументов командной строки, проверка существования файла, обработка ошибок ну и т.п.
Вызов:
Код: plaintext
conv.vbs V:\we.doc V:\we.rtf
...
Рейтинг: 0 / 0
Word сохранить документ как из командной строки
    #37366411
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторне увидел, что такое Filtered, а RFT можно
см вложение
...
Рейтинг: 0 / 0
Word сохранить документ как из командной строки
    #37366428
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALex_hha, да понял, просто оперирую рускими названиями, вот в ухо врезалось
...
Рейтинг: 0 / 0
Word сохранить документ как из командной строки
    #37366442
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВ приведенный код по хорошему нужно добавлять проверки наличия аргументов командной строки, проверка существования файла, обработка ошибок ну и т.п.
скрипт для личного пользования, так что не критично. А что такое 6 в

WD.SaveAs Args(1), 6

?
...
Рейтинг: 0 / 0
Word сохранить документ как из командной строки
    #37366450
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wdFormatRTF
...
Рейтинг: 0 / 0
Word сохранить документ как из командной строки
    #37366459
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А где или как можно узнать порядковые номера всех форматов?
...
Рейтинг: 0 / 0
Word сохранить документ как из командной строки
    #37366466
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Запустить Ворд
2) Alt-F11
3) F2
4) wdSaveFormat<Enter>
...
Рейтинг: 0 / 0
Word сохранить документ как из командной строки
    #37366468
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALex_hha,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
Option Explicit
'Option - Вариант
'Explicit - Явный

Sub FIO()

'сохранить в папке все документы (.rtf) как веб-страницы, с расширением .mht
'сохранить в папке все документы (.rtf) как веб страница и папка с рисунками, с расширением .htm
Dim sDir As String
Dim sFileName As String
Dim oDoc As Document
Dim i As Integer
  
  With Application.FileDialog(msoFileDialogFolderPicker)
    .Title = "Выберите папку"
    If .Show Then sDir = .SelectedItems( 1 ) Else Exit Sub
  End With
  
  'если нужна конкретная папка, тогда блок выше убираем, вместо него: sDir = "L:\Мир Эксель"
  
  Application.ScreenUpdating = False
  sFileName = Dir(sDir & Application.PathSeparator & "*.rtf")
  While Len(sFileName) >  0 
    sFileName = sDir & Application.PathSeparator & sFileName
    Set oDoc = Documents.Open(sFileName, False, False, False)
    'сохранить в папке все документы (.rtf) как веб-страницы, с расширением .mht
    oDoc.SaveAs VBA.Mid$(sFileName,  1 , InStrRev(sFileName, ".")) & "mht", wdFormatWebArchive, AddToRecentFiles:=False
    'сохранить в папке все документы (.rtf) как веб страница и папка с рисунками, с расширением .htm
    oDoc.SaveAs VBA.Mid$(sFileName,  1 , InStrRev(sFileName, ".")) & "htm", wdFormatHTML, AddToRecentFiles:=False
    oDoc.Close
    sFileName = Dir
    i = i +  1 
    DoEvents
  Wend
  Application.ScreenUpdating = True
  MsgBox "Пересохранение завершено. Сохранено " & i & " файлов"

End Sub
...
Рейтинг: 0 / 0
Word сохранить документ как из командной строки
    #37367007
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор1) Запустить Ворд
2) Alt-F11
3) F2
4) wdSaveFormat<Enter>
Спасибо большое, вот то, что мне нужно wdFormatFilteredHTML = 10

Еще вопрос. При конвертации некоторых документов появляются такие диалоговые окна (см атач). Их как то надо обрабатывать в скрипте?
...
Рейтинг: 0 / 0
Word сохранить документ как из командной строки
    #37367009
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И вот такое иногда бывает


З.Ы.
IE4 это Windows 95 что ли?
...
Рейтинг: 0 / 0
Word сохранить документ как из командной строки
    #37367227
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй WA.DisplayAlerts=0
...
Рейтинг: 0 / 0
Word сохранить документ как из командной строки
    #37368893
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В итоге написал такой скрипт

doc2html.vbs
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Dim WA, WD, outputDir, inputDir, Args, outputFileName

Set Args = WScript.Arguments
Set oWordApp = CreateObject("Word.Application")

Set oShell = CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")

oShell.CurrentDirectory = oFSO.GetParentFolderName(Wscript.ScriptFullName)

inputDir = oShell.CurrentDirectory & "\DOC\"
outputDir = oShell.CurrentDirectory & "\HTML\"

for each currFile in oFSO.GetFolder(inputDir).Files
	Set oWordDocs = oWordApp.Documents.Open(currFile.Path)
	outputFileName = outputDir & Left(currFile.ShortName, Len(currFile.ShortName)- 4 ) & ".html"
	oWordDocs.SaveAs outputFileName,  10 
	oWordDocs.Close
	Set WD = Nothing
Next

oWordApp.Quit
Set WA = Nothing

Входные данные берет из папки DOC, все выходные файлы сохраняет в папку HTML

З.Ы.
скрипт вываливался с ошибкой - "Не возможно запустить конвертор mswrd632.wpc". После установки http://support.microsoft.com/kb/973904 ошибка пропала. Хотя на системе стоит SP3 и все доступные апдейты.
...
Рейтинг: 0 / 0
Word сохранить документ как из командной строки
    #37368904
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
Set WA = Nothing
...
Рейтинг: 0 / 0
Word сохранить документ как из командной строки
    #37368913
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да то очепятка, в скрипте конечно

Set oWordApp = Nothing

Единственное что не понравилось, имя входного файла - 1. Розмноження організмів. Основні поняття генетики. Методи генетичних досліджень.doc , а в папке HTML получил - 5B9B8~1.html

Или это из-за использования currFile.ShortName?
...
Рейтинг: 0 / 0
Word сохранить документ как из командной строки
    #37368929
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALex_hhaИли это из-за использования currFile.ShortName? разумеется
...
Рейтинг: 0 / 0
Word сохранить документ как из командной строки
    #37368938
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Действительно, заменил на

outputFileName = outputDir & Left(currFile.Name, Len(currFile.Name)-4) & ".html"

и все работает как надо, всем спасибо за помощь.

Может кому пригодится выкладываю финальный рабочий вариант

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
Dim WA, WD, outputDir, inputDir, Args, outputFileName, convertedFiles

Set Args = WScript.Arguments
Set oWordApp = CreateObject("Word.Application")

Set oShell = CreateObject("WScript.Shell")
Set oFSO = CreateObject("Scripting.FileSystemObject")

oShell.CurrentDirectory = oFSO.GetParentFolderName(Wscript.ScriptFullName)

inputDir = oShell.CurrentDirectory & "\DOC\"
outputDir = oShell.CurrentDirectory & "\HTML\"

convertedFiles =  0 
for each currFile in oFSO.GetFolder(inputDir).Files
	Set oWordDocs = oWordApp.Documents.Open(currFile.Path)
	outputFileName = outputDir & Left(currFile.Name, Len(currFile.Name)- 4 ) & ".html"
	oWordDocs.SaveAs outputFileName,  10 
	oWordDocs.Close
	Set oWordDocs = Nothing
	convertedFiles = convertedFiles +  1 
Next

MsgBox "Конвертация успешна завершена. Сохранено " & convertedFiles & " файлов"

oWordApp.Quit
Set oWordApp = Nothing
...
Рейтинг: 0 / 0
Word сохранить документ как из командной строки
    #37369149
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Word сохранить документ как из командной строки
    #37369247
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALex_hhaFinal Release :D
http://wiki.sys-adm.org.ua/doc/scripts
хи
а говорил
ALex_hhaавторВ приведенный код по хорошему нужно добавлять проверки наличия аргументов командной строки, проверка существования файла, обработка ошибок ну и т.п.
скрипт для личного пользования, так что не критично.
...
Рейтинг: 0 / 0
Word сохранить документ как из командной строки
    #37369707
ALex_hha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну решил облагородить так сказать :D
...
Рейтинг: 0 / 0
25 сообщений из 35, страница 1 из 2
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Word сохранить документ как из командной строки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]