
ファイルを開くダイアログにて
ファイルを選択してリストボックスに表示させる際に、特定のファイルだけ
「【実行時エラー53】そのようなファイルはありません」
が出て来ました。
デバッグした際に
Filename = Dir(Target)
でエラーが出ていることがわかりました。
Dir関数の制限でファイルのフルパスが長すぎてエラーがでているようなのですが(おそらく)
どうにかこのエラーを解決してファイルをリストボックスに表示させる方法はありますか?
ちなみにファイルはありませんと出ていますが
ちゃんと存在しています。
よろしくお願い致します
VBA
1Private Sub btn_FileOpen_Click() 2 Dim OpenFileName As Variant, Target As Variant 3 'カレントディレクトリを指定 4 ChDrive "C" 5 ChDir "C:\test" 6 OpenFileName = Application.GetOpenFilename(FileFilter:="Microsoft Excelブック,*.xls?", _ 7 MultiSelect:=True) 8 If IsArray(OpenFileName) Then 9 With Me.BookInput 10 11'リストボックスにファイル名を表示 12 For Each Target In OpenFileName 13 Filename = Dir(Target) 14 Pathname = Replace(Target, Filename, "") 15 .AddItem "" 16 .List(BookInput.ListCount - 1, 0) = Filename 17 .List(BookInput.ListCount - 1, 1) = Pathname 18 Next Target 19 'ファイルのあるフォルダーのパスをラベルに表示 20 Me.lblPath.Caption = .List(0, 1) 21 22 End With 23 Else 24 MsgBox "キャンセルされました" 25 End If 26End Sub 27Private Sub btn_FilePrint_Click() 28 Dim wb As Variant 29 Dim Fn As Variant, i As Long 30 31 With Me.BookInput 32 For i = 0 To .ListCount - 1 33 Set wb = Workbooks.Open(.List(i,1) & .List(i,0),ReadOnly:=True) 34 wb.PrintOut 'ブック全体を印刷 35 wb.Close 36 Next 37 End with 38Application.ScreenUpdateing = True 39End Sub

回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。