このマクロを記述したBOOKと同じフォルダー内にある、シート001.xls を開くマクロです。
同一フォルダーにあるのですから、このような記述になると思います。
Sub kakunin1()
Workbooks.Open (ThisWorkbook.Path & "\" & "シート001.xls")
End Sub
しかし、以下の3つはすべてシート001.xls を開くことができました。
Sub kakunin2()
Workbooks.Open (ThisWorkbook.Path & "\" & "\" & "シート001.xls")
End Sub
Sub kakunin3()
Workbooks.Open (ThisWorkbook.Path & "\" & "\" & "\" & "シート001.xls")
End Sub
Sub kakunin4()
Workbooks.Open (ThisWorkbook.Path & "\" & "\" & "\" & "\" & "\" & "\" & "シート001.xls")
End Sub
パスの¥マークは階層をあらわすのだと思っていましたがいくつ重ねてもなぜ開くのでしょうか?非常に初歩的な質問だと思いますが、ご教示いただければ幸いです。
No.1ベストアンサー
- 回答日時:
>パスの¥マークは階層をあらわす...
階層というより単なるセパレータ記号という認識のほうが良いような気もします。(ん?同じ事?)
このセパレータ記号について、Windows NT系以降、拡張されたと読んだ記憶があります。
OSによって少し差があるようですが。
例えばドライブ直下の場合
Workbooks.Open "C:\\シート001.xls"
これはwin2000では開きません。winXPでは開くのではないでしょうか。
下記サイトも参考にされると良いですよ。
『パス名の脆弱性を回避する』
http://www.officetanaka.net/other/extra/tips05.htm
さっそくありがとうございます。
参考URL拝見しました。
『パスの区切りである「¥」は複数続けてもエラーになりません。
「..」などの相対パスも指定できますし、そのとき存在しないパスが含まれていてもOKです。
パスの指定はWindowsが寛容に処理してくれています』
ということですか・・・・。
知りませんでした。
No.2
- 回答日時:
試してみました。
WindowsXPのコマンドプロンプトでは、/と\は同様に扱われ、複数続けても認識します。
WindowsXPのエクスプローラでは、/と\は同様に扱われますが、複数続けると認識しません。
Windows2000のコマンドプロンプトでは、/はディレクトリ区切りとして扱われませんが、\を複数続けても認識します。
Windows2000はしかしエクスプローラでは/と\を同様に扱います。複数続けると認識しません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
ExcelVBAの使い方 ¥の使い方おしえてください。
Visual Basic(VBA)
-
エクセルでマクロを作成してますが、バックスラッシュが入力出来ません。 設定方法等教えて頂けないでしょ
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
-
4
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
5
¥マークを含むパスの処理について(マクロ、または関数)
Excel(エクセル)
-
6
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
7
EXCELでフルパスから2つ目¥を抽出したい
Excel(エクセル)
-
8
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
9
/(スラッシュ)で区切ったフルパスが通りません!
Windows 7
-
10
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
-
11
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
12
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
13
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
14
【ExcelVBA】マクロの入ったシートをコピーしても新しいシート内でマクロを動作させるには?
Excel(エクセル)
-
15
【VBA】ファイルパスに半角スペースが入ると、VBAが動かない
Excel(エクセル)
-
16
エクセルでエラーが出て困っています。
Excel(エクセル)
-
17
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
18
【Excel VBA】ネットワーク上の共有フォルダにあるExcelを開く
Excel(エクセル)
-
19
VBAで「致命的なエラー」が出ました。どのくらい致命的なんでしょうか?
Access(アクセス)
-
20
エクセルVBAで一つ上の階層を指定して保存したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
EXCEL:同じセルへどんどん足し...
-
エクセルの複数シートの保護を...
-
エクセルで前のシートを連続参...
-
別シート参照のセルをシート毎...
-
EXCELで1ヶ月分の連続した日付...
-
VBAでシートコピー後、シート名...
-
前の(左隣の)シートを連続参...
-
エクセルVBAでパスの¥マークに...
-
【Excel関数】値が合致するセル...
-
Excelの複数ファイルの複数行を...
-
excelでシート毎の最終更新日を...
-
VBAでシート1のデータを他シー...
-
EXCELで同一フォーマットのシー...
-
条件式書式に入力する式
-
別シートの最終行に貼り付けす...
-
エクセルシート毎の権限について
-
EXCELで参照シート名含む計算式...
-
EXCEL VBAで別のシー...
-
VBA セルの値と同じ名前のシー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルの複数シートの保護を...
-
エクセルVBAでパスの¥マークに...
-
前の(左隣の)シートを連続参...
-
Excelで金銭出納帳。繰越残高を...
-
EXCEL:同じセルへどんどん足し...
-
EXCELで1ヶ月分の連続した日付...
-
シートの保護のあとセルの列、...
-
別シート参照のセルをシート毎...
-
エクセルでファイルを開いたと...
-
EXCELで同一フォーマットのシー...
-
エクセルで前のシートを連続参...
-
エクセルで前シートを参照して...
-
VBAでシートコピー後、シート名...
-
Accessのスプレッドシートエク...
-
エクセルのシート名をリスト化...
-
複数シートの特定の位置に連番...
-
Excelのシートを、まとめて表示...
-
エクセル 計算式も入っていない...
-
スプレッドシートの関数VLOOKUP...
おすすめ情報