Board logo

標題: [發問] 如何使用excel 發送文字訊息 [打印本頁]

作者: lichang    時間: 2015-4-28 00:12     標題: 如何使用excel 發送文字訊息

各位大大好,我想將儲存格a1的值,傳送到例如line或任何視窗上面,我是用以下方式撰寫,但會發生"沒有使用權限"
請問該如何解決???

或者有什麼比較好相容的建議嗎??

Sub sdfadf()

Dim a As Integer
Dim b As Integer

a = Sheets(1).Cells(1, 1).Value
b = Sheets(1).Cells(2, 1).Value

If a <> b Then
   a = Orderfunction(a, b)
   Sheets(1).Cells(3, 1).Value = a  
End If

End Sub



模組:
Public Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 'For 32 Bit Systems



Public Function Orderfunction(neworder As Integer, oldorder As Integer) As Integer
If neworder > 0 Then
   a = SetCursorPos(480, 160) '移動至第二下單格
        mouse_event 2, 0, 0, 0, 0     '下壓左滑鼠
        mouse_event 4, 0, 0, 0, 0     '放鬆左滑鼠
           Sleep (500)
      
   a = SetCursorPos(300, 70)
         mouse_event 2, 0, 0, 0, 0     '下壓左滑鼠
         mouse_event 4, 0, 0, 0, 0     '放鬆左滑鼠
          SendKeys Range("a1").Text
           Sleep (500)
          SendKeys "{ENTER}"
           Sleep (500)
end if
end function
作者: itooyess    時間: 2015-4-28 13:42

請問一下,您裡面那些SetCursorPos(480, 160)之類的動作,
是在模擬滑鼠去點LINE對話視窗然後貼訊息送出嗎?
作者: lichang    時間: 2015-4-28 19:44

是的,移動滑鼠後點擊輸入
作者: bobomi    時間: 2015-4-29 15:13

沒有使用權限 會不會是 win8 問題?

可以用 postMessage 去實現
作者: itooyess    時間: 2015-4-29 17:02

原則上可以用切換到LINE對話視窗標題的方式看看,只要對話窗不要縮小就可以了(建議讓它固定在最上層)

AppActivate "對話視窗標題"
Sleep (500)
SendKeys Range("a1").Text
Sleep (500)
SendKeys "{ENTER}"
Sleep (500)

這樣試試看,希望對你有幫助!




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)