Цель: использовать функцию открытия, чтобы позволить пользователю запускать команды для любого файла, который он хочет открыть для нескольких функций (путь находится в публичной функции).
Это начальная функция, которая предлагает пользователю выбратьфайл.Этот путь к файлу сохраняется в переменной «путь».Я сделал функцию общедоступной с намерением использовать «путь» в нескольких областях (глобализация).
Public Function OpenFile1() As String
On Error GoTo Trap
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.Title = "Open Sterling Shipment History" 'Name for file
.Filters.Clear
.ButtonName = " Open "
.AllowMultiSelect = False
End With
If fd.Show <> 0 Then OpenFile1 = fd.SelectedItems(1)
Leave:
Set fd = Nothing
On Error GoTo 0
Exit Function
Trap:
MsgBox Err.Description, vbCritical
Resume Leave
Dim path As String
path = OpenFile1() 'Calls in file
If path <> vbNullString Then Debug.Print path
Workbooks.Open (path)
'rename the path variable for each function
'so that I can call in different files with that name
End Function
Это фрагмент второй функции, которая пытается вызвать путь к файлу из переменной «путь»используйте его, чтобы открыть рабочую книгу и изменить рабочую книгу.
Sub Shipment_History()
Call OpenFile1
Dim sshist As Workbook
Set sshist = Workbooks.Open(path)
Columns("E:E").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Я также пытался:
Sub Shipment_History()
Call OpenFile1
Workbooks.Open(path)
Моя проблема в том, что я не могу открыть "путь".
Состояния ошибки
«Ошибка времени выполнения« 1004 »: извините, мы не смогли найти. Возможно, он был перемещен, переименован или удален?»