Board logo

標題: [發問] VBA開啟看盤程式 [打印本頁]

作者: Scott090    時間: 2019-1-21 16:33     標題: VBA開啟看盤程式

本帖最後由 Scott090 於 2019-1-21 16:34 編輯

VBA 的外部程式路徑與執行程式:"C:\TWEWinner\EWinnerStart.exe"
[attach]29986[/attach]

假設證號與密碼如下:
      身分證號: "E12345678"
       密碼        :"y56789x"

  如何把證號及密碼填入"系統登入" 視窗中並"確定" 啟動?
請大師們指導, 感恩
作者: Scott090    時間: 2019-1-25 07:35

回復 1# Scott090


    等待前輩們救援中
作者: lukychien    時間: 2019-1-31 14:15

回復 2# Scott090

我不知道怎麼用VBA輸入帳號、密碼並按確定,
但你可以試試電腦自動化操作軟體,例 AutoIt
作者: Scott090    時間: 2019-2-1 05:56

回復 3# lukychien

    謝謝
    將了解一下 AUTOIT 這個東西
作者: fei6999    時間: 2019-2-10 00:40

本帖最後由 fei6999 於 2019-2-10 00:48 編輯

登入點精靈通常id選了記住帳號後不用再輸入,所以寫了一個範例是只要輸入密碼即可:) [attach]30076[/attach]
輸入密碼的地方自己改改以後就開檔登入一氣呵成
作者: Scott090    時間: 2019-2-10 05:47

回復 5# fei6999

     謝謝大大的解惑,它可以自動登入運作了
作者: Scott090    時間: 2019-2-11 21:43

回復 5# fei6999

    再請問 大大
     如下圖:
  [attach]30084[/attach]
   
      進入"點精靈" 後, AppActivate "[6000] 技術線圖" ,
       紅線箭頭處,VBA 如何把
        1. 股票代號 放入
        2.  按EXCEL圖示,使線圖資料能轉傳入 Excel 檔
        又, 3. 線圖週期選擇 如何做?

      謝謝指導
作者: fei6999    時間: 2019-2-12 13:56

回復 7# Scott090

看起來像是要從點金靈匯出開高低收的值嗎?
作者: Scott090    時間: 2019-2-12 14:51

本帖最後由 Scott090 於 2019-2-12 14:54 編輯

回復 8# fei6999


    它匯出的是 所有 [6000] 視窗看到的所有線圖的數值資料
     日線圖為例:
     (日期        開盤        最高        最低        收盤        漲跌        漲跌%         
       均價5         均價10         均價60         均價240         成交量         均量5       
        OSC         DIF         MACD         3-6乖離         3-6乖離均1         
        RSV         K9         D9  .............  )
        歷史的、現在交易進行中的

     謝謝
作者: Scott090    時間: 2019-2-19 08:48

回復 8# fei6999


    承接 5# 及 7#
   
     Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
     Private 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)

Sub 技術線圖_個股顯示()
      Dim stockNo$
      stockNo = "3552"
      Sleep (100)
      AppActivate "[6000] 技術線圖"          'Focus on this window
      Sleep (1000)

        ''確保鍵盤為英數輸入法
      If IMEStatus = 1 Then
            SendKeys "+", True          '變更輸入法按鍵
      End If
      
      SendKeys "2"         'AppAtivate "股票代號、名稱或功能代碼" 視窗
      SendKeys "{BS}" ':      Sleep (100)
      SendKeys stockNo:      Sleep (1000)
      SendKeys "{ENTER}"
      SendKeys "{NUMLOCK}": Sleep (500)
      
End Sub

'在點金靈看圖軟體 的 "[6000]技術線圖" 點按 Excel圖示
'匯出 線圖資料
'===========================================
Sub 技術線圖匯出_Click()
     
      AppActivate "[6000] 技術線圖"
      Sleep 1000
      
      視窗最大化
     
      SetCursorPos 1845, 41  'Excel圖示 的點按位置座標, AutoIt 的量測點 (1476,33) * 顯示倍數 125%
      Sleep 1000

      MouseLeft_Click
      Sleep 2500
      
      SendKeys "% R"                '視窗還原
      Sleep (500)
      SendKeys "{NUMLOCK}"
      
End Sub

Sub 視窗最大化()
      AppActivate "[6000] 技術線圖"
      SendKeys "% X", True
      SendKeys "{NUMLOCK}"

End Sub

Sub MouseLeft_Click()
      mouse_event 2, 0, 0, 0, 0     'Key down
      Sleep (50)
      mouse_event 4, 0, 0, 0, 0     'Key up
      Sleep (50)
End Sub

     以上,可以變更股票代號 並 將線圖資料匯出到 EXCEL 檔
     不過,在多顯示器時就不知要如何處處理了!!!! (假設 [6000] 技術線圖" 是顯示在第2個顯示器)
作者: Scott090    時間: 2019-2-19 09:08

回復 3# lukychien


    下載了 AutoIt 並想了解它,發現有很長的路要走!
      拜了 Google 大神,沒有找到類似的東西可供模仿學習。
    假如 大大 願意 把 10# 內的東西 幫忙寫 AutoIt 的代碼,以供學習

    感恩
作者: Scott090    時間: 2019-2-21 05:49

回復 5# fei6999


    實驗,10# 的程式碼 在不同的 電腦系統並不能運作!!
    主要現象問題有三: 1. 顯示器的點位置表現不一樣 (pixel 點數不一樣)
                                         2. 輸入法的鍵盤控制表現不一樣
                                          3. 視窗放到最大的指令(Alt+ space  X) 不一定置放在顯示器的左上 (TopLeft 0,0)角
     需要更多的改善。

      微軟建議 用 sendinput 替代  API mouse_event()、keybd_event();
      sendinput() API 好像並不親民!!!!!




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