2014-10-30 41 views
0

我必須導入一個有8個工作表的Excel文件,但我只需要導入第二個工作表。工作表名稱將不一樣,因爲我總是需要導入Sheet2導入工作表根據工作表編號

如果我給工作表的名稱,那麼它是導入成功,但我不想通過特定名稱導入,我想導入根據到工作表數2

DoCmd.TransferSpreadsheet acImport, 8, "P_TEMP", strFName, False, "Sheet2!A2:N" 

P_TEMP是表名,strFName是文件名

+0

我懷疑的東西一般像DoCmd.TransferSpreadsheet將滿足您的相當具體的要求,並期望你需要你的執行手動導入更多。 P_Temp是一個永久表嗎?工作表中的數據是否以常量格式導入?我可以給你一個簡單的例子,或者如果你能提供更多的信息。 – 2014-10-30 22:51:42

+0

是P_temp是永久性表格,工作表中的數據是常數格式,只有表格的名稱會更改,但它將成爲第二個工作表。 – 2014-10-31 10:50:05

回答

2

不知道是否有一個更優雅的解決方案,訪問不是我的知識的領域,但你需要確定工作表的從它的索引名稱,至少這應該是possi竹葉提取,如果你實例化Excel,以便您可以使用它的方法/屬性來獲取工作表的名稱:

Dim shtName as String 

With CreateObject("Excel.Application") 
    shtName = .Workbooks.Open(strFname).Sheets(2).Name 
    .Quit 
End With 

DoCmd.TransferSpreadsheet acImport, 8, "P_TEMP", strFName, False, shtName & "!A2:N" 
+0

其工作正常..謝謝你.. CHEERS !! \ – 2014-10-31 12:04:17