- ベストアンサー
VBのコードが理解できません 解説いただけないでしょうか?
Dim ObjIE As Object Dim ObjShell As Object Dim ObjWindow As Object Dim WinExist As Boolean WinExist = False Set ObjShell = CreateObject("Shell.Application") For Each ObjWindow In ObjShell.Windows If TypeName(ObjWindow.Document) = "HTMLDocument" Then WinExist = True Set ObjIE = ObjWindow End If Next Set ObjShell = Nothing If Not WinExist = True Then Set ObjIE = CreateObject("InternetExplorer.Application") End If ObjIE.Navigate "http://nantokakantoka.html" ObjIE.Visible = True このコードを解説いただけないでしょうか? 特に WinExist For Each ObjWindow In ObjShell.Windows If TypeName(ObjWindow.Document) = "HTMLDocument" Then が何をしているのか分からないんです。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
答えでなくて良いですか? 感覚的にですが、多分 WinExist = False はリセットです。 ここで WinExist は Boolean なので 0,1 どちらかです。 (簡単に、yes,no no に設定) 次に shell の定義をして(IE起動用) 内容はわかりませんが For Each で、検索して HTML のものがあれば スイッチ代用の WinExist を ON (yes) にします。 で、HTML の文章(その他ドキュメント)があれば ( WinExist が ON {yes} ならば ) CreateObject("InternetExplorer.Application") IEを起動して表示する。でしょうか? Set ObjIE = ObjWindow は今一わかりませんが 必要なのでしょう。 windows 上に IE を展開する。との意味でしょうか? とりあえず分かる範囲内で。
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
http://www.d3.dion.ne.jp/~pashica/kobetu/k20070408.html に解説が有ります。 >Set ObjShell = Nothing まではインターネットエクスプローラー(IE)が有るかどうかを聞いている。 >Set ObjShell = Nothing 以下でIEを開いて、"http://nantokakantoka.html"を開いて画面に表示Visible = True している。 ーーー >WinExist = True はフラグ(旗)というもので、あった時にTrueとし、ForEachの繰り回しガすべて終わったとき判定している。1つ以上あればTrueになっているわけ。 1つ見つかればIEを起動し、ExitForしてもよいように思ったが。 ーー >For Each ObjWindow In ObjShell.Windows If TypeName(ObjWindow.Document) = "HTMLDocument" Then は上記WEBに説明あり。よく読むこと。
- id357
- ベストアンサー率29% (39/133)
If Not WinExist = True Then Set ObjIE = CreateObject("InternetExplorer.Application") End If #1 さんの通りです。 Not WinExist でした。
- urourojp
- ベストアンサー率33% (1/3)
開いているWindowの中にInternet Explorerがあるかチェックして もしあれば、そのInternet Explorerでhttp://nantokakantoka.html にアクセスすると言うものです。 WinExistはIEがあるかないかの結果を放り込んでいます。ある/なし でTrue/Falseですね。 For Each ObjWindow In ObjShell.Windows If TypeName(ObjWindow.Document) = "HTMLDocument" Then は先に書いた全Windowチェックです。IEのTypeName(ObjWindow.Document) はHTMLDocumentなので、TrueであればIEが存在すると言うことになります。