Board logo

標題: 無法用超連結下如何import某個視窗畫面中的DATA [打印本頁]

作者: cdkee    時間: 2010-11-1 11:45     標題: 無法用超連結下如何import某個視窗畫面中的DATA

因為無法用超連結方法,某個視窗畫面中含有會變動的數字data,是否可capture畫面中的data,再import到excel,又可不斷更新?或有其他方法?
請教大大,應怎樣寫?小輩再次感謝!
作者: Hsieh    時間: 2010-11-1 19:22

視窗畫面是網頁或是其他程式的視窗?
作者: cdkee    時間: 2010-11-1 21:22

視窗畫面是網頁或是其他程式的視窗?
Hsieh 發表於 2010-11-1 19:22



    版大,是其他程式的視窗。
作者: cdkee    時間: 2010-11-3 12:16

本帖最後由 cdkee 於 2010-11-3 18:11 編輯
視窗畫面是網頁或是其他程式的視窗?
Hsieh 發表於 2010-11-1 19:22



    請教版大,若視窗畫面是網頁(行JAVA),因為用Web Query方法不成,如何利用VBA匯入?小輩再三謝謝!
作者: cdkee    時間: 2010-11-3 18:11

請教版大,若視窗畫面是網頁(行JAVA),因為用Web Query方法不成,如何利用VBA匯入?cdkee 發表於 2010-11-3 12:16



    在網上找到的一些分享,但不明所指:
"找到控件ID,看一下有沒有辦法用api直接讀取控件文本,然後再處理一下放入工作表中"
作者: cdkee    時間: 2010-11-3 18:32

本帖最後由 cdkee 於 2010-11-3 18:34 編輯

回復 6# 老夏


    謝謝老夏前輩!但是要不斷更新喔...
因為無法用超連結方法,某個視窗畫面中含有會變動的數字data,是否可capture畫面中的data,再import到excel,又可不斷更新?或有其他方法?
請教大大,應怎樣寫?小輩再次感謝!cdkee 發表於 2010-11-1 11:45

作者: cdkee    時間: 2010-11-3 18:41

本帖最後由 cdkee 於 2010-11-3 18:44 編輯

跟老夏前輩的方向找,找到以下sample,(小輩不才,不明其中)不知是否前輩所指:
'**Win32 API Declarations
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal IpClassName As String, ByVal IpWindowName As String) As Long
Private Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, IpRect As RECT) As Long

'**Win32 API User Defined Types
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type

Private Sub test()
Dim Rec As RECT
'Get Left, Right, Top and Bottom of Form1
GetWindowRect GetWindowHandle, Rec
'Set Cursor position on X
SetCursorPos Rec.Right - 600, Rec.Top + 400
End Sub

Private Function GetWindowHandle() As Long
Const CLASSNAME_MSExcel="XLMAIN"
'Gets the Apps window handle, since you can't use App.hInstance in VBA (VB Only)
GetWindowHandle = FindWindow(CLASSNAME_MSExcel, vbNullString)
End Function
作者: cdkee    時間: 2010-11-3 21:34

本帖最後由 cdkee 於 2010-11-3 21:52 編輯

回復 9# 老夏


    再謝謝前輩指導!
是小輩說不清楚!是要網頁中含有會變動的數字data,連結到儲存格,又可不斷更新,請前輩不厭小輩問題多,再請前輩指導!
作者: oobird    時間: 2010-11-3 22:19

無法知道你要查什麼,舉個例子吧:在a1儲存格查詢本版在線人數
Sub Test()
    With CreateObject("Microsoft.XMLHTTP")
            .Open "get", "http://forum.twbts.com/index.php", False
            .send
            [a1] = Split(Split(.responseText, "- <em>")(1), "</em>")(0)
    End With
End Sub
每次運行即更新
作者: cdkee    時間: 2010-11-3 22:55

回復 11# 老夏


    前輩這樣說,看來這是一個很複雜的問題!
作者: cdkee    時間: 2010-11-3 23:12

回復 12# oobird


    謝謝版大舉例指導!
小輩問題的網頁要LOGIN才看到DATA,而且是行JAVA,用Web Query方法不成!
作者: Hsieh    時間: 2010-11-3 23:22

如果一般網頁而言,可由網頁控件直接擷取
若是其他應用程式以WEB開啟那麼可能要看該程式支持的語言而定
作者: cdkee    時間: 2010-11-3 23:32

如果一般網頁而言,可由網頁控件直接擷取
若是其他應用程式以WEB開啟那麼可能要看該程式支持的語言而定
Hsieh 發表於 2010-11-3 23:22



謝謝版大提點!
該網頁必須裝上JAVA才可顯示DATA,程式支持的語言是否指這個?
作者: oobird    時間: 2010-11-4 08:39

