msoFileDialogFilePicker 导致错误

Posted

技术标签:

【中文标题】msoFileDialogFilePicker 导致错误【英文标题】:msoFileDialogFilePicker resulting in error 【发布时间】:2016-09-04 01:03:16 【问题描述】:

请不要评论任何关于命名约定、方法、询问代码应该做什么或与我的问题没有直接关系的任何事情:

这对我来说每次都完美运行——弹出一个窗口,我选择多个 Excel 文件并将它们的数据上传到我的工作表中(代码未显示)。我的客户说他在运行它时遇到错误,我自然认为这是因为他在 Mac 上运行它......但他说他在 PC 和 Mac 上都遇到了错误。我可以'不要重新创建错误......我们就在这里。

这是有问题的代码,错误的行以黄色突出显示:

复制代码:

Sub Import_Employee_Sheet()
    With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = True

        If .Show = True Then
        End If
    End With
End Sub

【问题讨论】:

【参考方案1】:

这可能是因为他没有在 IDE 的 Tools/References 下设置 Microsoft Object [Version number] Library 引用,或者因为它已损坏。另请参阅this 帖子,了解如何在不设置对象引用的情况下解决问题,以避免将来出现类似问题。

编辑

它应该是上面的“...不设置库引用”。

【讨论】:

好的,我看到了修复——所以对于我的教育来说,这是有效的,因为它使用整数而不是依赖于库的“msoFileDialog”? FileDialog 对象采用MsoFileDialogType 常量形式的参数,表示对话框的类型,在本例中为msoFileDialogFilePicker。因此,该参数可以与数字互换(在修复中键入 Long,不是整数,但这不是必需的)。修复工作的原因是由于前三行代码,而不仅仅是第一行。见msdn.microsoft.com/en-us/library/office/ff196794.aspx

以上是关于msoFileDialogFilePicker 导致错误的主要内容,如果未能解决你的问题,请参考以下文章

昏暗的多个潜艇

VBA7种文档遍历法

Application.FileDialog.Show = -1?

项目VBA获取文件名

word vba 插入图片

在Outlook中打开文件对话框(VBA)错误438