以前使用していたWindowsの以前のバージョンのWindowsでは、Office 2003、2007、2010、2013などで動作していたVBAマクロを編集しています。 Windows 10にアップグレードしたので、このコード行は次のようになります。OSに基づいたパブリック変数タイプを宣言する
Private m_document As MSXML2.DOMDocument
動作しません。それが必要です
Private m_document As MSXML2.DOMDocument60
コンテキストでは、私は明示的なグローバル変数を宣言しており、これもその1つです。
問題は、私のコンピュータでこれらのマクロを編集する必要がありますが、それらのバージョンではまだ製品が使用されているため、古いOSバージョンでも動作する必要があります。私はそうでなければこの仕事をするための方法があるかどうかを知るために、たくさんのものを試しました。 MSXML6は私の古い(実行中のウィンドウズ7)と新しいコンピュータの両方にあります。この時点で、どのOSが使用されているかに応じてこの変数を定義する方法があることが私の希望です。私はあなたがOSをチェックすることができることを知っています、私はそれのためのコードを見つけましたが、OSに基づいて変数を条件付きで定義する方法はありますか?
すなわち:
if windows10
Private m_document As MSXML2.DOMDocument60
else
Private m_document As MSXML2.DOMDocument
Mmm。 MSXML 6パーサーは2003年から始まったすべてのバージョンのOfficeで配布されていましたが、2003年はXMLの機能が導入されたことから思い出してください。それらの他のシステムでは利用できないと確信しています。単にDOMDocumentからDOMDocument60への宣言を変更するだけでは機能しませんか? –
私が最初に試したことの一つは、まさにあなたが言ったからです。私はDOMDocument60に変更するとタイプミスマッチエラーが発生します。 – user2658277