謝謝版大提點!
該網頁必須裝上JAVA才可顯示DATA,程式支持的語言是否指這個?
cdkee 發表於 2010-11-3 23:32



    看這情形你應該在JAVA上做,你是否跑錯地方了?
作者: Hsieh    時間: 2010-11-4 09:25

回復 14# oobird

這樣的問題應該有點類似看盤軟體
excel透過dde通道提取看盤軟體資料
若是你用ie開啟此類應用程式檢視其原始碼看是否能取得網頁所有內容
作者: oobird    時間: 2010-11-4 09:32

回復  oobird

這樣的問題應該有點類似看盤軟體
excel透過dde通道提取看盤軟體資料
若是你用ie開啟此類 ...
Hsieh 發表於 2010-11-4 09:25



    不懂股票,也沒有DDE,不過可以想像,如GOOGLE翻譯網頁,以前可以取得資料,現在也讀不到了!
作者: cdkee    時間: 2010-11-4 14:00

看這情形你應該在JAVA上做 ...
oobird 發表於 2010-11-4 08:39

是否要用JAVA寫?謝謝版大!
回復  oobird

這樣的問題應該有點類似看盤軟體
excel透過dde通道提取看盤軟體資料
若是你用ie開啟此類應用程式檢視其原始碼看是否能取得網頁所有內容
Hsieh 發表於 2010-11-4 09:25

版大說的正是,是看股票的網頁。
問1)若利用"excel透過dde通道提取看盤軟體資料",是要什麼工具的,謝謝!
問2)請教版大,是用什麼方法檢視網頁的原始碼,謝謝!
問3)除了在網上看DATA,小輩另一途徑是裝看盤程式,以下附件是否版大所指的原始碼?可以怎樣用?
各前輩花了那麼多寶貴時間教導,小輩再三感謝!

[attach]3495[/attach]
作者: oobird    時間: 2010-11-4 14:27

看股票一定要這麼麻煩嗎?多半朋友都用web查詢。[attach]3496[/attach]
作者: Hsieh    時間: 2010-11-4 14:38

我也沒玩股票也沒有這些看盤軟體
據瞭解證券公司提供的看盤軟體只須要滑鼠拖曳到儲存格即可
作者: cdkee    時間: 2010-11-4 16:03

看股票一定要這麼麻煩嗎?多半朋友都用web查詢。
oobird 發表於 2010-11-4 14:27



   
請教版大,若視窗畫面是網頁(行JAVA),因為用Web Query方法不成,如何利用VBA匯入?小輩再三謝謝!
cdkee 發表於 2010-11-3 12:16



    謝謝版大!就是web查詢不成!
作者: cdkee    時間: 2010-11-4 16:17

我也沒玩股票也沒有這些看盤軟體
據瞭解證券公司提供的看盤軟體只須要滑鼠拖曳到儲存格即可
Hsieh 發表於 2010-11-4 14:38



    小輩裝的看盤軟體,就是滑鼠不能將它拖曳到儲存格!
這個問題要$找專人寫又不化算...
再謝謝各版大對小輩多麼的忍耐,小輩增加知識不少!
作者: Hsieh    時間: 2010-11-4 16:41

回復 21# cdkee
你這個軟體界面是否能操作選取,複製的動作
例如:在該軟體操作ctrl+a是否能全選,再按ctrl+c是否能複製到資料
若是可以做到複製資料
那麼可借由vba的DDEExecute 方法
傳送按鍵來複製資料貼到工作表
當然這必須你自己下點功夫學習
因為天下沒有白吃的午餐
作者: cdkee    時間: 2010-11-4 16:55

回復  cdkee
你這個軟體界面是否能操作選取,複製的動作
例如:在該軟體操作ctrl+a是否能全選,再按ctrl+c是否能複製到資料
若是可以做到複製資料
那麼可借由vba的DDEExecute 方法
傳送按鍵來複製資料貼到工作表
Hsieh 發表於 2010-11-4 16:41

版大所說,給小輩重見出路!
是可以按ctrl+c做到複製資料,用"vba的DDEExecute 方法",版大可否說多點,給小輩一些例子入手,再三感謝!
作者: Hsieh    時間: 2010-11-5 00:22

回復 23# cdkee
用WORD測試
將檔案解壓縮到電腦中
開啟DDE.xls
10秒鐘看日期時間的變化
    [attach]3500[/attach]
作者: cdkee    時間: 2010-11-5 00:30

回復  cdkee
用WORD測試
將檔案解壓縮到電腦中
開啟DDE.xls
10秒鐘看日期時間的變化
Hsieh 發表於 2010-11-5 00:22



    感謝版大教授!小輩學習中。




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