Soru Aurdino ile iletişim mümkünmüdür?

Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
07-02-2024
Merhaba arkadaşlar.
Excell vba ile aurdino iletişimi mümkün olabilirmi?
Başaran varsa com3 ekranındaki metni textboxa nasıl atılır.
adsız.PNG
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,747
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Vay bee.. Windosw XP

Anılarım canlandı...
 
Katılım
24 Nisan 2005
Mesajlar
3,680
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Arduino değil de Excel vba ile seri haberleşme olarak araştırılabilir.
Excel de seri haberleşme uygulamaları var diye biliyorum
 
Katılım
12 Ocak 2009
Mesajlar
838
Excel Vers. ve Dili
2003
Altın Üyelik Bitiş Tarihi
07-02-2024
Merhaba,
Buradan, bir şeyler çıkabilir.
Buradaki açıklamayı okudum. Setup dosyası kurulumunu yaptım. Videodaki gibi bir iletişim mümkün olmadı.
Abim elektronikçi, kullandığı devre uygulumaları falan xp kullanmayı zorunlu kıldığı için daha yüksek bir işletim sistemi kullanılamıyor.
 
Katılım
30 Mart 2010
Mesajlar
240
Excel Vers. ve Dili
2007,2010,2013
Altın Üyelik Bitiş Tarihi
29-05-2021
Merhaba,
v2 üzerinden çeşitli güncellemeler yapanlar olmuş. Buradan erişebilirsiniz. Elimde arduino olmadığı için deneyemiyorum.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,374
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Pencere başlığı COM3 ismi sabitse, FindWindow, FindWindowEx ve GetText Win32 API fonksiyonları ile rahatlıkla alınabilir. Biraz araştırın...


.
 
Katılım
24 Nisan 2005
Mesajlar
3,680
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
@Zeki Gürsoy önerisi dikkate alarak,

Aşağıdaki kod ile not defterindeki "deneme" yazısını alabildim.

Not defteri pencere başlığı : "Adsız - Not Defteri" size COM3 olarak yazılacak.
Not defteri deneme yazısının olduğu kutunun class ismi :"Edit" sizde de büyük ihtimalle Edit dir deneyiniz.

Class ismi almak için program: www.asriakdeniz.com/dosyaindir/au3info.zip
Programı çalıştırın. Finder Tool resimini sol tuş ile tutup bilgi almak istediğiniz yere götürün.
Ekranda Class bilgisini görürsünüz.

Kaynak: https://www.excelforum.com/excel-programming-vba-macros/514107-gettext-client-access-as400-window-api-help.html

C++:
Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare PtrSafe Function GetDlgItemText Lib "user32" Alias "GetDlgItemTextA" _
(ByVal hDlg As Long, ByVal nIDDlgItem As Long, ByVal lpString As String, ByVal nMaxCount As Long) 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 FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long

Private Const WM_GETTEXTLENGTH = &HE
Private Const WM_GETTEXT = &HD

Sub GetTextTest2()
Dim mlngHandle As Long
Dim mlngRetVal As Long
Dim mstrText As String
mlngHandle = FindWindowEx(FindWindow(vbNullString, "Adsız - Not Defteri"), 0, "Edit", vbNullString)
mlngRetVal = SendMessage(mlngHandle, WM_GETTEXTLENGTH, 0&, ByVal 0&) + 1
Debug.Print mlngRetVal
If mlngRetVal > 0 Then 'there is text
mstrText = Space$(mlngRetVal)
Debug.Print mstrText
mlngRetVal = SendMessage(mlngHandle, WM_GETTEXT, mlngRetVal, ByVal mstrText)
mstrText = Left(mstrText, mlngRetVal)
Debug.Print "-" & mstrText & "-"
MsgBox "-" & mstrText & "-"
End If
End Sub
 
Üst