Код:
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