質問: エクセルvbaでパスの¥マークについて このマクロを記述した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 パスの¥マークは階層をあらわすのだと思っていましたがいくつ重ねてもなぜ開くのでしょうか?非常に初歩的な質問だと思いますが、ご教示いただければ幸いです。
回答: >パスの¥マークは階層をあらわす... 階層というより単なるセパレータ記号という認識のほうが良いような気もします。(ん?同じ事?) このセパレータ記号について、windows nt系以降、拡張されたと読んだ記憶があります。 osによって少し差があるようですが。 例えばドライブ直下の場合 workbooks.open "c:\\シート001.xls" これはwin2000では開きません。winxpでは開くのではないでしょうか。 下記サイトも参考にされると良いですよ。 『パス名の脆弱性を回避する』 http://www.officetanaka.net/other/extra/tips05.htm