簡體   English   中英

訪問 VBA 將動態 Excel 電子表格作為文本導入

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM