|
そこそこ用途がありそうなので、でるもんたいいじまさんご紹介のWebページを参考
に、COMを使ったマクロにしてみました。
Label_GetNamedDrive:以下のサブルーチンをcallで呼んで使います。
"MYVOLUME"のところを"EASYDESK_N"にするといいと思います。
call Label_GetNamedDrive "MYVOLUME";
$strTargetDrive = $$return;
message $strTargetDrive;
//if( $strTargetDrive != "" ) {
// openfile $strTargetDrive + ":\\abc.txt";
//} else {
// //ドライブなし
//}
endmacro;
//------------
Label_GetNamedDrive:
##objFSO = createobject("Scripting.FileSystemObject");
##numDrive = 'C';
$$strRet="";
while( ##numDrive <= 'Z' ) {
$$strDrive = char(##numDrive);
if( member(##objFSO, "DriveExists", $$strDrive) != 0 ) {
##objDrive = member( ##objFSO, "GetDrive", $$strDrive );
if( member(##objDrive, "IsReady" ) != 0 ) {
$$strVolume = member( ##objDrive, "VolumeName" );
//message $$strDrive + "のボリュームラベル:" + $$strVolume;
if( $$strVolume == $$1 ) {
$$strRet = $$strDrive;
}
}
releaseobject ##objDrive;
if( $$strRet != "" ) {
break;
}
}
##numDrive = ##numDrive + 1;
}
releaseobject ##objFSO;
return $$strRet;
|
|