Board logo

標題: [發問] 關於用excel vba發訊息 [打印本頁]

作者: 瀟湘夜羽    時間: 2015-8-2 13:10     標題: 關於用excel vba發訊息

各位好

很抱歉小弟部會寫程式,但是靠著版上各位高手解決其他人的問題
小弟就只有用模仿的方式修改,目前想了解的問題是

怎麼樣在某個儲存格有變動到某個數值後如:原先數值為0  然後變動到大於 50
在這個時候用vba方式發送訊息到通訊軟體 如:line、skype、google hangouts等等

但礙於真的不會寫,上網找了好幾天資料都只找到發email,都沒有發訊息的,請問版上有人可解答小弟疑惑嗎 謝謝
作者: H_D_M_N    時間: 2015-8-2 16:59

樓上大大您好,有Line可以直接交流嗎?
作者: 瀟湘夜羽    時間: 2015-8-2 19:55

不好意思,在這邊是不方便說嗎??
還是有某些因素,不太方便給line 抱歉
作者: koo    時間: 2015-8-2 20:41

找到一篇請試試
http://stackoverflow.com/questions/26525303/using-excel-vba-to-send-skype-messages-to-group-chat
作者: 瀟湘夜羽    時間: 2015-8-3 00:15

上網找說好像要用skype uri 但是我也不知道要怎麼用.....
作者: mark15jill    時間: 2015-8-3 13:45

回復 1# 瀟湘夜羽

基本上 EXCEL  VBA 屬於"文書軟體技術"

你要跨軟體(跨領域) 用在SKYPE發訊息

個人感覺... 用按鍵精靈比較好點...
作者: 瀟湘夜羽    時間: 2015-8-4 20:00

感謝大哥回復
關於按鍵精靈我有想過
但礙於我不希望影響電腦上的操作
在發訊同時是不影響操作電腦的
所以才不使用 謝謝
作者: mark15jill    時間: 2015-8-7 09:34

回復 7# 瀟湘夜羽

不想影響到電腦運作 基本上是不可能的事情
尤其如果你是用VBA 更加會有這個問題..
不管你是不是有遮蔽到運作過程...

原因如下:
如果你是用VBA運行你要的結果流程(簡易說明)
VBA →電腦特定埠→網路傳輸→通訊軟體中轉(例如:SKYPE)→<通訊封包雙向比對>→通訊軟體定位(帳號)→通訊軟體發送訊息
如果你今天只有一筆兩筆 那可能影響很小 但就像你說的 數量多... 那就..
作者: 瀟湘夜羽    時間: 2015-8-7 12:01

感謝大哥的回覆
基本上我是大概一個時間點,會出現幾個訊號
比如說平常顯示0,有訊號時顯示1,在1出現時發送訊號
但同時間最多就只有5個左右,所以應該是影響不大吧?
不知道大哥有沒有解決的方式?
因為我現在也找不到可以使用的程式碼,沒有一定要侷限在skype 謝謝
作者: mark15jill    時間: 2015-8-7 12:17

感謝大哥的回覆
基本上我是大概一個時間點,會出現幾個訊號
比如說平常顯示0,有訊號時顯示1,在1出現時發 ...
瀟湘夜羽 發表於 2015-8-7 12:01


因沒接觸過相關使用方式,僅以以下參考資料供您參考
    參考資料網址:
   1、[EXCEL] 請問excel vba下單訊號出現後要傳簡訊的話應如何編寫?
   2、請問傳訊息到LINE或SKYPE的vba程式
作者: jackyq    時間: 2015-8-7 12:55

回復 1# 瀟湘夜羽


要發給自己還是其他人呢
作者: 瀟湘夜羽    時間: 2015-8-10 22:33

感謝兩位的回覆,關於第一位大哥回復的我有去看過
但看起來第二個可能性比較高,但部會用spy++的軟體,不知道如何使用
第二位大哥的是,如果兩個都要的話呢,有解決的方式嗎?
作者: 瀟湘夜羽    時間: 2015-8-11 01:20

