こんにちは。私も他の方と同様に、 「Microsofr XML v6.0」(Microsofr XMLの最大値)では、 最初から、コンパイルエラーで、ユーザ定義型は定義されておりません、となるのですが、 Sub DelMagPost() Dim xh As New MSXML2.XMLHTTP の部分を、webで見つけたXMLHTTP60という表記を参考に、 Dim xh As New MSXML2.XMLHTTP60 とすると、問題なく動きました。これでも大丈夫でしょうか? また、ここら辺はエクセルのバージョンの問題でしょうか?(当方は2019利用です)
受講生さんの投稿
(投稿ID: 5510)
「Microsofr XML v6.0」(Microsofr XMLの最大値)では、
最初から、コンパイルエラーで、ユーザ定義型は定義されておりません、となるのですが、
Sub DelMagPost()
Dim xh As New MSXML2.XMLHTTP
の部分を、webで見つけたXMLHTTP60という表記を参考に、
Dim xh As New MSXML2.XMLHTTP60
とすると、問題なく動きました。これでも大丈夫でしょうか?
また、ここら辺はエクセルのバージョンの問題でしょうか?(当方は2019利用です)
田中 宏明さんのコメント
(コメントID: 8273)
BingのChatGPTに質問してみたら、以下の回答が得られました。
以下、ChatGPT回答(抜粋)
=============================================
はい、それで問題ありません。MSXML2.XMLHTTP60は、Microsoft XML Core Services (MSXML) 6.0のXMLHTTPオブジェクトを参照します。これは、HTTPを通じてデータを送受信するためのオブジェクトです。
MSXML2.XMLHTTPは、以前のバージョンのMSXML(3.0など)で使用されていましたが、MSXML 6.0では、MSXML2.XMLHTTP60を使用することが推奨されています。…ただし、この変更が行われた場合、コードはMSXML 6.0がインストールされているシステムでのみ動作します。
=============================================
受講生さんのコメント
(コメントID: 8275)
勉強になりました!
小川 慶一さんのコメント
(コメントID: 8279)
ありがとうございます。
これも、OS側の仕様変更によるものと思います。
以下は、 claude 3 で聞いてみて得られた回答です。
MSXML2.XMLHTTP が使えなくなり、 MSXML2.XMLHTTP60 と書けば動くようになりました。
これはいつから?
得られた回答:
MSXML2.XMLHTTP と MSXML2.XMLHTTP60 の違いは、サポートされているXMLHTTPリクエストの仕様のバージョンが異なることです。
- MSXML2.XMLHTTP は旧来の XMLHTTPRequest 1.0 仕様に準拠
- MSXML2.XMLHTTP60 は XMLHTTPRequest 1.0 仕様のほかに、一部の新しい XMLHTTPRequest 2.0 の機能もサポート
XMLHTTPRequest 2.0 は 2008年頃から策定が始まり、2022年4月にW3C勧告となった比較的新しい仕様です。
Microsoft는 Windows 8.1 および Windows 10 Anniversary Update 以降で MSXML2.XMLHTTP60 を標準搭載し、XMLHTTPRequest 2.0をネイティブでサポートするようになりました。
一方で、Windows 7などの古いOSでは、MSXML2.XMLHTTP60がインストールされていない可能性があります。
つまり、2014年当時は MSXML2.XMLHTTP が使えていたが、2024年の新しい環境ではMSXML2.XMLHTTP60を使わないと動作しない、ということが考えられます。OSがWindows 10より新しいバージョンに更新されたことで、サポートされるXMLHTTPの仕様バージョンが変更になった可能性があります。
このように、XMLHTTPを扱うコンポーネントの変更により、VBAコードで使う参照の名前を変更する必要が出てくるケースがあります。環境のアップデートに伴い、適切なコンポーネントを使うよう対応していく必要がありそうです。
受講生さんのコメント
(コメントID: 8280)
ベースの環境の変化により、コードに修正が必要となることがあるのですね。
また、AIの対応力は凄いですね。この分野は特に相性がいいのかもしれませんが。
イレギュラーから、いろいろ学びがありました。ありがとうございました。
小川 慶一さんのコメント
(コメントID: 8281)
OS側の仕様変更、通信先のサービスの仕様変更等はつきものですが、最近はAIがあるのでこの手の問題が起きても解決にかかるコストはかなり削減されました。
(AI活用をできるのも、本講座で扱っているような基本知識への理解があってこそですが)
ひきつづきどうぞよろしくお願いいたします。