>>108
こんな感じです。
Public Function OpenedFilePath() As Variant
OpenedFilePath = Application.GetOpenFilename(FileFilter:="ExcelファイルおよびCSVファイル,*.xls*;*.csv")
If OpenedFilePath = False Then
MsgBox "ファイルが選択されませんでした。"
Exit Function
End If
Dim OpenedFileName As String
OpenedFileName = Dir(OpenedFilePath)
Dim Wb As Workbook
For Each Wb In Workbooks
If Wb.Name = OpenedFileName Then
MsgBox "選択したファイルは既に開かれています。ファイルを閉じてやり直してください。"
OpenedFilePath = False
Exit Function
End If
Next Wb
Workbooks.Open OpenedFileName, UpdateLinks:=0
End Function
Function変数「OpenedFilePath」をメインのプロシージャで何度か呼び出すのですが、
そのたびにダイヤログが開くんですよね(まあ当たり前なんですけど)。
やっぱり「OpenedFilePath」をメインのプロシージャの方でローカル変数に格納するしかないですかね。
Excel VBA 質問スレ Part78
■ このスレッドは過去ログ倉庫に格納されています
120デフォルトの名無しさん (ミカカウィ FFeb-LEwT)
2022/11/20(日) 09:58:37.83ID:BaPmF74HF■ このスレッドは過去ログ倉庫に格納されています
