excel - Excel 2010 VBA:设置使用 msoFileDialogOpen 打开的工作簿时出现错误 91
问题描述
我在这里和那里阅读了有关 FileDialogOpen 和错误 91 的信息,我知道我有一个变量声明问题,但无法弄清楚代码中出了什么问题
Dim Ex As Excel.Application
Dim wb As Workbook
Dim openDialog As Office.FileDialog
Dim filename As String
Set openDialog = Application.FileDialog(msoFileDialogOpen)
With openDialog
.Filters.Clear
.Filters.Add "Excel Files", "*.xlsx"
.AllowMultiSelect = False
.InitialFileName = "Path_to_open"
.Title = "Sélectionnez le fichier"
End With
If openDialog.Show = False Then
MsgBox "Impossible de mettre à jour sans le fichier", vbOKOnly, "ERREUR"
Exit Sub
End If
filename = openDialog.SelectedItems(1)
Workbooks.Open (filename)
filename = Mid(filename, 4, Len(filename) - 1)
Set wb = Ex.Workbooks.Open(filename, True, False)
错误 91 发生在我设置 wb 的最后一行,稍后我需要在代码中使用它来进行工作簿计算。其余代码运行顺畅。
解决方案
将行更改为:
Set wb = Workbooks.Open(filename, True, False)
Set wb = Ex.Workbooks.Open(filename, True, False)
不起作用,因为仅在Ex
此处声明,但未在此处初始化 - Dim Ex As Excel.Application
。
推荐阅读
- java - Camel CXF 抛出 Part{example.com} 参数应该是 X 类型而不是 Y
- neo4j - 将一组参数传递给 Neo4j 查询
- angular - Angular 6 库包中的动态模块导入
- kotlin - 有没有像 XStream Stream 一样的 Kotlin 协程通道?
- javascript - 如何从系列中提取连续天数?
- reactjs - 如何用 Typescript 手写 combineReducer?
- c# - CALDAV 在 ICLOUD 中编辑/删除多个事件
- c# - 如何通过绑定 (MVVM) 设置 TextBlock 的 FontStyle
- asp.net-core-2.0 - AspNetCore Httpsys 从 webapi Appsettings 文件配置 useURLS
- javascript - Microsoft Edge 中正则表达式中的意外量词