У меня есть VBScript, который открывает любые файлы XML в одной папке и сохраняет их как файлы excel в другой папке.
Кажется, это работает, хотя полученные файлы Excel не имеют расширения XLS, есть идеи, почему?
то, что я хотел бы, чтобы сценарий сделал, это удалить все файлы из исходной папки. как бы я это сделал?
Dim xlApp, xlWkb, SourceFolder,TargetFolder,file
Set xlApp = CreateObject("excel.application")
set fs = CreateObject("Scripting.FileSystemObject")
Const xlNormal=1
SourceFolder="c:\test\xml"
TargetFolder="c:\test\xls"
'Hide Excel
xlApp.Visible = false
'Process each file in SourceFolder
for each file in fs.GetFolder(SourceFolder).files
'Open file in SourceFolder
Set xlWkb = xlApp.Workbooks.Open(file)
'Get Filename
BaseName= fs.getbasename(file)
'Concatenate full path. Extension will be automatically added by Excel
FullTargetPath=TargetFolder & "\" & BaseName
'Save as XLS file into TargetFolder
xlWkb.SaveAs FullTargetPath, xlNormal
'Close file
xlWkb.close
next
Set xlWkb = Nothing
Set xlApp = Nothing
Set fs = Nothing
xls
, потому что вы его не даете. Excel сохраняет их точно под тем именем файла, которое вы передаете (FullTargetPath
). Просто добавьте нужное расширение. (FullTargetPath & ".xls"
). То, что расширение добавляется автоматически, когда вы вручную сохраняете файл в программе, является функцией пользовательского интерфейса Excel. Функция.SaveAs()
API просто берет все, что вы ей даете. Формат файла управляется с помощью соответствующего параметра ., а не через расширение. - person Tomalak   schedule 09.10.2013