Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   Пересохранить файлы (http://forum.oszone.net/showthread.php?t=171714)

temp 30-03-2010 17:18 1380772

Пересохранить файлы
 
Программа выдает отчеты в форме *.htm, которые корректно открываются в Excel. Каким образом можно пересохранить эти файлы в xls формат?

madmasles 30-03-2010 18:23 1380826

temp,
Наверное, так:
Код:

#include <Excel.au3>
#include <File.au3>

If Not FileExists(@ScriptDir & "\*.htm") Then
    MsgBox(0, "", "В этой папке нет файлов *.htm", 5)
    Exit
EndIf
DirCreate(@ScriptDir & "\Excel")
$aFileHTM = _FileListToArray(@ScriptDir, "*.htm", 1)

For $i = 1 To UBound($aFileHTM) - 1
    $sFilePath = @ScriptDir & "\" & $aFileHTM[$i]
    $oExcel = _ExcelBookOpen($sFilePath, 0)
    _ExcelBookSaveAs($oExcel, @ScriptDir & "\Excel\" & StringTrimRight($aFileHTM[$i], 4), "xls")
    If @error Then MsgBox(0, "Error", "Произошла ошибка с файлом" & @CRLF & $aFileHTM[$i], 5)
    _ExcelBookClose($oExcel, 1, 0)
Next


HORRIBLE 30-03-2010 18:30 1380838

А почему не воспользоваться FileMove, просто расширение поменять.

temp 30-03-2010 22:08 1381040

madmasles, дома потренировался "на кошках", вроде то .=) А как по завершении операции открыть папку excel?

madmasles 31-03-2010 09:23 1381291

temp,
В конце добавьте
Код:

ShellExecute(@ScriptDir & "\Excel")


Время: 07:42.

Время: 07:42.
© OSzone.net 2001-