[英]Access VBA to import dynamic excel spreadsheets as text
我正在尋找一種使用 access vba 將整個 excel 電子表格作為文本導入的方法。 這個問題的難點在於導入需要是動態的。 我知道通常可以通過保存的導入或使用DoCmd.TransferSpreadsheet
方法輕松完成導入,但不幸的是,這些不適合我的需要,因為列數和某些標題名稱可能會在文件之間發生變化(這些是來自客戶端的文件,因此我無法控制它們是如何進來的)。 顯然,性能不是這種方法的優先事項。
須藤代碼:
Dim db AS DAO.Database
Dim file_to_import AS String
Set db = CurrentDb
Set file_to_import = "C:/Foo/bar/Access/Imports/FORIMPORT.xlsx"
'Read headers of spreadsheet into array
Loop through header row (A1:ZZ1) and create an array
'Create table creation string based on array
Creation_String = "CREATE TABLE TBL_Import ([Array_Element1] TEXT(255), [Array_Element2] TEXT(255), [Array_Element3] TEXT(255), ...etc, etc"
'Create TBL_Import
CurrentDb.Execute Creation_String
'Import data
'(Imports data from file_to_import into TBL_Import)
有點類似於這個問題,也許可以以此為起點:[ MS Access VBA script to interface with Excel
在此先感謝您的幫助。 我知道一些代碼,但顯然我仍在學習 VBA 的來龍去脈。
簡單的解決方法不是導入工作表,而是鏈接它。
然后你有一個附加的(鏈接的)表,你可以在一個簡單的選擇查詢中用作源,你可以在其中修改和/或轉換值。
現在,使用此查詢進行進一步處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.