|
おはようございます。
>ichinoseさんの作成していただいたプログラムで実行したのですが、エラーがでてしま
>います。「End sub以降にはコメント、ステートメント以外は入力できません」と表示が
>でます。私自身ichinoseさんに作成して頂いたプログラムがはじめのプログラム以降理
>解できていません。
>'========================================================================
>Option Explicit
>Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
>'========================================================================
>の部分でエラーするのですが、どうしたらエラーが解決するでしょうか?
このエラー自体は、このような記述をすれば、簡単に再現します。
新規ブックの標準モジュールに(あくまでも新規ブックですよ!!)
'========================================================
Sub test()
aaa = 15
MsgBox aaa
End Sub
Dim aaa As Long
として、testを実行してみてください。
(尚、Option Explicitも記述しないで実行してください)
いかがですか? 同じエラーメッセージが表示されませんか??
つまり、モジュール宣言部(ここでは、Dim aaa As Long)は、
コードより、上位行にて記述しなさい ということです。
で、元に戻ると・・・。
>Option Explicit
>Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
↑この記述より、上位行にコードが記述されていませんか?
>
>新規ブックにユーザーフォームを一つ作成して置いてください。
>(Userform1)
>コントロールは、コードで作成しますから、一切要りません。
>
>上記のUserform1のモジュールに
>'==================================================================
>Option Explicit
>Public cls As Long
>Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
> If CloseMode = 0 Then
> Cancel = True
> cls = 1
> Me.Hide
> End If
>End Sub
例えば、↑このコードが記述されていませんか?
これは、Userform1のモジュールに記述するのですよ!!
↓ここからは、標準モジュールに記述するのですよ!!
>'========================================================================
>Option Explicit
>Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
>'========================================================================
>Sub main()
> Dim ie As Object
> Dim idoc As Object
> Set ie = CreateObject("InternetExplorer.Application")
> With ie
> .Visible = False
> .navigate "http://www.census.gov/ipc/www/popclockworld.html"
>' ↑httpは半角に訂正してください
> Call set_userform
> UserForm1.Show vbModeless
> DoEvents
> Do
> DoEvents
> Do While .Busy = True Or .readyState <> 4
> Loop
> Set idoc = ie.document
> UserForm1.Controls("label1").Caption = idoc.getElementById("worldnumber").innerText
> DoEvents
> Sleep 5000
> .Refresh
> Loop Until UserForm1.cls = 1
> .Quit
> End With
>
> Set ie = Nothing
> Set idoc = Nothing
> Unload UserForm1
>End Sub
>'========================================================================
>Sub set_userform()
> Load UserForm1
> With UserForm1
> .Caption = "世界人口時計"
> .Height = 100
> .Width = 250
> With .Controls.add("Forms.Label.1", "label1", True)
> .Left = 36
> .Top = 24
> .Width = 180
> .Height = 26
> .Font.Size = 26
> .BackColor = &H80000009
> .textAlign = 3
> End With
> End With
>End Sub
>
これが正しく行われていないのではないですか?
再度、前回の私の投稿と照らし合わせてみてください。
|
|