[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『WEBSERVICE関数の使い方』(ハシビロコウ)
WEBSERVICE関数を利用すると、エラーとなってしまいます。
下記のようにWEBSERVICE関数を紹介しているサイトの例を入力してもエラー表記になってしまいます。何を改善すればよいのでしょうか。
=WEBSERVICE("http://www.drk7.jp/weather/xml/13.xml")
< 使用 Excel:Excel2013、使用 OS:Windows10 >
↑その http://www.drk7.jp/weather/xml/13.xml は現在は存在しないのでエラーになります。 (tora) 2020/05/18(月) 16:52
(ハシビロコウ) 2020/05/18(月) 18:07
例えばこんなのでは? Yahoo!ニュース の主要 トピックスの rssが返ってきませんか?
=WEBSERVICE("https://news.yahoo.co.jp/pickup/rss.xml")
たぶん質問者さんの期待に応えるものではないとおもいますが。 (´・ω・`) 2020/05/18(月) 18:20
あれ?質問者さんの =WEBSERVICE("http://www.drk7.jp/weather/xml/13.xml") の式を入力したら、ちゃんと返ってきますね。
質問者さんのネット環境ははどうでしょうか? IEとかで http://www.drk7.jp/weather/xml/13.xml 開いたら、表示されますか?
PROXY ? (´・ω・`) 2020/05/18(月) 18:25
=WEBSERVICE("http://zipcloud.ibsnet.co.jp/api/search?zipcode=1000000")
ただ、マクロと違い、可変部分があるならば、数式で全て編集しないといけないので、面倒ですよ? マクロでIEオブジェクトを操作する方が一般的だと思います。
(???) 2020/05/18(月) 18:35
=WEBSERVICE("https://news.yahoo.co.jp/pickup/rss.xml")
もエラーになります。ネットは問題ないです。
エクセルの設定に問題がある気がするのですが・・・
(???)さん
=WEBSERVICE("http://zipcloud.ibsnet.co.jp/api/search?zipcode=1000000")
でもエラーになります。
URLの問題ではない気がします。
マクロを使用せずに外部データの出力しようとしています。
(ハシビロコウ) 2020/05/18(月) 18:41
エラーになるというのは #Value になるということでいいですよね? (´・ω・`) 2020/05/18(月) 19:51
以下余談ですが。
すでに指摘がありますように、ワークシート関数での使い途がよくわからないですね。
よほど簡単なWebAPIを想定しているのでしょうか。
結局のところ取得したXMLから情報を取り出すには、
XML関連のツールなり正規表現を使うなりする必要があり、
ワークシート関数だけではむずかしいのではないかという感じです。
(γ) 2020/05/18(月) 20:40
>XMLから情報を取り出すには、 FILTERXML関数というのがあるみたいですよ =FILTERXML(WEBSERVICE("https://news.yahoo.co.jp/pickup/rss.xml"),"/rss/channel/item/title") とか (´・ω・`) 2020/05/18(月) 21:11
簡単なWebAPIを使用します。
情報の抽出は問題ありません。
問題はwebservice関数がエラーになることだけです。
(ハシビロコウ) 2020/05/18(月) 21:41
proxyサーバー通してないですか?
(´・ω・`) 2020/05/18(月) 22:10
すみませんが、私にはこれ以上はわかりません。 Proxy通すとダメという情報も、私自身では確認できてないので、 そうでないかもしれません IEで表示できてるなら出来ていいのにと思いますし。
ちなみに、webservice関数と同様のこと、VBAでユーザ定義関数で書こうとすると、 こんな感じになります。 =HTTPGet("https://news.yahoo.co.jp/pickup/rss.xml") としたら、どうなるでしょうか?
Function HTTPGet(url)
Const SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS = 2 Const SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS = 13056
Set xHttp = CreateObject("MSXML2.ServerXMLHTTP")
xHttp.Open "GET", url, True xHttp.setOption SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS, SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS xHttp.send
If xHttp.readyState <> 4 Then xHttp.waitForResponse 2 '3秒まってだめならタイムアウト
HTTPGet = xHttp.responseText
Set xHttp = Nothing
End Function (´・ω・`) 2020/05/18(月) 23:45
もう少し原因を調べようと思います。
(ハシビロコウ) 2020/05/19(火) 00:07
いや、使う使わないは自由だけど、 VBAの方からだと、PROXY経由でGetできるのかを確かめたいんで、 いっぺんやってみてもらえませんかね? (´・ω・`) 2020/05/19(火) 00:17
ではやはり、PROXYの問題のように思うので、 私にはこれ以上わかりません。
ちなみに、VBAでPROXYを通すには以下のようにすればいいようです。 環境がないのでテストしてないですけど、参考に。
Function HTTPGet(url) Const SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS = 2 Const SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS = 13056 Set xHTTP = CreateObject("MSXML2.ServerXMLHTTP") xHTTP.Open "GET", url, True
xHTTP.setProxy 2, "proxy.srv:port" ' プロキシサーバー xHTTP.setProxyCredentials "User", "Password" ' 認証情報
xHTTP.setOption SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS, SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS xHTTP.send If xHTTP.readyState <> 4 Then xHTTP.waitForResponse 2 '3秒まってだめならタイムアウト HTTPGet = xHTTP.responseText Set xHTTP = Nothing End Function (´・ω・`) 2020/05/19(火) 09:37
問題が明らかにして頂きありがとうございます。
(ハシビロコウ) 2020/05/19(火) 09:55
(´・ω・`)さんも書いていた事ですが、駄目だというURLは、IEとEdgeに直接入れて表示できますか? これができないと、Excelでもできません。
(???) 2020/05/19(火) 10:32
コマンドプロンプトを管理者モードで起動し、以下を入力してみてください。
netsh winhttp show proxy
おそらく、プロキシサーバなしと表示されるのではないでしょうか。
次に、以下でIEのプロキシ設定をWindowsに反映します。
netsh winhttp import proxy source = ie
この後、ExcelでWEBSERVICE関数を試してみてください。
Windowsのプロキシ設定を消すには、以下。
netsh winhttp reset proxy
Windowsにプロキシ設定しても症状が変わらないのであれば、会社がフィルタしてアプリを制限しているのかも知れません。 第3者では構成を知れないので、会社の情報処理部門に相談するしかないでしょうね。
(???) 2020/05/19(火) 13:39
(ハシビロコウ) 2020/05/19(火) 17:42
> コマンドプロンプトを管理者モードで起動し、以下を入力してみてください。 ここが重要で、管理者モードでないと設定変更できないのですが、ここは手順通りにしましたか?
(???) 2020/05/20(水) 13:45
管理者モードで実行しています。
(ハシビロコウ) 2020/05/20(水) 14:08
WEBSERVICE関数は駄目、IEオブジェクトも駄目ということなので、関数やマクロの問題ではなく、ネットワーク環境の問題だと思われます。 先に書いた通り、ネットワークを管理している部門に相談するしかないでしょう。
(???) 2020/05/20(水) 17:44
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.