2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

突然MSXML2が動かなくなった

Last updated at Posted at 2022-10-14

昨日まで動いていたマクロが突然動かなくなる・・・本当に目途のつけようがないので厄介ですよね。
昨日、マクロが動かなくなったと依頼があったため見てみました。確かに私の環境でも動きませんでした。
しかし動かなかったのは、リクエストを投げるsendメソッドの部分でした。
サーバの設定誰か自分に相談せず変えたかな?とかwindowsのアップデートでおかしくなったかな?とか色々考えました。

エラーは「セキュリティで保護されたチャネル サポートでエラーが発生しました」
症状は「マクロは動かない、でもURLを直接叩くとjsonが表示される」
現象は「vpsによって元のソースでも動くものはある」

これに当てはまる情報はありませんでした。
とりあえずググって出てきた情報を参考に、変更しました。

元のソース

Const url = "http://hoge.abc/fuga.json"

Set xml = CreateObject("MSXML2.ServerXMLHTTP")
    xml.Open "GET", url, False
    xml.setRequestHeader "Content-Type", "application/json"
    xml.send

変更後

Const url = "https://hoge.abc/fuga.json"

Set xml = CreateObject("MSXML2.XMLHTTP.6.0")
    xml.Open "GET", url, False
    xml.setRequestHeader "Content-Type", "application/json"
    xml.send

たったこれだけの変更で動くようになりました。
ググって出てきたページにはむしろ「ServerXMLHTTPに変更しなさい」というものが多かったので、逆走する形になりました。
最初はXMLHTTP.6.0に変更しただけで、エラーが「アクセスが拒否されました」みたいなものだったと思います。
で、言葉通りだよなとは思いつつもググってみたところ、httpsじゃないのという書き込みがあったためハッとしました。
言葉通りだよなと思ってググらなかったら、ずっと悩んでいたところでした・・・

とりあえず、動いたことよりも「なんで昨日まで動いていたものが急に動かなくなったのか」の方が気になります。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?