vba獲取網頁表格資料庫資料庫資料庫
Ⅰ 怎麼用VBA或網路爬蟲程序抓取網站數據
VBA網抓常用方法
1、xmlhttp/winhttp法:
用xmlhttp/winhttp模擬向伺服器發送請求,接收伺服器返回的數據。
優點:效率高,基本無兼容性問題。
缺點:需要藉助如fiddler的工具來模擬http請求。
2、IE/webbrowser法:
創建IE控制項或webbrowser控制項,結合htmlfile對象的方法和屬性,模擬瀏覽器操作,獲取瀏覽器頁面的數據。
優點:這個方法可以模擬大部分的瀏覽器操作。所見即所得,瀏覽器能看到的數據就能用代碼獲取。
缺點:各種彈窗相當煩人,兼容性也確實是個很傷腦筋的問題。上傳文件在IE里根本無法實現。
3、QueryTables法:
因為它是excel自帶,所以勉強也算是一種方法。其實此法和xmlhttp類似,也是GET或POST方式發送請求,然後得到伺服器的response返回到單元格內。
優點:excel自帶,可以通過錄制宏得到代碼,處理table很方便
。代碼簡短,適合快速獲取一些存在於源代碼的table里的數據。
缺點:無法模擬referer等發包頭
也可以利用採集工具進行採集網頁端的數據,無需寫代碼。
Ⅱ 如何用VBA調用資料庫中數據
首先在工具 引用 中引入ADO組件(全名叫Microsoft ActiveX Data什麼的,很好好找),然後聲明一個連接變數 conn as ADODB.Connetion用來連接資料庫,這里需要連接字元串,不知道你是什麼類型資料庫,所以連接字元串無法給出,再聲明一個數據集變數ds as ADODB. DATASET用於執行SQL語句並返回結果集,得到結果集之後就可以訪問裡面的內容了
Ⅲ excel VBA 網頁數據抓取
首先打開Excel 2007工作表,點擊想要把數據導入的位置,然後在菜單欄找到第五項"數據「,點擊,在「獲取外部數據」項下找到「自網站」並點擊。
這時彈出來」新建 Web 查詢「對話框,可以在「地址」一欄鍵入要添加數據的網頁的地址。
添加完成後,點擊「轉到(G)」,下面會出來要添加網頁的內容和黃色箭頭,單擊要選擇的表旁邊的黃色箭頭,可以看到點擊後黃色箭頭變成綠色的對號,這表示內容已經選中了,然後單擊「導入(I)」。
彈出來」導入數據「對話框,設置完成點擊「確定」。
Excel表中顯示「正在獲取數據……」。
數據獲取完成,之前選中的網頁內容全部導入了Excel工作表裡。
Ⅳ 求助,利用excel vba提取資料庫數據問題
1、漢字在前,數字在後面的情形。可以用MID,min, find三個函數來實現提取裡面的數字。如圖:在B2輸入「=MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&「0123456789」)),20)」
Excel怎麼只提取表格中的數字
5、指定從第幾個數組提取開始。也就是說在不連續的那些數字中,從第幾次出現的數組開始提取。同樣在模塊那裡輸入如下代碼:
Function GetNums(rCell As Range, num As Integer) As StringDim Arr1() As String, Arr2() As StringDim chr As String, Str As StringDim i As Integer, j As IntegerOn Error GoTo line1
Str = rCell.TextFor i = 1 To Len(Str)chr = Mid(Str, i, 1)If (Asc(chr) 《 48 Or Asc(chr) 》 57) ThenStr = Replace(Str, chr, 「 」)End IfNext
Arr1 = Split(Trim(Str))ReDim Arr2(UBound(Arr1))For i = 0 To UBound(Arr1)If Arr1(i) 《》 「」 ThenArr2(j) = Arr1(i)j = j + 1End IfNext
GetNums = IIf(num 《= j, Arr2(num - 1), 「」)line1:End Function