C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: たまに発生するエラーについて


(過去ログ 124 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■73891 / inTopicNo.1)  たまに発生するエラーについて
  
□投稿者/ ikuo (1回)-(2014/11/12(Wed) 22:53:00)

分類:[VBScript] 

お世話になります。

環境:Windows7 32bitPro
IE Version 7.0

上記の環境において
下記のプログラミングを実行した場合、IEが表示され、指定のサイトが開くのですが
どういう操作をしたら出るのかわかりませんが、稀に右のようなエラーが発生します。 &#65375;オブジェクトでサポートされていないプロパティまたはメソッドです。:objWindow.Visible&#65376;

ホームページを参考にしたスクリプトがだめなのでしょうか…わかる方、教えてください。お願いします。





Option Explicit

'---- IEオブジェクト ----
Dim objExplorer
Dim strURL
Dim shell
Dim application
Dim objWindow
Dim objProcList
Dim objProcess

'----objWindow.Visibleを参照するときに、「オブジェクトでサポートされていないプロパティまたはメソッドです。」の例外が発生する場合があるので
'IE起動前にこの例外が発生しないかチェックする。例外が発生した場合は起動しているIEの全プロセスを終了する。----
Set application = CreateObject("Shell.Application")
On Error Resume Next 'エラー処理を有効
for each objWindow in application.Windows
If objWindow.Visible=False And objWindow.ToolBar<>False And objWindow.LocationURL="" Then
'何もしない
End If
if Err.Number <> 0 then
Set objProcList = GetObject("winmgmts:").InstancesOf("win32_process")
For Each objProcess In objProcList
If LCase(objProcess.Name) = LCase("iexplore.exe") Then
objProcess.Terminate
end if
Next
Set objProcList = nothing
Set objProcess = nothing
Exit For
end if
Next
Err.Clear 'エラーのクリア
On Error Goto 0 'エラー処理を無効


'---- 起動URL ----
strURL = "http://www.yahoo.co.jp"

' ---- IEオブジェクト生成 ----
Set shell = WScript.CreateObject("WScript.Shell")
shell.run "IExplore.EXE -nohome",0
Set application = CreateObject("Shell.Application")
Do
for each objWindow in application.Windows
If objWindow.Visible=False And objWindow.ToolBar<>False And objWindow.LocationURL="" Then
Set objExplorer = objWindow
Exit For
End If
Next
Loop While IsEmpty(objExplorer)

objExplorer.Top = 2000
objExplorer.Left = 0
objExplorer.Visible = 1
objExplorer.Navigate strURL
objExplorer.ToolBar = 0
objExplorer.StatusBar = 0
objExplorer.Width=1024
objExplorer.Height = 735
objExplorer.Top = 0

Set shell = nothing
Set application = nothing
Set objWindow = nothing

引用返信 編集キー/
■73921 / inTopicNo.2)  Re[1]: たまに発生するエラーについて
□投稿者/ ainax (3回)-(2014/11/14(Fri) 16:23:03)
No73891 (ikuo さん) に返信

application.Windows の中身を for each を使って取得しているようですが、 IE 以外のオブジェクトで
Visible プロパティが実装されていないオブジェクトを最初に取得してしまった場合にエラーが
出るのではないでしょうか?

下記に解決策が書かれてるかもしれません。
http://oshiete.goo.ne.jp/qa/5193384.html

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -