プロシージャに変数を渡し、その変数に基づいてファイルを開き、呼び出し元のプロシージャにファイルパスを返す機能を作成したいと考えています。私はファイルなどを開くためのコードを持っていますが、プロシージャにはそれを呼び出すことができる場所が複数あるため、そこに配置したくはありませんが、ファイルパスを変数に返すだけです(後で使用できます)開いているファイルからフィールドをロードします)。
私が使用しているファイルをロードするコードは以下のとおりです。これを必要な処理を行うプロシージャに変換するにはどうすればよいですか?
'Open the file
NameOfFile = ActiveWorkbook.Worksheets("Parameters").Cells(8, 2).Value
PathToFile = Left$(NameOfFile, InStrRev(NameOfFile, "\") - 1)
FileNameNoPath = Mid$(NameOfFile, InStrRev(NameOfFile, "\") + 1)
NameOfFile = FileNameNoPath
CompleteFilePath = PathToFile & "\" & NameOfFile
On Error Resume Next
Set File1 = Workbooks(NameOfFile)
If Err.Number <> 0 Then
'Open the workbook
Err.Clear
Set File1 = Workbooks.Open(CompleteFilePath, UpdateLinks:=False)
CloseIt = True
End If
'Check and make sure workbook was opened
If Err.Number = 1004 Then
MsgBox "File is missing, please check your path!" _
& vbNewLine & NameOfFile
Exit Sub
End If
On Error GoTo 0