#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