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を使うことで、できました。

[ ]