我正在MS Access中創建一個將CSV文件導入到表中的宏。我正在使用TransferText操作導入CSV字符串,並且我想讓用戶瀏覽包含CSV字符串的文件。 如何顯示「瀏覽」對話框以啓用用戶選擇文件?如何將「瀏覽文件」對話框添加到transferText命令?
回答
請參閱API: Call the standard Windows File Open/Save dialog box。但是這需要VBA代碼。
謝謝你的回答! – dmr 2009-12-21 19:41:44
替代方案(我會說是@Tony Toews和@draice推薦的API調用的第二選擇)將使用Application.FileDialog對象。只要VBA在Access中,這已經是Office自動化庫的一部分,但在Access的最新版本中(從A2002或A2003開始,我不知道哪一個),頂級Access應用程序提供了一個這個對象的包裝。但是,請注意,如果沒有對Office自動化庫的引用,那麼在沒有引用的情況下,不能使用顯示在Intellisense中的ENUM值(有用的錯誤消息會通知您並提供創建引用)。簡而言之,如果您最好像使用帶有後期綁定的自動化對象那樣使用它,除非您不必使用Application.CreateObject初始化頂級對象,因爲它已經在那裏供您使用。
編輯:
@draice問:
我不明白以下 語句,你寫道:「 頂級訪問應用程序已經 此對象提供的包裝」 「這是最好的使用它,你會用後期綁定任何 自動化對象」
託尼的API代碼可以在Windows的每個版本中使用,並且由於MS相信向後兼容性,他們將永遠不會在未來版本的Windows中破壞此API調用。
FileDialog對象在VBA中不易使用,除非將引用添加到Office自動化庫。最好最大限度地減少Access數據庫中的引用數量,因爲各種各樣的事情可能會混淆並導致您的應用程序中斷(任何缺少的引用都會阻止所有VBA代碼運行)。爲了避免缺少引用的問題,我們使用後期綁定,以便您編寫的代碼不依賴於外部庫文件。
Microsoft可能會從未來版本的Access中刪除此對象。 FileSearch對象是一個類似的情況,因爲它是作爲Office Automation庫的一部分引入到A95/97中的,然後在A2000中創建了一個包裝器,但是Microsoft在A2007中刪除了它(並且根本沒有提供任何替代方法) 。 MS可以選擇刪除將來版本的Access中的FileDialog對象,然後您的代碼將中斷。但是API調用永遠不會中斷。
謝謝你的回答!不過,我是一名編程和MS Access新手,所以我發現部分答案很混亂。 爲什麼它是「API調用的第二選擇」?從我的初學者的角度來看,Application.FileDialog看起來簡單得多。 此外,我不明白您寫的以下聲明: 「頂級Access應用程序爲此對象提供了一個包裝」 「最好使用它,就像任何具有遲綁定的自動化對象一樣」 – dmr 2009-12-23 14:46:36
- 1. 如何將編輯框添加到MFC CFolderDialog(「瀏覽文件夾」對話框)?
- 2. 如何將CMFCPropertyGridCtrl添加到對話框
- 3. 如何將spin.js添加到對話框
- 4. 如何將對話框添加到默認對話框中
- 5. 如何將事件添加到瀏覽器的「保存文件」對話框中的JavaScript
- 6. Outlook文件夾瀏覽對話框?
- 7. 瀏覽文件夾對話框
- 8. 文件瀏覽器對話框實現
- 9. 跨瀏覽器打開文件瀏覽對話框
- 10. 打開文件對話框的文件夾瀏覽器對話框
- 11. 如何欺騙Windows瀏覽對話框?
- 12. 如何給瀏覽器對話框中的userchoice文件名
- 13. 如何使「瀏覽/保存文件爲」對話框顯示NSMainMenuWindowLevel
- 14. 如何在Adobe FLEX中創建「瀏覽文件夾」對話框?
- 15. Android - 如何將兩個文本字段添加到對話框
- 16. 瀏覽jQuery對話框內
- 17. 7-zip:如何從命令行打開添加到存檔對話框?
- 18. 如何將命令添加到ListBox.ItemTemplate
- 19. 如何在wxpython中將小部件添加到文件對話框中?
- 20. 如何將密碼框添加到Mahapp中的對話框
- 21. 如何將複選框添加到警報對話框
- 22. 將打開的文件對話框添加到dll庫
- 23. 如何在對話框瀏覽器的文本框中保存文件位置
- 24. 將進度對話框添加到storefile();
- 25. 將EditText添加到警報對話框。
- 26. 將Facebook添加到Facebook Feed對話框
- 27. 將EditText添加到對話框
- 28. 將確認對話框添加到EventToCommand
- 29. 將片段添加到對話框
- 30. 將按鈕添加到對話框
這是http://stackoverflow.com/questions/1091484/how-to-show-open-file-dialog-in-access-2007-vba – Fionnuala 2009-12-22 10:49:23
幾乎重複我使用Access 2002( XP),我做的第一件事就是購買Access 2002 Developer's Handbook。有人認爲它是Access編程的「聖經」:http://www.amazon.com/Access-2002-Desktop-Developers-Handbook/dp/0782140092/ref=sr_1_2?ie=UTF8&s=books&qid=1261494653&sr=1-2 。它包含大量的示例代碼。事實上,Tony Toews指出的這個鏈接來自該書的作者之一,但該書更好地解釋瞭如何使用它。 – 2009-12-22 15:13:02