VBAコードはうまく機能します:
Sub testVBA()
Dim wb As Object ' Lotus123.Document
Set wb = GetObject("S:\Temp\T\0375D.WK3", "Lotus123.Workbook")
End Sub
VB.net コードが失敗します:
Sub TestVBNet()
Dim wb As Object ' Lotus123.Document
wb = GetObject("S:\Temp\T\0375D.WK3", "Lotus123.Workbook")
End Sub
VB.net で FileNotFoundException が発生します。「オートメーション操作中にファイル名またはクラス名が見つかりませんでした。」
VBA から実行できるので、ファイルが存在し、クラス名が存在することを意味します。では、なぜ機能しないのか、VB.net で修正するにはどうすればよいでしょうか。
編集:これを診断する方法がわからない. おそらく、VB.net は別の方法を使用してクラスをアクティブ化します。レジストリ エントリが見つからない可能性があります。どんな提案でもうれしいです。
編集 2: CreateObject も使用してみましたが、「ActiveX コンポーネントを作成できません」というエラーが発生しました。予想外ではありません。