オンライン講座 質問と回答

無料・有料のオンライン講座で寄せられたメッセージの一部を紹介致します。

[11337]エクセルマクロVBA「Web連携」Microsoft Internet ControlsならではのWebコンテンツの取得

2019-04-12 00:19:21 ざきさんさんからの投稿です。

質問というか、動画をみていておかしな点があったので、指摘します。
動画24と動画23の内容が逆のような気がします。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10181]エクセルマクロVBA「Web連携」Microsoft Internet ControlsならではのWebコンテンツの取得

2018-06-30 12:26:08 田中 宏明さんからの投稿です。

IEを使わないという選択がベターだとは思いますが、ついIEを使ってしまう私のIE表示待ち時間処理をご紹介させていただきます。
(講座範疇外のため添削不要です。)

Public Sub Myloop(ByRef ie As Object)
    'IE表示完了の待ち合わせ 2018/6/30
    Dim IEretry   As Boolean: IEretry = False
    Dim RepeatSec As Single:  RepeatSec = Timer

On Error GoTo INVALID

    Do While ie.Busy = True Or ie.readyState < 4 'READYSTATE_COMPLETE
        DoEvents
'        Sleep 200  '200ms停止

        If (Timer - RepeatSec) > 80 Then
            Debug.Print ie.readyState
            MsgBox "サーバーが応答していません。インターネット接続をご確認後、再度実行してください。"
            ie.Quit
            End
        ElseIf (Timer - RepeatSec) > 40 And IEretry = False Then
            'IEの再読み込みは1回限りとする
            IEretry = True
            ie.Refresh
        End If
    Loop

    Do While ie.document.readyState <> "complete"
        DoEvents
'        Sleep 200  '200ms停止
        
        If (Timer - RepeatSec) > 100 Then
            Debug.Print ie.document.readyState
            ie.Quit
            MsgBox "ドキュメントを取得できません。インターネット接続をご確認後、再度実行してください。"
            End
        End If
    Loop

    '念のため確認
    DoEvents
    If ie.Busy = True Or ie.readyState < 4 Then
        Call Myloop(ie)  '再帰呼出
    End If
    
    Exit Sub

INVALID:

    Debug.Print "エラー番号:" & Err.Number & vbNewLine & "エラーの種類:" & Err.Description
    '実行時エラー「書き込みできません。」(70)は想定内なので無視。
    'それ以外はエラーを発生させる。
    If Err.Number <> 70 Then
        Err.Raise Err.Number
    Else
        On Error GoTo 0
        MsgBox "IE読み込み時にエラー発生。処理を継続します。"
    End If

End Sub 

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[4052]エクセルマクロVBA「Web連携」Microsoft Internet ControlsならではのWebコンテンツの取得

2015-04-06 23:49:21 受講生さんからの投稿です。

こんばんは。
東京青果情報センターからCSVファイルを抜き出すマクロを書いてみました。
ダウンロードボタンを押すところまで出来たのですが、その先がわかりません。
ダウンロードのダイアログボックスをコントロールすることは可能でしょうか。

Option Explicit
'以下に紹介するライブラリの参照設定をしてください
'Microsoft Internet Controls -> IEを制御するため
Sub 野菜()
    Dim objIE As New InternetExplorer, myrow As Long, i As Long
    objIE.Visible = True
    
    Dim url As String
    url = "http://www.info-seikabutu.jp/junpou_geppouNEW1.html?time="; & Format(Now, "yymmddhhnnss")
    '↑参考までに、SSLの場合もそのまま使えます。
    
    'テストページを、IDで読み込みます
    objIE.navigate url
    
    'ページの表示完了待ち
    Do While objIE.readyState <> 4 Or objIE.Busy = True
        DoEvents
    Loop
Dim oH
For Each oH In objIE.Document.getElementsBytagname("a")
If InStr(oH.innertext, "市場別入荷量と価格") > 0 Then
oH.Click
Exit For
End If
    
Next oH
objIE.Quit
End Sub






[ 続きを読む ]  返信件数:7件  [ 動画を見る] 


各講座ごとのメッセージを見る場合はこちら

 

まずはここから!スマホでも学べる無料動画講座

今なら先着30名限定で無料!定価4,800円の、初心者のためのエクセルマクロ動画講座。
  1. Excel 97~Excel 2016まですべて対応。動画本数20本、総再生時間2時間44分53秒
  2. PC, Mac, iPhone, iPad, Androidのお好みの環境で、いつでも好きなときに学べます。
2004年から10年間述べ3,000名以上に実施した研修の経験と実績を集約した講座です。
いますぐ無料で試してください。

トップへ