ファイル名の判定
No.08503
伯林
さん 17/05/02 04:54
ファイル名について二つほどお教えください。
「Testテキスト.txt」での実行でなければ動作しないマクロを作りたいと思っていま
す。判定を以下のようにしましたが全て「 else 」になります。
最後の「message $an1 ;」の部分では「Testテキスト.txt」と表示されるのですが。
$an1 = basename2;
if ($an1 == "\\Testテキスト.txt") {message "OK" ;
} else {message "NG";
message $an1 ;
}
それと上記とは関係ないのですが、秀丸の上部の「マクロ」→「マクロ実行」と進む
とマクロ一覧が表示されますが、ここに表示されるmacファイルの半分ほどがエキス
プローラやファイラには表示されません。これはなぜでしょう?急ぎませんが是非お
知恵をお貸しください。
[
△
]
RE:08503 ファイル名の判定
No.08504
天翔記jp
さん 17/05/02 15:26
ゴールデンウィークで人が居ない…
「\\」が余分に付いてます。
$an1 = basename2;
if ($an1 == "Testテキスト.txt")
{
message "OK";
}
else
{
message "NG";
message $an1 ;
}
>それと上記とは関係ないのですが、秀丸の上....
見てるフォルダが間違って無ければ、
エキスプローラ上でF5キーかなにか押せば出てくるのではないでしょうか。
(エキスプローラがファイルシステム更新を拾い損ねるのは
よくあることなので)
[
△
]
RE:08504 ファイル名の判定
No.08505
秀丸担当
さん 17/05/02 16:05
ファイルの存在は大文字小文字の区別が無いので、basenameのほうを使うか、念
のためtolowerで統一するといいかもしれません。
例1:
$an1 = basename;
if ($an1 == "testテキスト.txt" )
例2:
if (tolower($an1) == tolower("Testテキスト.txt") )
basename2を使われているので、敢えて大/小文字を区別しているのだとしたらす
みません。
エクスプローラとファイルが違って見えるのは、もしマクロファイル用のフォル
ダを空欄またはProgram Files配下にしているとしたら、バーチャルストアの可
能性が高いと思います。
バーチャルストアは、古い32bit版アプリの互換性のためにあるWindowsの機能で、
管理者でないとProgram Files配下に読み書きできないものを、互換性のために
仮想的に読み書きできるようになっているものです。
もしバーチャルストアだとしたら、[その他]→[動作環境]→[環境]で、マクロフ
ァイル用のフォルダをドキュメントフォルダ配下のフォルダなど、任意のファイ
ルが読み書きできる場所を指定されることをお勧めします。
[その他]→[動作環境]→[32bit版]の「VirtualStoreを無効にする」をONににし
て再起動すると、この仕組みは動作しないようになるので、こちらのほうが混乱
しないです。
秀丸エディタだけで見えているファイルは以下の場所にあります。(64bit版
Windowsで32bit版秀丸エディタの場合)
C:\Users\(ユーザー名)\AppData\Local\VirtualStore\Program Files (x86)\
Hidemaru
ちなみに秀丸ファイラーClassicを入れると、相互にバーチャルストアのある場
所に行き来できるので、移行する作業をするときはわかりやすいです。
[
△
]
RE:08505 ファイル名の判定
No.08506
伯林
さん 17/05/02 18:07
天翔記jp さん
秀丸担当 さん
早速のレスありがとうございました。
>「\\」が余分に付いてます。
あれれ?最初は何もつけずNGだったのでWebで調べ調べて、いろいろ試行錯誤し
た末、マクロのエラーが出ないように「\\」としました。basename2も試行錯誤の末
です。
「\\」を消してOKになりましたが、何か狐につままれたようです。
>秀丸エディタだけで見えているファイルは以下の場所にあります。(64bit版
>Windowsで32bit版秀丸エディタの場合)
>C:\Users\(ユーザー名)\AppData\Local\VirtualStore\Program Files (x86)\Hidemaru
ありました!この場所のファイルは「プログラムとファイルの検索」では出ないんで
すね。
マクロのフォルダは
C:\Program Files (x86)\Hidemaru\macro
としていますが「最近使ったファイル」ではあたかもここにあるように表示されます。
バーチャルストアの話は私には理解のレベルを超えていますが、ファイルのありかが
わかってホッとしています。
GWにもかかわらず迅速にお答えいただき感謝いたします。ありがとうございました。
[
△
]