• ベストアンサー

そのファイルのパスって取得できますか?

ExcelでVBAを書いているんですが、たとえば、マイドキュメントとかのパスって、調べることが出来ますよね? そういった感じで、自身がどこにいるかも取得する方法ってあるのでしょうか? もちろん、ファイルを指定するようなダイアログを出せば出来るんですが、今回のは、そういったことじゃなくて、ユーザ側には何の操作もさせないことを考えています。 最終的にやりたいことは、同じディレクトリ内のファイルとの同期なんですが、やはり、ファイルの位置は、フルパスで指定しないとダメなんでしょうか。 どなたか、よろしくお願い致します。

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

Sub Test()  MsgBox ThisWorkbook.Path  MsgBox ThisWorkbook.Name  MsgBox ThisWorkbook.FullName End Sub

question01
質問者

お礼

ご回答ありがとうございます。 GetBaseFilenameみたいに、もっとゴチャゴチャしたことをしなきゃいけないものだと思っていたんですが、こんなに簡単に出せるんですね。。。 ありがとうございました。

その他の回答 (1)

回答No.1

VBなら app.pass でできます。 VBAはよくわからないですが、多分できるんじゃないかと。

question01
質問者

お礼

ご回答ありがとうございます。 試したところ、まだ、うまくいってないのですが、多分、何かの記述が抜けているんだと思います。。。 もうちょっと、がんばってみます。 ありがとうございました。

