[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『別ファイルのWEBクエリー操作について』(愛宕)
お世話になります。
BOOK_Aのマクロから、BOOK_Bを開きこれのマクロ(WEBクエリー更新)を実行したいのです。
手動によるステップ実行では更新されますが、一括実行では更新されません。
どなたかアドバイスをお願いします。
BOOK_Aのマクロ(抜粋)
Workbooks.Open Filename:="C:\Users\user\みずほ\みずほLOTO6.xlsm"
Application.Run "みずほLOTO6.xlsm!RenewLoto6_Tbl"
BOOK_B(みずほLOTO6.xlsm)のマクロ
Sub RenewLoto6_Tbl() 'テーブルを更新する
Worksheets("取込データ").Activate
If ActiveSheet.QueryTables.Count = 0 Then
Call Macro1 '---クエリテーブルが無ければ実行---
End If
With ActiveSheet.QueryTables(1)
.Connection= "URL;http://www.mizuhobank.co.jp/takarakuji/loto/loto6/index.html"
.WebTables = 1 '---1番上の表を取り込みデータを更新する---
.Refresh
End With
End sub
< 使用 Excel:Excel2010、使用 OS:Windows10 >
Macro1の内容が開示されていないのですが、
Macro1が動く環境になっているのでは?
(その都度Querytableを削除しているとか。)
いずれにせよ、一括実行の際の動作をもっとよく観察する必要が
あるのではないですか?
(γ) 2016/04/21(木) 06:53
Sub Macro1()
' -------- 新規作成時に使用する --------------
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.mizuhobank.co.jp/takarakuji/loto/loto6/index.html", _
Destination:=Range("$B$2"))
.Name = "ロト6"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlOverwriteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "1"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
End Sub
(愛宕) 2016/04/21(木) 10:42
いやいやすっかり放置したことになっていました。どうも失礼。 自宅でしかアクセスせず、アクセス回数も最近減っていたので見逃してしまっていました。
それで、もう一度質問を読み直してみたのですが、 BackgroundQuery周りを確認されたらどうでしょうか。
というのは、 .BackgroundQuery = True と設定されていて、 実行時には、Refreshとだけしているので、 Trueにしたがって、本体命令は直ぐに次の命令に制御が移り、 Backgroundで取得が遅れてなされる、という状況なのでしょう。
遅れても更新されれば問題がなく、更新すらされないということなら、 別の問題があるのでしょう。私にはわかりません。
(γ) 2016/04/24(日) 12:46
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.