Рабочий стол > DL Руководство пользователя > ... > Установка задач > MS Word DOC to DL HTML > Information > Сравнить страницу
MS Word DOC to DL HTML Войти | Зарегистрироваться   Просмотр версии для печати текущей страницы.

Ключ
Эти линии были удалены. Это слово было удалено.
Эти линии были добавлены. Это слово было добавлено.

Просмотр истории страницы


Есть 1 изменений. Просмотреть первое изменение .

 Скрипт для автоматизированного конвертирования документов MS Word в html файлы для загрузки на DL в качестве условий задач.
  Все name.doc файлы в текущем каталоге будут превращены в name\task.htm с картинками в подпапке webfiles.
  Все name.doc файлы в текущем каталоге будут превращены в name\task.htm с правильными ссылками на картинки в подпапке webfiles.
  
 {code:title=createHtmlFromWord.vbs}
 Option Explicit
  
 'declare all variables
 Dim objWord
 Dim oDoc
 Dim fso
 Dim colFiles
 Dim curFile
 Dim curFileName
 Dim folderToScan
 Dim folderToSave
 Dim subfolderToSave
 Dim fileToSave
 Dim folderToScanExists
 Dim folderToSaveExists
 Dim objFolderToScan
  
 'set some of the variables
 folderToScanExists = False
 folderToSaveExists = False
 Const wdSaveFormat = 10 'for Filtered HTML output
  
 Set fso = CreateObject("Scripting.FileSystemObject")
  
 '**********************************
 'change the following to fit your system
 folderToScan = fso.GetAbsolutePathName(".") & "\"
 folderToSave = fso.GetAbsolutePathName(".") & "\"
 '**********************************
  
 'Use FSO to see if the folders to read from
 'and write to both exist.
 'If they do, then set both flags to TRUE,
 'and proceed with the function
 If fso.FolderExists(folderToScan) Then
  folderToScanExists = True
 Else
  Wscript.Echo "Folder to scan from does not exist!"
 End If
 If fso.FolderExists(folderToSave) Then
  folderToSaveExists = True
 Else
  Wscript.Echo "Folder to copy to does not exist!"
 End If
  
 If (True Or folderToScanExists And folderToSaveExists) Then
  'get your folder to scan
  Set objFolderToScan = fso.GetFolder(folderToScan)
  'put al the files under it in a collection
  Set colFiles = objFolderToScan.Files
  'create an instance of Word
  Set objWord = CreateObject("Word.Application")
  If objWord Is Nothing Then
  Wscript.Echo "Couldn't start Word."
  Else
  'for each file
  For Each curFile in colFiles
  'only if the file is of type DOC
  If (fso.GetExtensionName(curFile) = "doc" Or (fso.GetExtensionName(curFile) = "docx")) Then
  'get the filename without extension
  curFileName = curFile.Name
  curFileName = Mid(curFileName, 1, InStrRev(curFileName, ".") - 1)
  subfolderToSave = folderToSave & "\" & curFileName
  fso.CreateFolder subfolderToSave
  'open the file inside Word
  objWord.Documents.Open fso.GetAbsolutePathName(curFile)
  'do all this in the background
  objWord.Visible = False
  'create a new document and save it as Filtered HTML
  fileToSave = subfolderToSave & "\webfiles.htm"
  Set oDoc = objWord.ActiveDocument
  oDoc.SaveAs fileToSave, wdSaveFormat
  oDoc.Close
  Set oDoc = Nothing
  fso.MoveFile fileToSave, subfolderToSave & "\task.htm"
  End If
  Next
  End If
  'close Word
  objWord.Quit
  'set all objects and collections to nothing
  Set objWord = Nothing
  Set colFiles = Nothing
  Set objFolderToScan = Nothing
 End If
  
 Set fso = Nothing
 {code}
  
 Просто так можно запускать по вводу. А для отладки и сообщений об ошибках так:
 {code:title=run.cmd}
 cscript //D //X createHtmlFromWord.vbs
 {code}
  
 Творчески содрано отсюда: http://www.evagoras.com/2011/02/10/exporting-word-files-to-html/.
 Там же проиллюстрированы настройки для правильного сохранения вручную.
  
 {note}Для правильной работы скрипта должна быть снята птичка "Меню/Сервис/Параметры/Общие/Параметры веб-документа.../Файлы/По возможности использовать длинные имена файлов".{note}
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: http://www.atlassian.com/software/confluence Build:#2.6.1 916) - Ошибка/новая особенность - Свяжитесь с Администраторами