[ 新規に投稿する ]

USBメモリが刺さっているか調べたいNo.09610
styth さん 21/09/25 16:31 [ コメントを投稿する ]
  Set objFSO = CreateObject("Scripting.FileSystemObject")
If not objFSO.DriveExists("e:") Then
    MsgBox "USBメモリが刺さっていません。"
    WScript.Quit
end if

 これを秀丸マクロにしたいのですが、

#obj=createobject("Scripting.FileSystemObject");
#objDrive = member(#obj, "DriveExists");
#objExist = member(#objDrive, "e:");

 としましたが、うまくいきません。
 ご教授のほどよろしくお願いします。
[ ]
RE:09610 USBメモリが刺さっているか調べたいNo.09612
さん 21/09/25 16:44 [ コメントを投稿する ]
   こんにちは。

 手元で動かしてみましたが、下記のような感じで動きました。
 これでいかがでしょう。

#obj=createobject("Scripting.FileSystemObject");
#objExist = member(#obj, "DriveExists", "e:");
if (#objExist == 1){
    message "USBメモリは接続されています。";
}else{
    message "USBメモリが接続されていません。";
}

 それでは。
[ ]
RE:09610 USBメモリが刺さっているか調べたいNo.09613
h-tom さん 21/09/25 17:04 [ コメントを投稿する ]
  h-tom です。

> としましたが、うまくいきません。

FileSystemObjectのドキュメントをよく確認した方がいいですよ。
DriveExistsは、
>リムーバブル メディアのドライブの場合は、メディアがセットされていなくても真 (true) が返されます。
だそうです。
[ ]
RE:09613 USBメモリが刺さっているか調べたいNo.09614
styth さん 21/09/25 21:34 [ コメントを投稿する ]
  >DriveExistsは、
>>リムーバブル メディアのドライブの場合は、メディアがセットされていなくても真 (true) が返されます。
>だそうです。
 ありがとうございます。確かに書いてありました。
[ ]
RE:09612 USBメモリが刺さっているか調べたいNo.09615
styth さん 21/09/25 21:38 [ コメントを投稿する ]
   アドレス、ありがとうございます。

#objDrive = member( #objFSO, "GetDrive", "e:" );
#objReady = member( #objDrive, "IsReady" );
if ( #objReady == 0 ) {
    message "USBメモリが接続されていません。";
    endmacro;   
}

 IsReadyを使うことで、できました。
[ ]

[ 新規に投稿する ]