我一直在試圖從一個已關閉的excel文件中獲取數據,到目前爲止,還沒有發佈解決方案,無法打開源工作簿。我嘗試過使用ExecuteExcel4Macro命令,但不能使用它,因爲我需要VLOOKUP的搜索功能。但是,使用VLOOKUP有其自身的問題。我不能簡單地做這樣的事情:從已關閉的Excel文件中獲取範圍
cell.Value = "=VLOOKUP(<search item>, '<filepath>[<sourcename.xlsx>]<worksheet>'!<range>, <col>, FALSE)"
因爲我需要做一些處理源數據輸入到單元格之前。
我已經成功地得到它打開源工作簿和運行
Application.VLookup(<search item>, <source range object>, <col>, FALSE)
成功地獲取數據的MWE,但我不能在後臺悄悄地打開工作簿。其中一個工作簿包含鏈接,並出現一個彈出對話框,詢問我是否想更新鏈接。我試圖壓制對話框
Application.ScreenUpdate = FALSE
Application.EnableEvents = FALSE
Application.DisplayAlerts = FALSE
Workbooks.Open <source>
Set sourceRange = Workbooks(<sourcename>).Worksheets(<sheetname>).Range(<range>)
但我沒有成功抑制對話框。
VLOOKUP需要一個範圍作爲第二個參數,它必須是一個範圍。我一直在打開源文件來獲取這些範圍,但我正在尋找一種方法來獲取這些範圍對象而無需打開這些文件,因爲看起來我無法安靜地打開它們。
您是否嘗試過的Workbooks.Open命令「UpdateLinks」參數,如[這裏](https://msdn.microsoft.com/描述EN-US /圖書館/辦公室/ ff194819.aspx)。 – OldUgly