Excelでリンク切れチェックソフトを作ってみよう
Step 2 IE(インターネット エクスプローラ)を開く
「開始」ボタン後~IEを開くまでの流れ
(1) URLの入力を確認します。もし、何も入力されていない場合は、エラーメッセージを表示し中止します。
(2) CreateObject("InternetExplorer.application") でIEを起動します。
(3) navigate にURLを代入し、URLを開きます。
(4) IEのReadyState が 4 になるまで30秒間ループします。
ReadyState = 4 で IEが読込みを完了したことになります。
ループ中は、「URLをオープンしています。」+秒数 を表示します。
(5) 30秒経過しても読込み完了しない場合、「IEをオープンできませんでした。処理を中止します。」のメッセージを表示し処理を中止します。読込みが完了した場合は、秒数表示を消しプロシージャを抜けます。
実行中、想定外のエラーが発生した場合は、「処理中にエラーが発生しました。処理を中止します。」とエラー内容を表示し処理を中止します。
Homeへ >
Excelでアプリケーションソフト2 >
リンク切れチェックソフト
シート画面
IEを開く間のカウントアップメッセージをシートに追加しています。入力されたURLを開くことができない場合、下画像のような「入力されたURLを開くことができませんでした。URLを確認してください。」とメッセージが表示されます。
シートのVBAコード
下記のコードを入力してください。
Option Explicit
Private tIEobj As Object
Private Function ExCreateIEobject() As Boolean
Dim sttime As Long
Dim passtime As Long
ExCreateIEobject = False
On Error GoTo ErrExit
Set tIEobj = CreateObject("InternetExplorer.application")
tIEobj.navigate TextBox1
'読み込みが終わるまで30秒待つ
Label2.Visible = True
sttime = Timer
Do
'経過時間を算出
passtime = Timer - sttime
Label2.Caption = "URLをオープンしています。 (" & passtime & ")"
DoEvents
If passtime >= 30 Then
Exit Do
End If
'読込み完了
If tIEobj.ReadyState = 4 Then
Exit Do
End If
Loop
If tIEobj.ReadyState <> 4 Then
MsgBox "IEをオープンできませんでした。処理を中止します。"
Else
If LCase(tIEobj.Document.URL) <> LCase(TextBox1) Then
MsgBox "入力されたURLを開くことができませんでした。URLを確認してください。"
TextBox1.Activate
Else
ExCreateIEobject = True
End If
End If
Label2.Visible = False
Exit Function
ErrExit:
MsgBox "処理中にエラーが発生しました。処理を中止します。" & vbCrLf & Err.Description
On Error Resume Next
tIEobj.Quit
Set tIEobj = Nothing
End Function
Homeへ >
Excelでアプリケーションソフト2 >
リンク切れチェックソフト
■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します
Copyright (c) Excel-Excel ! All rights reserved