私は、レイトバインディングが許可されていない別のアプリケーションでVisual Studioを使用して作成したコードを実行しようとしていますが、残念ながらこのオプションは変更できません。私は一般的なプログラミングには非常に新しく、この問題について私の頭を浮かべるのに苦労しています。ここでは呼び出しコードの段階で使用してコードイムです:VBでレイトバインドとタイプの問題VBで
Dim objIEShell As Object = CreateObject("Shell.Application")
Dim objIEShellWindows As Object = objIEShell.Windows
Dim objIEWin As Object
For Each objIEWin In objIEShellWindows
If InStr(objIEWin.LocationURL,"google")>0 Then
objIEWin.Quit
objIEWin = Nothing
End If
Next
コードは、単にURLに「グーグル」のInternet Explorerのすべてのインスタンスを閉じます。これはそれをコンパイルしようとしたとき、私は取得エラーメッセージです:
私は2行目の最初のエラーメッセージがobjIEShellとWindowsの間の型の違いを行うことです実現し、これまで行ってきた研究からMessage: Error compiling code
error BC30574: Option Strict On disallows late binding. At line 2
error BC32023: Expression is of type 'Object', which is not a collection type. At line 4
方法。私はこれをCType(objIEShell,?)
のようにobjIEShell
に変換しなければならないと思いますが、.Windowsメソッドの型や見つけ出す方法がわかりません。また、2番目のエラーをどのように修正するかについての洞察は、どこから始めるのか分かりません。
モジュールごとにOption Strictをオフにすることができます。コードファイルの先頭に「Option Strict Off」と入力してください。 – SSS
私が使用しているプログラムではこれが許されていません。この設定を変更せずに問題を解決する方法を知りたいと思います。ありがとう – unknownpresense