よろしくお願いします。
一番最後に振られているドライブ文字がFであればメッセージボックスを
出すプログラムを作成したいです。Web上よりサンプルコードを入手し
あと一歩のところまで来ています。
Dim letter As String
Set Locator = CreateObject("WbemScripting.SWbemLocator")
Set Service = Locator.ConnectServer
Set BtcSet = Service.ExecQuery("Select * From Win32_BootConfiguration")
For Each Btc In BtcSet
letter = Btc.LastDrive & vbCrLf & vbCrLf
Next
If letter = "F:" Then
MsgBox "Fドライブが既に使用されています。"
End If
Set BtcSet = Nothing
Set Btc = Nothing
Set Service = Nothing
Set Locator = Nothing
これで実際に最終ドライブ文字がFの場合、letterにF:が取得できるのは確認しているのですが、
次のIf文で条件不一致となりメッセージボックスを出せません。このサンプルコードで
得られるドライブ文字というのは手入力した「F:」と違うのでしょうか。
不勉強の中でのご質問で申し訳ありませんが、ご教授いただけないでしょうか。
下記の様に修正して見て下さい。
If Left$(letter, 1) = "F" Then
MsgBox "Fドライブが既に使用されています。"
End If
それにしても同じ内容の質問を4ケの投稿するなど不注意ですね。