首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >FileDialog不工作

FileDialog不工作
EN

Stack Overflow用户
提问于 2012-02-28 12:12:56
回答 2查看 64.4K关注 0票数 10

我已经很仔细地找过了,但是找不到一个能直接解决我问题的帖子。

下面的代码适用于我在工作中使用的Access 2003中创建的表单。

代码语言:javascript
运行
复制
Dim FileName As FileDialog
Set FileName = Application.FileDialog(msoFileDialogFilePicker)
Dim Name As Variant

With FileName
    .AllowMultiSelect = False
    .Show
    If .SelectedItems.Count = 0 Then
    MsgBox "No file selected."
    Exit Sub
    End If
End With

For Each Name In FileName.SelectedItems
FileNameTextBox.Text = Mid$(Name, InStrRev(Name, "\") + 1)
Next Name

但是,当我试图在我的个人计算机上的Access 2010中的窗体上运行相同的代码时,它没有work.The错误消息突出显示第一行,并显示“用户定义的类型未定义”。我也尝试过声明FileName as Office.FileDialog,但也没有成功。我确实有Microsoft Access 14.0对象库作为正在使用的引用之一,所以我不知道这有什么问题。

我只使用了两周的Access,我所有的知识都来自于谷歌搜索,所以我很可能遗漏了一些显而易见的东西。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-28 15:02:47

FileDialog对象不是由Access库提供的,而是由Office库提供的。因此,如果您设置了对Microsoft Office版本号对象库的引用,则代码应该可以正常工作。要么你没有那个参考集,要么它坏了。

但是,如果是我,我就不会设置引用,而是像这样修改代码。看看它对你是否有效。

代码语言:javascript
运行
复制
Const msoFileDialogFilePicker As Long = 3
Dim objDialog As Object

Set objDialog = Application.FileDialog(msoFileDialogFilePicker)

With objDialog
    .AllowMultiSelect = False
    .Show
    If .SelectedItems.Count = 0 Then
        MsgBox "No file selected."
    Else
        Me.FileNameTextBox.Value = Dir(.SelectedItems(1))
    End If
End With
票数 23
EN

Stack Overflow用户

发布于 2018-01-30 19:27:56

在“工具”、“参考...”中,您必须选择“MicrosoftOfficeOffice14.0对象库”,而不是 Access对象库。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9476268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档