かなーり遅い返答になりましたが、私もこれで悩みました。 (ウチの会社は現状WinXP,Win2k,Win95+R4.0Jというとんでもない構成です) 完全な対応策ではありませんが、私の備忘録としても紹介します。 それは、WindowsAPI(comdlg32.dll)を使わない方法です。 会社の構成であれば、Excelは導入されていることが多いと思いますので、ExcelVBAを使います。 Sub Initialize Dim excelApplication As Variant Set excelApplication = CreateObject("Excel.Application") fName = excelApplication.GetOpenFilename excelApplication.Quit Set excelApplication = Nothing Messagebox fname End Sub ファイルを選択した後に一瞬Excelの画面が見えますが、すぐに消えます。 とりあえずはこれで「ファイルを開く」ダイアログは表示され、ファイル名が取得できます。