[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『「エクセルの学校」の過去ログを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 "http://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.