|
>現状のコードと、どこでエラーになるかをご提示下さい。
失礼しました。
____________________________
Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMillsecounds As Long)
Declare Function GetTickCount Lib "kernel32.dll" () As Long
Sub aaa()
Dim Flg As Boolean
Dim Stm As Long
Dim objIE As Object 'IEオブジェクト参照用
Dim c As Long 'カウント用
Dim kai As Long '更新回数の読み込み用
Dim kan As Single
Dim mes As Integer
Dim mes2 As Integer
Dim mes3 As Integer
Dim MyShell As Object
Dim MyWindow As Object
Dim Ck As Boolean
Flg = False
kai = InputBox("更新回数を入力してください", "更新回数の確認")
If kai > 0 Then
GoTo KANKAKU
Else
Exit Sub
End If
KANKAKU:
kan = InputBox("更新間隔を入力してください(秒)", "更新間隔の確認", "0.3")
Select Case kan
Case Is > 0
GoTo kakunin
Case kan = ""
MsgBox "更新間隔を入力してください"
GoTo KANKAKU
End Select
kakunin:
mes3 = MsgBox("更新回数は" & kai & "回" & vbCrLf & vbCrLf & "更新間隔は" & kan & "秒間隔", vbOKCancel, "総確認")
If mes3 = 1 Then
GoTo IE
Else
Exit Sub
End If
IE:
'インターネットエクスプローラーのオブジェクトを作る
Set objIE = CreateObject("InternetExplorer.application")
objIE.Visible = True '見えるようにする(お約束)
objIE.navigate "サイトのURL" '文字列で指定したURL
Set MyShell = CreateObject("Shell.Application")
For Each MyWindow In MyShell.Windows
If UCase(Right(MyWindow.FullName, 12)) = "IEXPLORE.EXE" Then
Set objIE = MyWindow
Ck = True
Exit For
End If
Next
If Ck = False Then
AppActivate Application.Caption
MsgBox "IEが起動していません。"
Exit Sub
End If
With objIE
.Visible = True
.Refresh ←☆☆☆☆☆☆☆☆☆☆☆☆
End With
c = 0
Do
c = c + 1
Stm = GetTickCount
objIE.Refresh
If c = kai Then 'もし「c」と「kai」が同じだったら、
Flg = True '「Flg」をtrueにする。
End If
DoEvents '表示!
Do
Call Sleep(3)
Loop Until GetTickCount - Stm > kan * 1000
Loop Until Flg
objIE.Refresh
Set objIE = Nothing
'Excelをアクティブに・・・・・・・・・・・
DoEvents
MsgBox "更新終了!!!"
End Sub
___________________________
「☆☆☆☆」の部分でエラーが出るようです。
失礼ながらいろんなサイトからコピペさせて頂いたので、
無駄な部分も多かろうと思います。
お手数をおかけしますが、よろしくお願いします。
|
|