[[20150322145553]] 『webクエリのマクロの記録について』(スズメ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『webクエリのマクロの記録について』(スズメ)

Excel2007と2010のwebクエリをマクロの記録で記録し、それを何も編集せずに実行するとうまくいくのですが、2013の記録したものでは編集しないで実行してもうまくいきません。もちろん、マクロを実行する前はマクロの記録の時にいじったクエリは全て除去してから行っております。2013にあって、2010や2007にないもので、プロパティにコラムなんとかみたいなものがあったのでそれを消して実行しても、プロシージャ、または引数の呼び出しが不正ですとなり、うまくいきません。記録したものが実行できないのはおかしいと思うのですが。2013の不具合でしょうか?

解決方法を教えて下さい。よろしくお願いします。

< 使用 Excel:Excel2007、使用 OS:Windows7 >


 こちらじゃ手がかりが少ないので、

 「2010」と「2013」で記録したマクロの記録コードを比較して
 違う部分が無いかチェックしてみてください。

 あと「2010」で作ったマクロを「2013」に貼り付けて、動くかどうかもチェックしてみてください。

 解決策は、上記の調査結果をまってから考えることにしたいです。

(半平太) 2015/03/22(日) 17:03


2010年のを貼り付けて実行したらうまくいんですよね。
2013は会社にあるので、比較は今できませんが、もし、2010や2007がない環境に遭遇したときのために今のうちに対応策を考えておきたいのです。2010のコードを常にもっていればいいと思う人もいるかもしれませんが、いつでもそれが手元に置けるとは限らないので、2013だけでなんとかできる方法が知りたいのです。あと、2013の不具合なのかどうかも知りたいむです。
(スズメ) 2015/03/22(日) 17:21

 これと同じでしょうね。(多分)
  ↓
 【excelのマクロ記憶によって次のようなマクロ・・】
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13131911928

(半平太) 2015/03/22(日) 21:37


私が言ったコラムなんとかというのはおそらく.CommandType = 0のことなんでしょうけど、これを消してもエラーが発生したのですが。

明日もし機会があれば他のエラー箇所を探してみます。とりあえずバグということはわかったので良かったです。

ありがとうございました。
(スズメ) 2015/03/22(日) 22:04


これが2013年のマクロの記録です。

Sub Macro2()

    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://weather.yahoo.co.jp/weather/jp/past/2/3130/detail.html?c=2015&m=3&d=1" _
        , Destination:=Range("$A$1"))
        .CommandType = 0
        .Name = "detail.html?c=2015&m=3&d=1"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlEntirePage
        .WebFormatting = xlWebFormattingNone
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
End Sub

次に、2010の記録です。

Sub Macro1()
'
' Macro1 Macro
'

'

    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://weather.yahoo.co.jp/weather/jp/past/2/3130/detail.html?c=2015&m=3&d=1" _
        , Destination:=Range("$A$1"))
        .Name = "detail.html?c=2015&m=3&d=1"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .WebSelectionType = xlEntirePage
        .WebFormatting = xlWebFormattingNone
        .WebPreFormattedTextToColumns = True
        .WebConsecutiveDelimitersAsOne = True
        .WebSingleBlockTextImport = False
        .WebDisableDateRecognition = False
        .WebDisableRedirections = False
        .Refresh BackgroundQuery:=False
    End With
End Sub

なぜかしれませんが、今回もう一度.CommandType = 0を消して実行したところ、うまくいきました。ですので以前に実行したときにエラーが出たのは私のほうに問題があるということがわかりました。
半平太さん、解決策を教えていただき、ありがとうございました。

(スズメ) 2015/03/23(月) 12:51


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.