Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6462 / 13646 ツリー ←次へ | 前へ→

【45125】ファイル名の表示について ポンポコリン 06/12/13(水) 13:34 質問[未読]
【45126】Re:ファイル名の表示について Jaka 06/12/13(水) 13:48 発言[未読]
【45127】Re:ファイル名の表示について Statis 06/12/13(水) 13:55 回答[未読]
【45128】Re:ファイル名の表示について ポンポコリン 06/12/13(水) 14:09 お礼[未読]

【45125】ファイル名の表示について
質問  ポンポコリン  - 06/12/13(水) 13:34 -

引用なし
パスワード
   ご教授ください。VBA初心者です。
ファイル名称だけ表示したいのですが、
以下のコードだと1つめの¥まで削除して
「ファイル名のみ」までたどりつきません。
選択するファイルの階層は1階層の場合もあれば、
5階層の場合もあります。

どのようにしたらよいか、どなたかご教授下さい。

選択したファイル「C:\ab\cd\ef\gh.csv」
表示したいファイル名「gh.csv」

現状、表示されるファイル名「ab\cd\ef\gh.csv」

---------------------------------------------------------------------
  With Application
   MyF = .GetOpenFilename("CSVファイル(*.csv),*.csv")
   
   If MyF = "False" Then
     Exit Sub
    Else
     .ScreenUpdating = False
     For j = Len(MyF) To 1 Step -1
       If Mid(MyF, j, 1) = "\" Then
         tmp = Mid(MyF, j + 1, 256)
       End If
     Next j
     MsgBox "選択したファイル名は " & tmp & " です", vbInformation
   End If
   
  End With
----------------------------------------------------------------------
以上、宜しくお願い致します。

【45126】Re:ファイル名の表示について
発言  Jaka  - 06/12/13(水) 13:48 -

引用なし
パスワード
   Dir(MyF) で取れると思います。

ネットワークドライブの場合でも、GetOpenでフルパスを取得しているから、カレントディレクトリーが移動しているので上記で大丈夫です。

【45127】Re:ファイル名の表示について
回答  Statis  - 06/12/13(水) 13:55 -

引用なし
パスワード
   こんにちは

こんな方法も。

Dim MyF As String, Sp As Variant, tmp As String
With Application
   MyF = .GetOpenFilename("CSVファイル(*.csv),*.csv")
   If MyF = "False" Then Exit Sub
   .ScreenUpdating = False
   Sp = Split((MyF), "\")
   tmp = Sp(UBound(Sp))
   MsgBox "選択したファイル名は " & tmp & " です", vbInformation
   .ScreenUpdating = True
End With

【45128】Re:ファイル名の表示について
お礼  ポンポコリン  - 06/12/13(水) 14:09 -

引用なし
パスワード
   ▼jaka さん:
▼Statis さん:

早速のご回答ありがとうございます。
思う通りの結果が得られました。

誠にありがとうございました。

6462 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free