我目前有一个数据库,用于存储与我的数据相关联的图片路径,并使用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