• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Mouse Koordinatlarını bulmak

Katılım
31 Ekim 2007
Mesajlar
134
Excel Vers. ve Dili
türkçe
Excelden web sayfasına veri gönderiyorum. web sayfasındaki bir butona tıklamak istiyorum (sürekli id numarası değiştiğinden).Apı ile kod yazdım ancak butona tıklamak için mouseye koordinat vermek istiyorum.Mouse ile tıklamak için buton'un koordinatı nasıl bulurum.
Ben(İE ile web sayfasını açıyorum.F12'ye (geliştirici araçları)basıyorum. Tıklayacağım simgenin üstüne geliyorum. Düzen seçeneğinden koordinatlara bakıyorum. Bu şekilde mi koordinatlar ayarlanır? Buda pek sağlıklı olmuyor.
 
Eğer Web sitesinin adresi ve yapmak istediğiniz konusunda daha Detaylı bir bilgi verirseniz yardımcı olabilecek arkadaşlar çıkacaktır diye düşünüyorum.
 
Excelden web sayfasına veri gönderiyorum. web sayfasındaki bir butona tıklamak istiyorum (sürekli id numarası değiştiğinden).Apı ile kod yazdım ancak butona tıklamak için mouseye koordinat vermek istiyorum.Mouse ile tıklamak için buton'un koordinatı nasıl bulurum.
Ben(İE ile web sayfasını açıyorum.F12'ye (geliştirici araçları)basıyorum. Tıklayacağım simgenin üstüne geliyorum. Düzen seçeneğinden koordinatlara bakıyorum. Bu şekilde mi koordinatlar ayarlanır? Buda pek sağlıklı olmuyor.
Merhaba
Ek dosyayı inceleyin. İşinize yarayabilir.

http://www.upturkey.com/download.php?file=592mause konum.xls

Modüle
Kod:
 Declare Function GetCursorPos Lib "user32" (z As m) As Long
      Declare Function SetCursorPos Lib "user32" _
      (ByVal x As Long, ByVal y As Long) As Long
Type m
x As Long
y As Long
End Type
Buton üzerine gelindiğinde imleç konumu:
Kod:
 Private Sub CommandButton1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal y As Single)
Dim yer1 As Long
Dim yer2 As m
yer1 = GetCursorPos(yer2)
MsgBox "x: " & yer2.x & Chr(13) & "y: " & yer2.y, vbInformation, "konum"
End Sub
İncelerseniz link
 
Son düzenleme:
Tam olarak ne isteniyor nasıl bir kullanım yapılacak bu uygulama ile anlamış değilim.

Alternatif olarak bir userform ekleyiniz.
userforma TextBox1 ve TextBox2 nesnelerini ekleyiniz.

kodu userformun içine koyunuz.

Kod:
#If VBA7 Then
Private Declare PtrSafe Function GetWindowLong Lib "User32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare PtrSafe Function SetWindowLong Lib "User32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare PtrSafe Function SetWindowPos Lib "User32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal CX As Long, ByVal CY As Long, ByVal wFlags As Long) As Long
Private Declare PtrSafe Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare PtrSafe Function GetActiveWindow Lib "user32.dll" () As Long
Private Declare PtrSafe Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare PtrSafe Function DrawMenuBar Lib "User32" (ByVal hWnd As Long) As Long
#Else
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal CX As Long, ByVal CY As Long, ByVal wFlags As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetActiveWindow Lib "user32.dll" () As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
#End If

Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If (X >= 0) And (Y >= 0) Then
TextBox1.Text = Y
TextBox2.Text = X
End If
End Sub

Private Sub UserForm_Initialize()
Dim hwnd As Long
hwnd = FindWindow(vbNullString, Me.Caption)
SetWindowLong hwnd, -16, GetWindowLong(hwnd, -16) Or &H10000 _
Or &H20000 Or &H40000
End Sub
 
Geri
Üst