gpt4 book ai didi

vba - 使用 FileDialog 从 Word 打开 Excel

转载 作者:行者123 更新时间:2023-12-03 03:48:55 26 4
gpt4 key购买 nike

我想做的是:

  • 按 Microsoft Word 文档中的按钮,它会提示我在文件资源管理器中选择一个文档。
  • 选择我的文档,Word 文档中的相关字段将被填充。
  • 这将根据文档中的信息(月份)进行填充,并使用 Match 函数在所选 Excel 文档中搜索正确的行/列并返回值。<

我被困在下面代码的 FileDialog(msoFileDialogFilePicker) 部分。

就我的文档而言,我无法输入直接文件路径,需要从 FileDialog 函数(或类似的函数)获取文件路径。

我也尝试过GetOpenFilename。我不确定该怎么做。我的代码当前打开 FileDialog 并让我选择一个文件,但我无法将文件路径传递到我的 colNum1 行。

我收到的错误是运行时错误“91”。未设置对象变量或 With Block 变量。

我愿意接受建议,非常感谢任何帮助。

Sub KPI_Button()
'
' KPI_Button Macro
Dim objExcel As New Excel.Application
Dim exWb As Excel.Workbook
Dim strFile As String
Dim Doc As String
Dim Res As Integer
Dim dlgSaveAs As FileDialog

Doc = ThisDocument.Name

Set dlgSaveAs = Application.FileDialog(msoFileDialogFilePicker)
Res = dlgSaveAs.Show

colNum1 = WorksheetFunction.Match("(Month)", ActiveWorkbook.Sheets("Sheet1").Range("A2:I2"), 0)

ThisDocument.hoursworkedMonth.Caption = exWb.Sheets("Sheet1").Cells(3, colNum1)

exWb.Close
Set exWb = Nothing
End Sub

最佳答案

尝试使用指定 Excel 扩展名的对话框:

Sub GetNames()
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.Filters.Clear
.Filters.Add "Excel files", "*.xls*", 1
If .Show = True Then
If .SelectedItems.Count > 0 Then
'this is the path you need
MsgBox .SelectedItems(1)
Else
MsgBox "no valid selection"
End If
End If
End With
End Sub

关于vba - 使用 FileDialog 从 Word 打开 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37782270/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com