• DİKKAT

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

Mouse kontrol eden makro yapmam gerekiyor.

Katılım
10 Nisan 2005
Mesajlar
99
Excel Vers. ve Dili
Excel 2019 Türkçe
Arkadaşlar iyi akşamlar,

Excel VBA kullanarak mouse kontrol eden, excel harici bir programı kullanarak kutucukları doldurup tamam tuşuna basan ve bunu döngü içerisinde belirli bir sayıda tekrarlayan bir VBA yazılımına ihtiyacım var. Ben yapamadım. Konu hakkında yardımcı olabilirseniz çok sevinirim.

Teşekkürler.
 
Windows macro recorder/ creator vb. diye nette arama yapın.
Bu tür uygulamalar ile, fare tıklaması tuşa basma, programlar arası geçiş vb. işlemlerini, otomatik ve yinelemeli yaptırabilirsiniz.
 
Windows macro recorder/ creator vb. diye nette arama yapın.
Bu tür uygulamalar ile, fare tıklaması tuşa basma, programlar arası geçiş vb. işlemlerini, otomatik ve yinelemeli yaptırabilirsiniz.


Öncelikle ilginize teşekkür ederim.

Mause kontrol eden bu programı iş yerimde kullanacağım, iş yerimin güvenliğinden dolayı oraya herhangi bir program yüklemem şansım yok. Bunu sadece excel VBA da yazarak çalıştırabilirim.
 
Nette aşağıdaki yazılımı buldum fakat bende ilk iki satırda (Declare PtrSafe Function...) ve (Declare PtrSafe Sub...) yazım hatası verdi. Benim office 2016 belki o eski olduğundandır komutları tanımıyor olabilir deyip laptop yükledim, orada office 2020 var onda da (Public Const MOUSEEVETF_RIGHTDOWN = &H2) ve (Public Const MOUSEEVETF_RIGHTUP = &H4) da yazım hatası verdi.

Yardımcı olabilirseniz çok sevinirim.

Declare PtrSafe Function SetCursorPos Lib "User32" (ByVal x As Long, ByVal y As Long) As LongPtr
Declare PtrSafe Sub mouse_event Lib "User32" (ByVal dwflag As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButton As Long, ByVal dextrainfo As Long)

Public Const MOUSEEVETF_RIGHTDOWN = &H2
Public Const MOUSEEVETF_RIGHTUP = &H4


Sub Makro1()
Setcursorpos 87, 1071
mouse_event MOUSEEVETF_RIGHTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVETF_RIGHTUP, 0, 0, 0, 0
Application.Wait Now + TimeValue("00:00:03")

Call SendKeys("araba", True)
Application.Wait Now + TimeValue("00:00:03")

Setcursorpos 224, 336
mouse_event MOUSEEVETF_RIGHTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVETF_RIGHTUP, 0, 0, 0, 0
Application.Wait Now + TimeValue("00:00:03")

Setcursorpos 624, 464
mouse_event MOUSEEVETF_RIGHTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVETF_RIGHTUP, 0, 0, 0, 0
Application.Wait Now + TimeValue("00:00:03")

Setcursorpos 400, 204
mouse_event MOUSEEVETF_RIGHTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVETF_RIGHTUP, 0, 0, 0, 0
Application.Wait Now + TimeValue("00:00:03")

Setcursorpos 1498, 35
mouse_event MOUSEEVETF_RIGHTDOWN, 0, 0, 0, 0
mouse_event MOUSEEVETF_RIGHTUP, 0, 0, 0, 0
Application.Wait Now + TimeValue("00:00:03")
End Sub
 
O iki satırdaki PTRSAFE ifadelerini silip deneyiniz.

Ayrıca ilk satırdaki LongPtr yazan ifadeyi Long olarak değiştirip deneyiniz.
 
Malesef bir sorunum daha oluştu.

Bir nokta mouse çift tıklama yapması gerekiyor. Module içerisinde yapamadım, makroyu ThisWorbook veya sheet1 içerisine aldığımda da makro çalışmıyor hata veriyor.
Module içerisinde otomatik çift tıklamayı nasıl yapabilirim?
 
Deneyiniz.

Kod:
 SetCursorPos 100, 100 'x and y pozisyonu
  mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
  mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
  mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
  mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
 
Deneyiniz.

Kod:
 SetCursorPos 100, 100 'x and y pozisyonu
  mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
  mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
  mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
  mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0

LEFT olarak almadı ama RIGHT yapınca oldu. Yolu siz gösterdiniz Çok Teşekkür ederim.
 
Geri
Üst