• ベストアンサー

マクロ

下記のマクロがあります。 filname = Application.GetSaveAsFilename("テスト","Microsft Excelブック *.xls,(*.xls)", 1, "データファイルを保存") filnameには絶対パスとファイル名が取得されると思うのですが、 それを分けて取得したいのです。 分けて取得は出来るのでしょうか。 一旦filnameで取得しておいて、 それから分ける、という方法が一番ベストなのですが…。 どなたかご存知の方ご教授願います。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 FileSystemObject を使ってもよいのですが、以下ように関数ですれば、簡単に取れます。 Dim filename As Variant filename = Application.GetSaveAsFilename("テスト", "Microsft Excelブック *.xls,(*.xls)", 1, "データファイルを保存") If filename = False Then Exit Sub MsgBox Mid$(filename, InStrRev(filename, "\") + 1)

fukuzyusou
質問者

補足

早速のご回答ありがとうございます。 早速やってみました。 マクロはまだ初心者なので何処が変わっているのかが分かりません。 結果は同じように出てきます。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

#1の回答者です。 >結果は同じように出てきます。 それは、関数の命令で同じにように出ることなど、ありえないです。ステップ・イン・モードで、調べてみてください。 MsgBox Mid$(filename, InStrRev(filename, "\") + 1) このレベルが出来ないと、本当の最初の貼り付けるところからになってしまいますが、それだけは避けたいです。

fukuzyusou
質問者

お礼

分かりました。 ご丁寧な回答ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A