• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:COMExceptionはハンドルされませんでしたとは?)

COMExceptionはハンドルされませんでしたとは?

このQ&Aのポイント
  • PC内のドライブとシリアルナンバーを取得するツールを作成していますが、「COMExceptionはハンドルされませんでした。」というエラーが出て止まってしまいます。
  • VisualBasic2008EE初心者でエラーの内容がわかりません。
  • どなたかお分かりの方おりましたらご教授のほどよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#259269
noname#259269
回答No.2

前回、これがらみで回答しましたが >System.Runtime.InteropServices.Marshal.ReleaseComObject(FSO) この行通りませんね(直前の行で Return している為)。FileSystemObjectのインスタンスがリークします。 また、前回回答では修正版を載せてますので、そっちを参照ください。

icevain
質問者

お礼

edp3142さん、こんにちは またしても助けていただきありがとうございました。 おかげさまで解決できました。 今後ともよろしくお願い致します。 'こんな感じにできあがりました。 Private Function Get_Sir(ByVal Drv As String) Dim FSO = CreateObject("Scripting.FileSystemObject") Dim DriveObject = FSO.GetDrive(Drv) Try Return DriveObject.SerialNumber System.Runtime.InteropServices.Marshal.ReleaseComObject(DriveObject) System.Runtime.InteropServices.Marshal.ReleaseComObject(FSO) Catch ex As Exception Return "(・・?" End Try End Function

その他の回答 (1)

回答No.1

Drvの値に問題があってGetDriveでエラーになってるんじゃないでしょうか? tyy~catchしていないのでそのままエラーが垂れ流されているのでしょう。

参考URL:
http://officetanaka.net/excel/vba/filesystemobject/filesystemobject.htm#GetDrive
icevain
質問者

お礼

ProKaseifuさん こんにちは vb.netにはtry~catchなる 便利な機能があるのですね。 勉強になりました。 これからもよろしくお願い致します(*^^)v。

関連するQ&A