Я создаю инструмент в VBscript, который преобразует все документы Word в папку в документы excel. Мне нужно скопировать все и сохранить исходное форматирование. Это выполняется вручную с помощью ctrl-a документа документа и вставки в документ excel. Основная проблема заключается в ActiveDocument (я не уверен, что он активирует мой документ с текстом), и я не уверен, как сделать пасту в документе excel.Преобразование документов Word в Excel с помощью VBscript
Вот мой код. Он создает новые файлы excel с тем же именем, что и словальные документы, но он не копирует содержимое и не вставляет.
set shApp = CreateObject("shell.application")
currentPath = CreateObject("Scripting.FileSystemObject").GetAbsolutePathName(".")
set shFolder = shApp.NameSpace(currentPath)
set files = shFolder.Items()
for each files in files
if files.type = "Microsoft Word 97 - 2003 Document" OR files.type = "Microsoft Word Document" then
msgbox("Converting: "&files.path)
Call DocConvert() 'function call to function that converts .doc to .xls
end if
next
'Opens a word document copies the contents and pastes it into an excel document of the same name
Function DocConvert()
On Error Resume Next
Set objWord = GetObject(, "Word.Application")
If Err <> 0 Then
Set objWord = CreateObject("Word.Application")
End If
objWord.Visible = True
objWord.Documents.Open(files.path)
ActiveDocument.Range(0, 0).Select
Selection.WholeStory
Selection.Copy
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWorkbook = objExcel.Workbooks.Add()
ExcelSave = replace(files.path,"doc","xls")
objWorkbook.SaveAs(ExcelSave)
objWord.Quit
objExcel.Quit
End Function
Файлы Word - это * документы *. Файлы Excel - это * электронные таблицы *. Это так неправильно. –
Хм, зачем вам это в Excel? Возможно, это проблема [XY] (https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)? Какова цель размещения текста Word в Excel? – BruceWayne
'для каждого файла в файлах' это неправильно ... И почему бы не передать объект' file' в качестве параметра 'DocConvert'? –