[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『「エクセルの学校」の過去ログをVBAで表示したい』(田吾作)
連続質問失礼します。
いま、WEBクエリに関する質問をさせていただく準備として、ここ(エクセルの学校)の過去ログを 表示するコードを作成中です。
指定の年月の過去ログをIE表示するために下記のコードを組んだのですが、コンボボックスで 指定の年月が選択されません。 ソースを見ても年月の指定の仕方が間違っているように思えないのですが、原因が分かりません。
下記の例ですと、今日(2015/9/28)現在、「201508」を選択するようにしています。 が、結果はコンボボックスがブランクになります。
.Forms(0).All("listbox_1").Value = nengetu
をコメントアウトにして実行すると、「201509」が選択された状態になります。
どのように修正したらいいでしょうか、ご教示お願いいたします。
Sub test()
Dim nengetu As String
'Dim nengetu As Long
Dim MyShell As Object, objIE As Object, MyWindow As Object
Dim Ck As Boolean
nengetu = Format(DateSerial(Year(Date), Month(Date) - 1, 1), "yyyymm")
'nengetu = "201508"
'MsgBox nengetu
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 MyWindow
If Ck = False Then
Set objIE = CreateObject("InternetExplorer.Application")
End If
With objIE
.Visible = True
.navigate "https://www.excel.studio-kazu.jp/cgi-bin/pastlogs/pastlogs.cgi"
Do While .Busy = True
DoEvents
Loop
Do While .Document.ReadyState <> "complete"
DoEvents
Loop
With .Document
.Forms(0).All("listbox_1").Value = nengetu
'.Forms(0).Submit
End With
End With
End Sub
< 使用 Excel:Excel2007、使用 OS:WindowsVista >
Dim i As Long
…
With .Document.Forms(0)
For i = 0 To .All("listbox_1").Length - 1
If .All("listbox_1")(i).Value = nengetu Then
.All("listbox_1")(i).Selected = True
Exit For
End If
Next i
.Submit
End With
(???) 2015/09/28(月) 10:41
???さん、ご回答ありがとうございます。
ご教示いただきました探り方でIE表示させることができました。 ありがとうございました。 (田吾作) 2015/09/28(月) 12:55
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.