Что нового

ошибка выделения листа открытой книги.

PACHOM

Новичок
Сообщения
99
Репутация
0
Если книга закрыта перед запуском скрипта, то всё ок. А вот при уже открытой книге выдаётся ошибка выделения листа? Где я ошибся?

Код:
#include <Date.au3>
#include <GUIConstants.au3>
;~ #include <ExcelCOM_UDF.au3>
#include <Excel.au3>
#include <Array.au3>

Opt("SendKeyDownDelay", 50) 
Opt("SendKeyDelay", 50) 

HotKeySet("{ESC}", "Terminate")
Func Terminate()
	Exit 0
EndFunc

;~ ====================== ОТКРЫВАЕМ ИЛИ АКТИВИРУЕМ КНИКУ Excel ==========================

Opt("WinTitleMatchMode", 2) ; Ставим поиск окна по любому слову - флаг 2

$sFilePath = @ScriptDir & "\Файл 2013.xlsm" ;Существующая рабочая книга Excel
If WinExists("Файл 2013") Then 
	$oExcel = _ExcelBookAttach($sFilePath)
	$hWndoExcel = WinGetHandle("Файл 2013", 2)
	If @error Then
		MsgBox(4096, "Тест Excel", "Ошибка при получении активного объекта Excel. Код ошибки: " & Hex(@error, 8))
		Exit
	EndIf
Else
	MsgBox(64+4096, 'Сообщение', "Книга не открыта ... буду открывать ...:")
	$oExcel = _ExcelBookOpen($sFilePath)
	$hWndoExcel = WinGetHandle("Файл 2013", 2)
Endif

;~ $hWndoExcel = WinGetHandle("Файл 2013", 2)
WinActivate($hWndoExcel)

;~ ==================== КОНЕЦ: ОТКРЫВАЕМ ИЛИ АКТИВИРУЕМ КНИКУ Excel ============================

;ПЕРЕНОСИМ АДННЫЕ В EXCEL
WinActivate($hWndoExcel)
_ExcelSheetActivate($oExcel, "all") ;активируем лист содержащий данные
$oExcel.WorkSheets("all").Cells(1, 1).Select
Send("+{INS}", 0) ; если в буфере есть данные - то вставляем налист

If MsgBox(1+64+4096, 'Сообщение', 'Вставили данные на лист? Нет - выход') <> 1 Then Exit



Добавлено:
Сообщение автоматически объединено:

Решил вопрос так
Код:
$oExcel.Sheets("all").Select

вместо
Код:
$oExcel.WorkSheets("all").Cells(1, 1).Select
 
Верх