Код:
Func _LoadXLSX($title, $sFilePath, $vWorksheet, $SColumn, $SRow, $EColumn, $ERow) $hStarttime = _Timer_Init() If @error Then Return GUICtrlSetData($progress, "Загрузка файла не удалась, время работы - " & Round(_Timer_Diff($hStarttime) / 1000, 2) & " c.") If FileExists($sFilePath) Then Else MsgBox($MB_SYSTEMMODAL, "", "Не удалось найти файл.") Return EndIf ProgressOn($title, "Подождите, идет работа", "Working...") Local $oExcel = _Excel_Open(False, False, False, False, True) ; создать объект Excel, False = невидимый If @error Then ProgressOff() MsgBox($MB_SYSTEMMODAL, "Ошибка", "Не удалось запустить Excel. На компьютере установлен MS Excel?", 0, $MB_OK) ; выйти, если не удалось создать объект Excel Return EndIf ProgressSet(15, "MS Excel успешно инициализирован") Sleep(50) ProgressSet(20, "Открытие файла") Sleep(50) Local $oWorkbook = _Excel_BookOpen($oExcel, $sFilePath, True, False) If @error Then ProgressOff() MsgBox($MB_SYSTEMMODAL, "Ошибка", "Не удалось открыть файл. Причина неизвестна", 0, $MB_OK) ; выйти, если не удалось создать объект Excel Return EndIf ProgressSet(25, "Файл успешно открыт") Sleep(50) $aResult = _Excel_RangeRead($oWorkbook, $vWorksheet, _ExcelColumnLetter($SColumn) & $SRow & ":" & _ExcelColumnLetter($EColumn) & $ERow, 2, True) ProgressOff() _Excel_BookClose($oWorkbook) _Excel_Close($oExcel) $oExcel = "" ;clean var Return $aResult EndFunc ;==>_LoadXLSX