2017-01-21 31 views
0

我是全新的,以MS-Access和有一些指導,問題,-ADVICE請求 - MS-ACCESS超鏈接比較腳本建議

我的單位使用MS-Access跟蹤大型電子部件的庫存。這些部件具有鏈接到產品網頁的超鏈接字段。這裏有一個例子:

Part Number  Part Type Value Description     Component_Height Voltage Tolerance Schematic Part    Layout PCB Footprint Manufacturer Part Number Manufacturer Distributor Part Number Distributor Price Availability Link 
UMK105CG100DV-F Ceramic  10pF CAP CER 10PF 50V NP0 0402 0.35 MM    50V  ±0.5pF  xxxxx\C_NP,xxxxx\C_NP_Small c_0402     UMK105CG100DV-F    Taiyo Yuden  587-1947-2-ND Digi-Key   0.00378 In Stock  http://www.digikey.com/product-detail/en/UMK105CG100DV-F/587-1947-2-ND/1473246 

鏈接在此:

http://www.digikey.com/product-detail/en/UMK105CG100DV-F/587-1947-2-ND/1473246

幾乎整個廣大的超鏈接指向供應商DigiKey的。

眼下驗證流程是這樣的:

每隔一個月左右一大羣我們坐下來,一個個拷貝的超級鏈接到谷歌。 然後我們打開相應的網頁並驗證組件的可用性等。

我們有近1000個組件,此過程需要數小時。我正在尋找的是關於如何改進我們的工作流程的建議。我希望有人說出一種方法來編寫一個「使用默認瀏覽器和搜索字符串」宏或腳本界面的「打開超鏈接」。然後,僞腳本將檢查字符串「可用數量」是否大於1,如果不是(零件缺貨),則將零件標記爲過時。

任何意見將不勝感激,我真的旨在優化我們的工作流程。

回答

2

您可以遍歷網頁的DOM。快速瀏覽網頁,您可以看到一張帶有產品詳細信息名稱的表格。

因此,下面的VBA代碼將加載示例網頁,並提取值。

Option Compare Database 
Option Explicit 

Enum READYSTATE 

    READYSTATE_UNINITIALIZED = 0 
    READYSTATE_LOADING = 1 
    READYSTATE_LOADED = 2 
    READYSTATE_INTERACTIVE = 3 
    READYSTATE_COMPLETE = 4 

End Enum 

Sub GetWebX() 

    Dim ie  As New InternetExplorer 
    Dim HTML As New HTMLDocument 
    Dim strURL As String 
    Dim Htable As New HTMLDocument 
    Dim i  As Integer 

    strURL = "http://www.digikey.com/product-detail/en/UMK105CG100DV-F/587-1947-2-ND/1473246" 

    ie.Navigate strURL 
    Do While ie.READYSTATE < READYSTATE_COMPLETE 
    DoEvents 
    Loop 
    Set HTML = ie.Document 

    Set Htable = HTML.getElementById("product-details") 

    For i = 0 To Htable.Rows.Length - 1 
    With Htable.Rows(i) 
     Debug.Print Trim(.Cells(0).innerText), Trim(.Cells(1).innerText) 
    End With 
    Next I 
    ie.Quit 
    Set ie = Nothing 

End Sub 

輸出的上面:

Digi-Key Part Number   587-1947-2-ND 
Quantity Available    230,000 
Can ship immediately 
Manufacturer     Taiyo Yuden 
Manufacturer Part Number  UMK105CG100DV-F 
Description     CAP CER 10PF 50V NP0 0402 
Expanded Description   10pF ±0.5pF 50V Ceramic Capacitor C0G, NP0 0402(1005 Metric) 
Lead Free Status/RoHS Status Lead free/RoHS Compliant 
Moisture Sensitivity Level (MSL) 1 (Unlimited) 
Manufacturer Standard Lead Time 11 Weeks 

因爲上面是一個數組,那麼你可以把右邊的表格上的按鈕,並有VBA的幾行額外寫入值到形成。因此,用戶只需在Access中訪問給定的記錄/表單 - 按一個按鈕,上面的值將被複制到表單中。

上面的VBA代碼需要一個參考:

Microsoft Internet Controls 
Microsoft HTML Object Library 

我建議測試後您使用後期的上述兩個庫綁定。