Показать полную графическую версию : Пересохранить файлы
Программа выдает отчеты в форме *.htm, которые корректно открываются в Excel. Каким образом можно пересохранить эти файлы в xls формат?
madmasles
30-03-2010, 18:23
temp,
Наверное, так:#include <Excel.au3>
#include <File.au3>
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) Not (http://www.autoitscript.com/autoit3/docs/keywords.htm#Not) FileExists (http://www.autoitscript.com/autoit3/docs/functions/FileExists.htm)(@ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@ScriptDir) & "\*.htm") Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then)
MsgBox (http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm)(0, "", "В этой папке нет файлов *.htm", 5)
Exit (http://www.autoitscript.com/autoit3/docs/keywords.htm#Exit)
EndIf (http://www.autoitscript.com/autoit3/docs/keywords.htm#EndIf)
DirCreate (http://www.autoitscript.com/autoit3/docs/functions/DirCreate.htm)(@ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@ScriptDir) & "\Excel")
$aFileHTM = _FileListToArray(@ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@ScriptDir), "*.htm", 1)
For (http://www.autoitscript.com/autoit3/docs/keywords.htm#For) $i = 1 To (http://www.autoitscript.com/autoit3/docs/keywords.htm#To) UBound (http://www.autoitscript.com/autoit3/docs/functions/UBound.htm)($aFileHTM) - 1
$sFilePath = @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@ScriptDir) & "\" & $aFileHTM[$i]
$oExcel = _ExcelBookOpen($sFilePath, 0)
_ExcelBookSaveAs($oExcel, @ScriptDir (http://www.autoitscript.com/autoit3/docs/macros.htm#@ScriptDir) & "\Excel\" & StringTrimRight (http://www.autoitscript.com/autoit3/docs/functions/StringTrimRight.htm)($aFileHTM[$i], 4), "xls")
If (http://www.autoitscript.com/autoit3/docs/keywords.htm#If) @error (http://www.autoitscript.com/autoit3/docs/macros.htm#@error) Then (http://www.autoitscript.com/autoit3/docs/keywords.htm#Then) MsgBox (http://www.autoitscript.com/autoit3/docs/functions/MsgBox.htm)(0, "Error", "Произошла ошибка с файлом" & @CRLF (http://www.autoitscript.com/autoit3/docs/macros.htm#@CRLF) & $aFileHTM[$i], 5)
_ExcelBookClose($oExcel, 1, 0)
Next (http://www.autoitscript.com/autoit3/docs/keywords.htm#Next)
HORRIBLE
30-03-2010, 18:30
А почему не воспользоваться FileMove, просто расширение поменять.
madmasles, дома потренировался "на кошках", вроде то .=) А как по завершении операции открыть папку excel?
madmasles
31-03-2010, 09:23
temp,
В конце добавьте ShellExecute(@ScriptDir & "\Excel")
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC