Что нового

Excel - Как получит номер строки и столбца при выделение ячейки мышкой

StarEdik

Новичок
Сообщения
365
Репутация
4
Привет всем. Прошу помочь с решением задачи.
Как с помощью autoit скрипта получит номер строки и столбца. То есть при выделение ячейки мышкой.

В excel это делается так
Код:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

  MsgBox "Row= " & Selection.Cells.Row & vbNewLine & "Column= " & Selection.Cells.Column

End Sub
 
Автор
StarEdik

StarEdik

Новичок
Сообщения
365
Репутация
4
Нашел примеры от madmasles
скорблю и помню :(

http://autoit-script.ru/index.php?topic=5291.msg38204#msg38204
http://autoit-script.ru/index.php?topic=17269.msg105583#msg105583

Первая часть почти готова. Может, кому-то пригодится.
Остался определить момент клика.
Excel версия 3.3.8.
Код:
#include <Excel3.3.8.au3>

$sFilePath = @ScriptDir & '\test.xlsx'
$oExcel = _ExcelBookOpen($sFilePath)
$Address ='Адрес активной ячейки:  ' & $oExcel.ActiveCell.Address
$Row = 'Row ' & $oExcel.ActiveCell.Row
$Column = 'Column ' & $oExcel.ActiveCell.Column

MsgBox(64, 'Адрес 2', $Address & @CRLF &  $Row  & @CRLF & $Column )


Excel версия 3.3.12.

Код:
#include <Excel.au3>

Local $oAppl = _Excel_Open()
If @error Then Exit MsgBox(16, "Excel UDF: _Excel_BookOpen Example", "Error creating the Excel application object." & @CRLF & "@error = " & @error & ", @extended = " & @extended)

Local $sWorkbook = @ScriptDir & "\test.xlsx"
Local $oWorkbook = _Excel_BookOpen($oAppl, $sWorkbook, Default, Default, True)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_BookOpen Example 1", "Error opening '" & $sWorkbook & "'." & @CRLF & "@error = " & @error & ", @extended = " & @extended)

MsgBox(64, 'Адрес', 'Адрес активной ячейки: ' & $oWorkbook.Application.ActiveCell.Address & @CRLF & _
'Row ' & $oWorkbook.Application.ActiveCell.Row & @CRLF & _
'Column ' & $oWorkbook.Application.ActiveCell.Column )
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
StarEdik
определить момент клика
Код:
#include <WinAPI.au3>
#include <Misc.au3>

While Sleep(11)
  If _IsPressed("01") Then
    $Point = _WinAPI_GetMousePos()
    $Ctrl = _WinAPI_WindowFromPoint($Point)
    If _WinAPI_GetClassName($Ctrl) = "EXCEL7" Then ConsoleWrite("click ")
    While _IsPressed("01")
      Sleep(11)
    WEnd
  EndIf
WEnd
 
Верх