Я не могу открыть файл с частичным именем файла на vba

#vba

#excel #vba

Вопрос:

всего несколько дней назад я смог открыть рабочую книгу с частичным именем файла.

но сегодня я несколько раз пробовал этот код, и он все еще выдает ошибку 1004

почему?

 Sub open_data_workbook()


Dim myPath As String
Dim main_workbook As String
Dim data_workbook As String
Dim xlsxm As String
Dim code_name As String

With ActiveSheet
    code_name = Range("B" amp; Cells(Rows.Count, 2).End(xlUp).Row).Value
    myPath = ThisWorkbook.Path amp; ""
    xlsxm = ".xlsx"
    data_workbook = "*" amp; code_name amp; "*" amp; xlsxm
    main_workbook = "EMS-Part Data.xlsm"
End With


Application.ScreenUpdating = False

Workbooks.Open Filename:=myPath amp; data_workbook

End Sub
  

Комментарии:

1. Вам нужно использовать Dir , чтобы превратить строку подстановочных знаков в фактическое имя файла для открытия, потому что подстановочные знаки подразумевают, что может быть несколько файлов.

Ответ №1:

Открыть рабочую книгу

Быстрое исправление

 Option Explicit

Sub open_data_workbook()

    Dim myPath As String
    Dim main_workbook As String
    Dim data_workbook As String
    Dim xlsxm As String
    Dim code_name As String
    
    With ActiveSheet
        code_name = .Range("B" amp; .Cells(.Rows.Count, 2).End(xlUp).Row).Value
        myPath = ThisWorkbook.Path amp; ""
        xlsxm = ".xlsx"
        data_workbook = Dir("*" amp; code_name amp; "*" amp; xlsxm)
        If data_workbook = "" Then
            MsgBox "File not found.", vbCritical, "Fail"
            Exit Sub
        End If
        main_workbook = "EMS-Part Data.xlsm"
    End With
    
    Application.ScreenUpdating = False
    
    Workbooks.Open Filename:=myPath amp; data_workbook
    
End Sub