関連するQ&A

  • CFileDialogを使用して、Pathを取得する方法

    お世話になっております。 CFileDialogクラスを使用して、Pathを取得する 方法がないでしょうか? 処理の流れでは、下記のような考えでいます。 (1)ダイアログ上の「参照」ボタンを押すと、ファイルダイアログが表示される。 (2)ファイルダイアログで、ディレクトリを移動し、任意のディレクトリまで移動したら、「開く」(または保存)を押下する。 (3)ファイルダイアログを閉じ、移動したPathを取得する。 です。 ファイルダイアログを開くところまでは出来ていますが、ファイル名を指定しないで、「開く」(または保存)を押しても、ファイルダイアログが閉じないので、困っています。 (3)のパス取得に関しては、既に処理の方法はわかっているので、(2)の部分(ファイル名を指定しないで、「開く」(または保存)でファイルダイアログを閉じる方法)をご教唆ください。 よろしくお願いします。

  • phpの実行ファイル位置の取得

    フルパス指定で実行したPHPのディレクトリを取得する事は可能でしょうか。 実行中にそのディレクトリにカレントディレクトリを移動させ、さらに処理を進めていきたいのですが、phpファイルの位置が取得できません。 /home/user/xxxxx/yyyyy/zzzzz/aaa.php ↑をどこの場所で実行しても実行中に /home/user/xxxxx/yyyyy/zzzzz/の位置を取得でき、相対パスでyyyyyにあるファイルを読み込みたいのです。 実行したファイルの位置を取得する事ってできますでしょうか。

    • ベストアンサー
    • PHP
  • 自身のパスの取得

    レンタルサイトでPHPを使っているのでディレクトリのフルパスが分からないのですが、このPHPファイル自身のディレクトリを得る関数はありませんか? http://www...ではなく、/usr/local/..のようなディレクトリのパスを取得する関数を教えてください。

    • ベストアンサー
    • PHP
  • VBAで「ファイルを開く」ダイアログボックスにパスは指定できますか?

    エクセルVBAでプログラミングをしています。 「ファイルを開く」ダイアログボックスを開くときに、パスを指定して開くことは可能でしょうか? ご存じの方、教えてください。 エクセルは、Excel2000、Excel98などを使用しています。

  • SHGetPathFromIDList によるパス取得

    IShellFolder によって、ある LPCITEMIDLIST から SHGetPathFromIDList を利用してパスを取得しようとしているのですが、意図したパス情報が返されないので困っています。 詳細 SHBrowseForFolder で呼び出せるフォルダ選択ダイアログのような フォルダ選択画面を作成しています(諸事情がありフォルダ選択ダイアログが使えません)。 そこで次のサイト http://hp.vector.co.jp/authors/VA016117/winsdk.html を参考に、ユーザーが選択したフォルダのパスをSHGetPathFromIDList を呼び出して取得しようとしているのですが、なぜか例えば "D:\test" は "C:\Documents And Setting\user_name\デスクトップ\test" として返されるため、次の段階のディレクトリのオープン処理(FindFirstFile)に失敗してしまいます。 SHBrowseForFolder のようにドライブレターから始まるパスを取得するにはどうすればいいのでしょうか。

  • VBA ファイルを開くダイアログでの初期表示にファイルサーバーを指定

    こんにちは、Excelでマクロを組んでいます。ネットワークにファイルサーバーのNasを利用しているのですが、ファイルを開くダイアログで初期表示されるディレクトリをNasのフォルダに指定したいと思っています。 ChDir "\\Nas\最初に開きたいフォルダ" Application.GetOpenFilename で指定しても、なぜかローカルのマイドキュメントが開かれてしまいます。ローカルのマイドキュメントはカレントディレクトリに設定されていますが、例えば ChDir "C:\テストフォルダ名"としてから Application.GetOpenFilename とすると、きちんとテストフォルダ名が最初に表示されます。Nasへの接続の問題でしょうか?でも、Nasへログオンするにはユーザー名やパスワードを指定するはずなので、ログオンしていなかった場合はそれを聞いてくると思われるのですが・・・いかがでしょう?パスが間違っていたら、パスが間違っていますというエラーメッセージになると思いますし、、、よろしくお願いします。

  • フルパスからファイル名取得の方法

    指定したフォルダのフルパスを「bmpFiles」に入れているのですが、表示する時はファイル名のみの表示にしたくて「Path.GetFileName」を使用してファイル名を取得しようとしたのですが、「型'stringの1次元配列'の値を'string'に変換できません」というエラーが出てしまいます。 VBを始めたばかりでよく分からないのでアドバイスをお願いします。 Dim imageDir As String = fbd.SelectedPath ' 指定フォルダまでのディレクトリ Dim bmpFiles As String() = _ System.IO.Directory.GetFiles(imageDir, "*.bmp") 'フルパス Dim bmpFileName As String = _ Path.GetFileName(bmpFiles)  ←bmpFilesで上記エラー

  • EXCEL2000のVBAで、ディレクトリを指定するダイアログボックスを出したい

    VBA歴日も間もない者です。仕事上でVBAをいろいろいじくっています。 Excel2000VBAで、ディレクトリの指定をできるダイアログ画面はないのでしょうか? ユーザーにディレクトリを入力してもらいたいのですが、方法としては、1)直接手で打ってもらうか、2)ダイアログで指定できるようにするかにしたいのですが、あいにく Application.Dialogs(xlDialogOpen).Show Application.GetOpenFilename で「ファイルを開く」でディレクトリを割り出す方法しか分かりませんでした。 できれば、ディレクトリ指定のダイアログ画面をだしたいのですけど、他に方法があれば教えてください。よろしくお願いします。

  • パスを使ってファイルを開く

    ファイルダイアログでパス取得を行った後に、 そのパスを使ってファイルをコピーということは出来るでしょうか? 行ってほしい動作としましては、 ・ファイルダイアログでパス取得 ・そのパスを使ってファイルをコピー としたいのです。 ちなみに、コピーするためのコードは Call Shell(Environ$("COMSPEC") & " /C COPY ""C:\AAA.xls"" Z:AAA.xls") といった、絶対パスによるコピーになっています。 何故、パス取得が必要かといいますと元ファイルの場所が変わることがあるからです。 どうしても分からないので方法あるようでしたら教えてください。

  • エクセル マクロで任意のフォルダのパスを取得する方法

    エクセルを使用して、任意のフォルダを指定し、その中に入っているファイル(jpg画像ファイル)の名前を取得、画像をエクセルシート内に貼り付けていくというマクロを作成しています。 今回質問はその前段の部分、使用者が任意のフォルダを指定して、そのフォルダのパスをマクロが取得するというところでてこずっています。 現時点では、画像が入っているフォルダのウィンドウのアドレスバーに入っているパスを、コピぺでフォームに貼り付けさせてます^^; それだと使用者にウインドウにアドレスバーを表示するには…みたいなところから説明しなければならないのでユーザーライクではありません。 そこで、通常良くあるような、フォルダやファイルを指定させるダイアログを出したり、もしくはフォームに任意のフォルダをドラッグ&ドロップしたりすることで、任意のフォルダのパスを取得できたらな、と思っています。 そのような方法(もしくはより良い方法)を実現するマクロの組み方をご存知でしたら、教えてくださいm(__)m 宜しくお願いします。

専門家に質問してみよう