上網找了一下相關的spy++的文章
有下載了軟體,但問題來了....
我不會寫excel vba...
不知道有沒有好心人士可以教一下

目前想做的事
一開始抓到視窗(line,skype等等通訊軟體的視窗)
假設是視窗123,我要在excel 儲存格A1,當A1原先是空白,然後有公式運算後變成1
變成1之後,把這個1的數字發送到通訊軟體上,大致上是這樣

那有甚麼需要東西,例如是視窗代碼等等的(我看SPY文章好像要這個之類的)
很抱歉自身能力不足只能在這邊詢問
作者: diolin    時間: 2015-8-13 11:16

回復 13# 瀟湘夜羽

一般有兩個方式
1. sendkeys : 比較容易上手, 但變因較多
2. API: 每種軟體, 會有各自的API, 所以難易度與完整性也不盡相同

但這都一定要寫程式
作者: 瀟湘夜羽    時間: 2015-8-14 09:10

sendkeys 看文章是電腦好像沒辦法操控,要鎖定位置的樣子
但因為我電腦還是要動,所以這方式對我來說還是不太行

api 這問題我有試著找文章解決
可以理解文章意思 但我不知道要怎麼寫一堆變數因數 看不懂

目前我覺得比較好的可能就像是spy++ 可以找到視窗代碼等等的鎖定
至少我想要動電腦的條件應該比較符合我吧?
作者: jackyq    時間: 2015-8-14 10:22

回復 15# 瀟湘夜羽


大大好
你現在只能用 Skype 它有開放接口 不需要 API
Line 的接口印象中要用 $$ 買
作者: lichang    時間: 2015-8-14 16:09

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
    Dim myKey As Object
    Set myKey = CreateObject("WScript.Shell")
   

   a = SetCursorPos(20, 430) '移動至Line對話視窗
         mouse_event 2, 0, 0, 0, 0     '下壓左滑鼠
         mouse_event 4, 0, 0, 0, 0     '放鬆左滑鼠
           Sleep (500)
         myKey.SendKeys "Hello, I'm VBA message"
           Sleep (500)
         myKey.SendKeys "{ENTER}"
          Sleep (500)
         myKey.SendKeys "{ENTER}"
          Sleep (500)


小弟用最愚笨的方法寫的,請笑納!!
作者: fashionable3000    時間: 2015-8-17 12:38

最近也想弄類似的程式
有查了一些資料
搜尋line.api很多網頁都指向http://carpedm20.github.io/line/api/models.html#linemessage
說是大神提供的
以下是網頁的其中一個程式碼。

from line import LineClient, LineGroup, LineContact

try:
   client = LineClient("ID", "PASSWORD")
   #client = LineClient(authToken="AUTHTOKEN")
except:
   print "Login Failed"

while True:
   op_list = []

   for op in client.longPoll():
      op_list.append(op)

   for op in op_list:
      sender   = op[0]
      receiver = op[1]
      message  = op[2]

      msg = message.text
      receiver.sendMessage("[%s] %s" % (sender.name, msg))

問題一:請問這是什麼語言?
問題二: 程式碼中LineClient,為什麼他們不用先宣告?
         https://www.youtube.com/watch?v=qwIlf1OpXwA(這是skype的,一開始有先導入api
,所以很多函數不用宣告,就可以直接用)
問題三:樓上有提到line.api需要付費,那這個網頁的程式碼還能用嗎?
問題四:這大神的api是自創的?那自創的方法是什麼?破解line.exe嗎?

有錯請指正,希望能得到解答,感激不盡。
作者: diolin    時間: 2015-8-17 15:23

回復 18# fashionable3000

以上看起來應該是 Python

想知道detail怎麼作, 就去看 import 的東西吧
作者: jackyq    時間: 2015-8-17 16:01

回復 18# fashionable3000

大大好
API Documentation 不是已經寫的很清楚了嗎
它是把 Line 官方的 API 封裝成方便其他語言直吃的 dll
所以它不是什麼破解的




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