呼び出し

最近の書き込み件数: 今日 0件、昨日 0件
未読分:2件

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)


Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

近田 伸矢, 植木 悠二, 上田 寛

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

Message#2 2015年11月13日(金)13時14分
From: VBA悩み
返事 削除 変更
解決いたしました。

Message#1 2015年11月13日(金)11時38分
From: VBA悩み
返事 削除 変更
下記の@、Aの二つを一連の作業(呼び出しOR記述)にしたいと考えています。
@をベースにAを組み込みたいです。
長文で申し訳ありませんが宜しくお願いします。

@
Sub PrSerch()

Dim rc As Integer

rc = MsgBox("処理を行いますか?", vbYesNo + vbQuestion, "確認")
If rc = vbYes Then

Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Dim objIE As InternetExplorer
Dim i As Integer
Dim NN As Long
Dim h As Long
Dim jn As Long
Dim maxrow As Long
Dim t As Variant
Dim myAry1
Dim ws1 As Object
Dim sline As Variant

'sline = Range("S2:S1000")


Set ws1 = Workbooks("商品search").Worksheets("CheckSheet")

'ストップウォッチ
t = Timer

'データの最終行取得
maxrow = ws1.Cells(Rows.Count, 19).End(xlUp).Row

Debug.Print maxrow


'ループ処理
For jn = 2 To maxrow

If Cells(jn, 19) = "" Then

End If

If Cells(jn, 19) <> "" Then
'データ抽出用ページをIE(InternetExplorer)で起動
Call ieView(objIE, "https://www.berrys1.jp/stock/stock.t.html")

'検索窓に「検索ワード」を入力
objIE.Document.getElementById("itemcode").Value = Cells(jn, 19)

'Click前のLink数を記憶(これが変化するとの前提)
NN = objIE.Document.Links.Length


'検索ボタンを押す
Call IEButtonClick(objIE, "検索")

Sleep 800


'無限ループを避けるため上限を1秒に
Do Until objIE.Document.Links.Length <> NN Or i > 10
DoEvents
Sleep 100
i = i + 1
Loop
If i > 10 Then

End If


Select Case objIE.Document.Links.Length

Case NN

SendKeys "{ENTER}"
objIE.Quit

Case Else

'a要素をクリックする
objIE.Document.Links(0).Click

'0.5秒待ち
Sleep 500

'全てのtdが表示された場合の条件分岐
If objIE.Document.getElementsByTagName("td").Length <> 4 Then

'金額("td")(13)を変数に入れる 対象のセルに入力
h = objIE.Document.all.tags("td")(13).innerHTML

ws1.Cells(jn, 5) = h

'閉じてお掃除
objIE.Quit
Set objIE = Nothing

Else

SendKeys "{ENTER}"
objIE.Quit

End If
End Select
End If

※※このあたりに組み込みたい※※

Next jn

Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True


Else
MsgBox "処理を中断します"

End If '確認の終わり



Debug.Print Timer - t

End Sub

A
Sub joutai()

Dim rc As Integer

rc = MsgBox("処理を行いますか?", vbYesNo + vbQuestion, "確認")
If rc = vbYes Then


Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

Dim objIE As InternetExplorer
Dim i As Integer
Dim NN As Long
Dim NN2 As Long
Dim NN3 As Variant
Dim h As String
Dim jn As Long
Dim k As Integer
Dim maxrow As Long
Dim t As Variant
Dim myAry1
Dim ws1 As Object
Dim ss As Object
Dim per As Double

Set ws1 = Workbooks("商品search").Worksheets("CheckSheet")

'データの最終行取得
maxrow = ws1.Cells(Rows.Count, 20).End(xlUp).Row


per = Cells(1, 21)


For jn = 2 To maxrow

If Cells(jn, 20) < per Then

End If


If Cells(jn, 20) >= per Then

'データ抽出用ページをIE(InternetExplorer)で起動
Call ieView(objIE, "https://www.berrys1.jp/stock/stock.t.html")

'検索窓に「検索ワード」を入力
objIE.Document.getElementById("itemcode").Value = Cells(jn, 19)

'Click前のLink数を記憶(これが変化するとの前提)
NN = objIE.Document.Links.Length

'検索ボタンを押す
Call IEButtonClick(objIE, "検索")

Sleep 800

'無限ループを避けるため上限を1秒に
Do Until objIE.Document.Links.Length <> NN Or i > 10
DoEvents
Sleep 100
i = i + 1
Loop
If i > 10 Then

End If

Select Case objIE.Document.Links.Length

Case NN

SendKeys "{ENTER}"
objIE.Quit

Case Else

'a要素をクリックする
objIE.Document.Links(0).Click

'0.5秒待ち
Sleep 500
'全てのtdが表示された場合の条件分岐
If objIE.Document.getElementsByTagName("td").Length <> 4 Then
Set ss = objIE.Document.all.tags("td")

For k = 14 To ss.Length - 2

If ss(k).innerHTML = "在庫(LABI品川大井町店)" Then

h = ss(k + 1).innerHTML

ws1.Cells(jn, 16) = h

ElseIf ss(k).innerHTML = "在庫(L1日本総本店池袋)" Then

h = ss(k + 1).innerHTML

ws1.Cells(jn, 14) = h

ElseIf ss(k).innerHTML = "在庫(LABI新宿東口館)" Then

h = ss(k + 1).innerHTML

ws1.Cells(jn, 15) = h

ElseIf ss(k).innerHTML = "在庫(京葉配工センター)" Then

h = ss(k + 1).innerHTML

ws1.Cells(jn, 17) = h

End If
Next k
Else

SendKeys "{ENTER}"
objIE.Quit

End If
objIE.Quit
Set objIE = Nothing
End Select
End If


Next jn

Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True


Else
MsgBox "処理を中断します"
'確認の終わり
End If

End Sub

最新20件 最新50件 最新100件 最新200件 200件以前
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降

VBAのIE制御についてのQ&A掲示板

↑エクセルVBAのIE(InternetExplorer)操作で分からない事があればこちらの掲示板よりご質問ください^^

ExcelのVBA初心者入門

↑こちらはExcelのVBAをマスターできるよう初心者向けのエクセルVBA入門コンテンツになります^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

VBAでIE(InternetExplorer)制御の準備

エクセルVBAでIE制御の応用編

こちらでは、エクセルVBAで実際に作成したIE(InternetExplorer)制御ツールをまとめています。自動ログインや情報収集など具体的に解説しています。IE(InternetExplorer)制御をされる方は参考にしてください。

【ダウンロード】IE操作に便利なツール

こちらでは、これまでに紹介したIE(InternetExplorer)操作で便利な機能をツール化しています。無償でダウンロードできますので、目的に合わせたご利用ください。

IEオブジェクトのメソッド・プロパティ

こちらでは、IE(InternetExplorer)オブジェクトのメソッド・プロパティをまとめています。

IE操作に利用されているVBA関数

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたVBA関数をまとめています。

IE操作に利用されているステートメント

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたステートメントをまとめています。ExcelのVBAで基本的な部分になりますので、しっかり理解しましょう。

IE(InternetExplorer)制御のVBAコード

こちらでは、これまでに作成したIE(InternetExplorer)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。

ExcelのVBAで作成した役立つVBAコード

こちらでは、IE(InternetExplorer)制御の利用だけでなく、Excel全般で利用できるVBAコードです。エクセルVBAで役に立つものばかりですので、ご利用ください。

dmb.cgi Ver. 1.068
Copyright(C) 1997-2014, hidekik.com