最近接到任務要錄入數據到數據庫中,是將Execl表格中的數據導入到ACCESS數據文件中,對於技術人員,怎麼可能會甘心複製粘貼,湊巧前段時間一直在研究按鍵精靈(主要是遊戲太累手了),突然眼前一亮,呵呵,幾百條的數據我根本不慌。sql
我也是一邊寫邏輯,一邊學習寫法,跨語言學習,你們懂得。數據庫
這裏貼上代碼函數
// access 數據文件 Ret = Plugin.Access.Connect(".mdb後綴的文件", "123456") MessageBox ret // 提示是否鏈接到數據庫中 // 要打開的excel文件 //Call Plugin.Office.OpenXls("Excel文件地址,") price1 = "" For i = 2 To 63 Step 1 price1 = "" 縱列1 = Plugin.Office.ReadXls(1, i, 1) 縱列2 = Plugin.Office.ReadXls(1, i, 2) 縱列3 = Plugin.Office.ReadXls(1, i, 3) 縱列4 = Plugin.Office.ReadXls(1, i, 4) 縱列5 = Plugin.Office.ReadXls(1, i, 5) //輸出循環 (縱列1) 處理貨幣 (估價) table = "表名" field = "`字段1`, `字段2`, `字段3`, `字段4`, `字段5`" value = "'" & Trim(縱列1) & "', '" & Trim(縱列2) & "', '" & Trim(縱列3) & "', '" & Trim(縱列4) & "', '" & Trim(縱列5) & "'" sql = " insert into " & table & " (" & field & ") values (" & value & ")" Ret = Plugin.Access.Query( sql ) SayString sql KeyPress "Enter", 1 SayString i KeyPress "Enter", 1 SayString Ret KeyPress "Enter", 3 Delay 300 Next MessageBox "程序結束!" /** * 輸出循環 查看輸出信息 * * */ Function 輸出循環(name) SayString name KeyPress "Enter", 1 Delay 300 End Function /** * 貨幣函數 * 函數主要功能是 千位分組,公司金額要求千位有一個逗號 而後金額有區間用 - 隔開 若是無價之寶 就用無價之寶文字代替 * 函數中用到遞歸處理方式 */ Function 處理貨幣(price) If price = "無價之寶" Then price1 = price Else strIs = InStr(price, "-") If strIs > 0 Then // rstrIs = InStrRev(price, "-") // lfStr = Left(price, strIs-1) // lrStr = Right(price, rstrIs-1) // 註釋這塊計算金額類型時有必定問題 截取100,000 字樣時 返回00,000 因此換成下面這個方式 L = Len(price) lfStr = Left(price, strIs-1) lrStr = Right(price, L-strIs) lfprice = 處理貨幣(lfStr) lfprice = 處理貨幣(lrStr) price1 = lfStr & "-" & lrStr Else length = Len(price) If length > 3 Then // 截取左邊剩下的部分 lstr = Left(price, length - 3) rstr = "," + Right(price, 3) // 返回值 處理貨幣(lstr) price1 = price1 + rstr Else price1 = price End If End If End If End Function
Ret = Plugin.Access.Connect("文件路徑", "密碼") MessageBox Ret 這個地方提示-1表示鏈接上文件,這個語言真是特別正常都是1表示鏈接上,但這是-1才能鏈接
這個密碼要特殊說明一下,若是文件沒有密碼就隨便打下,由於按鍵精靈這個我也不是特別明白,明明沒有密碼,可是不輸入鏈接不上文件。學習
Call Plugin.Office.OpenXls("文件路徑")
這個是調用按鍵精靈的內部函數 用call這個方法調用,不懂去查官方說明。excel
定義 price1 全局變量code
進入循環部分,循環部分是Excel表格中一共有多少行,我是從第二行開始的,第一行爲描述,遞歸
Plugin.Office.ReadXls 這個功能不懂自行按鍵精靈官方查詢
進入循環初始化price1變量,for從第二行開始 到63行結束步長爲1, 步長的意思就是跟 ++,加多少就寫幾,處理貨幣,是由於貨幣有特殊說明,要進行千位分組,而且有的物品是文字描述,有的物品仍是區間模式。下面講解,繼續文本流,函數塊後續補上,而後進行表名選擇,字段,值添加,最好要按照sql標準去寫,而後最後在執行按鍵精靈時,打開一個txt文檔,把相關信息打印到裏面,打印sql語句,執行到第幾條i, 是否插入成功Ret(這個值爲-1才表示插入成功) 每次執行延時300毫秒,循環完畢程序結束。遊戲
函數塊講解:文檔
處理貨幣:首先判斷是不是文字信息,判斷完畢,不是進入價格處理,判斷是不是區間金額,以 - 表示分隔符,若是存在-進入區間判斷,而後截取-前面和後面的金額,而後遞歸進行千位分組,由於按鍵精靈中不存在返回值return這種函數,因此採用所有變量形式處理。