- ベストアンサー
【Excel】ファイル名の確認
Excel2003を使用しています。 ある作業のためにファイル名をフルパスで入力したのですが そのどこかに間違いがある(?)のかエラーが出ます。 入力したフルパスが間違っていないか確認したいのですが どうすれば(どこを見れば)確認できますか? 教えてください。よろしくお願いします!
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 コードがアップされてないのでパスがエラーの原因かどうか 判断できませんが、一応、パス名の表示の仕方だけ。 スタートボタンを右クリック > エクスプローラ エクスプローラのウィンドウが開くので該当ファイルのあるところまで ウィンドウ左側のフォルダーをクリックしてゆくと ウインドウ上部の「アドレス」ボックスにパスが表示されます。 尚、これはマイコンピュータからでも出来ます。 以上です。
その他の回答 (6)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 まず、VBAと、ワークシートでは書き方が違います。 通常、 MyPath ="C:\Documents and Settings\[ユーザー名]\デスクトップ\" として、変数においてやってから、 ファイル名を付け足します。 [第○○期 ××帳・△△帳(コードNo.0301~0320).xls] もちろん、これは違いますね。 FileName = "第○○期 ××帳・△△帳(コードNo.0301~0320).xls" これも変数で置いてあげますね。 そうして、 念をいれるなら、以下のようにします。 If Dir(MyPath & FileName) ="" Then MsgBox FileName & vbCrLf & "ファイルが見つかりません", 16 Exit Sub End If '次に移る それ以上の話は、自分でするなら、最初からステップモードを使えばよいし、そうでなければ、コードを公開してほしいです。これ以上のアドバイスは、当て推量になってしまいます。
お礼
Wendy02さん、いつもお世話になっております<(_ _)> 今回も詳しく教えていただきありがとうございました。
こんにちは。 ファイル名のフルパスは、ファイルの「プロパティ」を開けば確認できますよ。 メニューの[ファイル][プロパティ][ファイルの情報]タブから「場所:」をコピーすればOK。 また、マクロならば、こんなカンジでパス取得できますよ。 BookPath = ThisWorkbook.Path 'このワークブックの保存先パス Filenamae = ActiveWorkbook.Name 'このブックの名前 FilePath = ThisWorkbook.Path & "\" & ActiveWorkbook.Name
お礼
パスの取得がマクロでできるんですね。 今、マクロを勉強中ですので、ぜひ試してみようとおもいます。 ありがとうございました。
- siddhaartha
- ベストアンサー率25% (45/175)
#1です。 補足ありがとうございます。 1004エラーはVB定義外エラーなので番号から「これだ!」という原因はわかりませんが、 マクロ実行中のエラーということなので、まずは、パスの指定が間違っているのか、 それ以外のところでエラーが出ているのかを切り分けましょう。 セルに入力したパスをエクスプローラーのアドレスバーにコピペしてEnterで 当該Excelファイルが開きますか? 開くのであれば、パスの指定は間違っていないハズなので、 マクロをデバッグ実行してみて、どこでエラーが発生しているかを突き止めましょう。 (デバッグ実行のやりかた) パスを処理しているところの直前の行にカーソルを持っていってF9を押せば 当該行にブレークポイントが設定されます。 その状態でマクロを実行すればブレークポイントの行で処理がストップします。 F8を押せばストップした所から行単位で実行できますので、エラーが出る行を突き止めます。 あとはエラーが出る行付近を重点的に調査しましょう。 それでも分からなければ、その行付近をコピペして教えてください。
お礼
エラーを突き止める方法までアドバイスくださり ありがとうございました。やってみます。
「ある作業のために」にが気になるけど、オーソドックスに[ファイル]→[開く]メニューにおいて、上端にある[ファイルの場所]ボックス右端の矢印(▼)をクリックしてフォルダを辿って行くことは出来ないのですか? もしYESなら、その理由は何ですか?
補足
mike_gさんのおっしゃるようにフォルダを辿って行って セルに入力したフルパスを入力したのですが ファイル名に括弧やスペースが入っているので、全角・半角の 細かい部分に間違いがないか確認したかったのです。
- mshr1962
- ベストアンサー率39% (7417/18945)
自ブックのファイル名なら =LEFT(CELLS("filename"),FIND("]",CELLS("filename")) で取得できます。 ※ブックの保存が条件です。新規で未保存の場合はエラーになります。 フルパスの場合、フォルダ名にスペースがある場合、シート名の終わりまでを''で囲む必要があります。 ='C:\Documents and Settings\ユーザー名\My Documents\[A.xls]Sheet1'!A1 また、セル参照の場合はINDIRECT関数が必要です。 A1="C:\Documents and Settings\ユーザー名\My Documents\[A.xls]" A2=INDIRECT("'"&A1&"Sheet1'!A1")
お礼
詳しく説明していただきましてありがとうございました。 おかげさまで確認することができました。
- siddhaartha
- ベストアンサー率25% (45/175)
情報が少なすぎるので、補足をください。 1.入力したフルパスは教えてもらえませんか? (一部ファイル名などはxxxでもいいです) 2.どこに入力したのでしょうか・・・。 (エクスプローラーのアドレスバー?Excelのセル?) 3.どんなエラーがでますか?
補足
1.C:\Documents and Settings\ユーザー名\デスクトップ\第○○期 帳簿\[第○○期 ××帳・△△帳(コードNo.0301~0320).xls] 2.Excelのセルに入力しました。 3.マクロを実行するためにセルにファイル名をフルパスで 入力したのですが、実際マクロを実行したところ “実行時エラー1004” とダイアログが出てきました。 よろしくお願いします<(_ _)>
お礼
回答ありがとうございました。 おかげさまで確認することができました。