我目前有一個數據庫,用於存儲與我的數據相關聯的圖片路徑,並使用VBA將它們顯示在圖片框中。它的效果很好,但添加圖片的過程有點繁瑣,用戶難以正確使用它(輸入錯誤的路徑,忘記包含擴展名等)。這會導致數據庫中一堆垃圾條目。我想簡化這個過程。理想情況下,點擊「添加圖片」後,我想打開Windows資源管理器,讓用戶選擇所需的圖片,獲取該圖片的路徑,並將其插入表格中。同樣,我沒有使用OLE,只是路徑的文本字段。這可能嗎?使用Windows資源管理器獲取文件的路徑(字符串)以存儲在表中
回答
正如Remou引用的那樣,可以使用FileDialog對象來完成此操作。對於很多人來說,可能需要添加對MS Office對象庫的引用(Access Library不夠)。我用於從資源管理器中選擇的文件收集路徑名的代碼如下:
Public Sub ShowFileDialog()
Dim dlgOpen As FileDialog
Set dlgOpen = Application.FileDialog(msoFileDialogOpen)
With dlgOpen
.AllowMultiSelect = False
.InitialFileName = "Z:\" 'Initial Path when explorer is opened
.Show
If .SelectedItems.Count = 0 Then
MsgBox ("No file Selected") 'No file selected
Else
Me.txtPath = .SelectedItems(1) 'sets textbox on the form to the path selected
End If
End With
End Sub
謝謝hans。我偶然發現了一個類似問題的答案http://stackoverflow.com/questions/9476268/filedialog-doesnt-work-in-access-2010那裏。它幫了我很多。正如你在我的編輯中看到的那樣,我想擁有文件的絕對路徑,而不僅僅是文件名。你知道如何做到這一點? – Scotch 2012-07-09 17:36:47
擺脫'Dir()'...它只返回你餵它的完整路徑中的文件名。 IOW,試試這個:'Me.txtPath = .SelectedItems(1)' – HansUp 2012-07-09 17:40:48
這是有效的。我會編輯我的答案,包括 - 謝謝。我認爲所有這些都明確地回答了我的問題。 – Scotch 2012-07-09 18:03:58
- 1. 使用Windows資源管理器獲取python文件的路徑
- 2. 在python中使用windows資源管理器瀏覽器存儲文件路徑
- 3. 使用python獲取選定文件在Windows資源管理器中的路徑
- 4. 從Windows資源管理器中捕獲文件夾路徑
- 5. 在AutoIt中獲取所選Windows資源管理器文件的路徑
- 6. Python - 在當前Windows資源管理器中獲取所選文件的路徑
- 7. 獲取當前路徑的Windows資源管理器C++
- 8. 獲取當前的Windows資源管理器路徑
- 9. 從句柄獲取Windows資源管理器路徑
- 10. Java - 獲取資源文件的字符串路徑
- 11. 在資源路徑使用字符串
- 12. 在JSF中從託管bean獲取資源文件的路徑
- 13. 單獨的文件名在Windows資源管理器中的字符串?
- 14. 字符串資源路徑轉換器
- 15. 如何從從Windows資源管理器拖動到JFrame中的文件中獲取文件路徑
- 16. 在Windows資源管理器中更改當前路徑
- 17. 使用Windows API Code Pack可以獲取Windows資源管理器的AddresBar路徑嗎?
- 18. 在Windows資源管理器中獲取選定的文件或文件夾
- 19. 獲取從資源管理器菜單到PowerShell變量的文件夾路徑
- 20. Android中的文件資源管理器像Windows資源管理器
- 21. 從資源管理器獲取所有字符串
- 22. 如何獲取存儲在資源文件中的字符串值(.resx)
- 23. 使用Python COM在Windows資源管理器中選擇文件?
- 24. 從Maven資源獲取文件路徑
- 25. 使用Windows資源管理器通過.net訪問其他文件存儲
- 26. Autohotkey和Windows 10:如何獲取當前資源管理器路徑
- 27. 在Windows資源管理器
- 28. 在Windows資源管理器
- 29. 如何使用.net獲取Windows資源管理器的位置?
- 30. 使用ClassLoader獲取資源的路徑
請參閱http://stackoverflow.com/questions/9105806/how-do-i-store-the-links在ms-access/9105887#9105887 – Fionnuala 2012-07-09 15:52:02
@Remou這似乎是我需要做到這一點。午餐後我會嘗試實施它。我將發佈更新,以及完成後的工作,以供將來參考。 – Scotch 2012-07-09 15:57:45
它給出了一個編譯器錯誤。 Dim dlgOpen中的「用戶定義類型未定義」作爲FileDialog – Scotch 2012-07-09 16:50:46