2017 年 7 月のセキュリティ更新適用後、VBA から一部のオブジェクトを作成できません
※ この記事は以下の Office サポート フォーラムに移行しました。 https://social.msdn.microsoft.com/Forums/ja-JP/62ea4bb9-459f-4d7a-bb02-4b24abb37c8b/2017-7-vba-?forum=officesupportteamja
こんにちは、Office 開発サポート チームの中村です。
今回の記事では、2017 年 7 月 12 日 (日本時間) に公開されたセキュリティ更新によって、VBA から一部のオブジェクトを利用できなくなりました。本記事では、この動作ついて記載します。
2017/7/14 Update
クイック実行形式向けの更新が公開されましたので、情報を追加しました。
2017/8/25 Update
利用できなくなったオブジェクトの例を追記しました。
2018/7/31 Update
利用できないオブジェクトの一覧へのリンクを追記しました。
2017 年 7 月の Office セキュリティ更新で、以下の公開情報で案内している修正が行われました。
タイトル : CVE-2017-8570 | Microsoft Office Remote Code Execution Vulnerability
アドレス : https://portal.msrc.microsoft.com/ja-jp/security-guidance/advisory/CVE-2017-8570
この更新によって、VBA から CreateObject などで一部のオブジェクトを作成することができなくなりました。
利用できなくなったものの例 : Scriptlet.TypeLib (CreateObject("Scriptlet.TypeLib").GUID のように、GUID を作成するためなどに利用されます。)
2018/7/31 Update
この更新を含め、現在 Office で制限されているオブジェクトの一覧を以下の公開情報に記載しています。対象のオブジェクトはセキュリティ対策のため、随時追加される場合があります。
タイトル : Office の COM オブジェクトに関するセキュリティ設定
アドレス : https://support.microsoft.com/ja-jp/help/4058123 (日本語版)
アドレス : https://support.microsoft.com/en-us/help/4058123 (英語版)
この更新で作成できなくなったオブジェクトはごく一部で、Excel.Application 等の各種 Office アプリケーション オブジェクト、テキストの入出力に使用する Scripting.FileSystemObject 等は引き続き作成できます。
この更新内容は、Office 2007 / 2010 / 2013 / 2016 のすべての提供形態向けに公開されます。それぞれ、対象となる更新は以下の通りです。
<MSI インストーラー形式の Office 向けの更新>
Office 2007
文書番号 : 3213640
タイトル : 2007 Microsoft Office スイート セキュリティ更新プログラムの説明: 2017 年 7 月 11日
アドレス : https://support.microsoft.com/ja-jp/help/3213640
Office 2010
文書番号 : 3213624
タイトル : Office 2010 用のセキュリティ更新プログラムの説明: 2017 年 7 月 11日
アドレス : https://support.microsoft.com/ja-jp/help/3213624
Office 2013
文書番号 : 3213555
タイトル : Office 2013 のセキュリティ更新プログラムの説明: 2017 年 7 月 11日
アドレス : https://support.microsoft.com/ja-jp/help/3213555
Office 2016
文書番号 : 3213545
タイトル : 2016 の Office のセキュリティ更新プログラムの説明: 2017 年 7 月 11日
アドレス : https://support.microsoft.com/ja-jp/help/3213545
<クイック実行形式の Office 向けの更新>
Office 2013
バージョン 15.0.4945.1001 で更新されました。
Office 2013 クイック実行形式向けの更新履歴は以下のリンクをご確認ください。
タイトル : Office 2013 の更新履歴
アドレス : https://support.microsoft.com/ja-jp/gp/office-2013-365-update
Office 2016
各チャネル、以下のバージョンで更新されました。
Current Channel : 16.0.8229.2086
First Release for Deferred Channel : 16.0.8201.2136
Deferred Channel : 16.0.7766.2096
Deferred Channel (Extend) : 16.0.7369.2151
Office 2016 クイック実行形式向けの更新履歴は以下のリンクをご確認ください。
タイトル : 更新プログラム チャネル リリースのバージョン番号とビルド番号
アドレス : https://support.office.com/ja-jp/article/ae942449-1fca-4484-898b-a933ea23def7
日本語翻訳サイトは更新が遅れる場合がありますので、最新の情報は合わせて以下の英語サイトもご参照ください。
タイトル : Version and build numbers of update channel releases
アドレス : https://support.office.com/en-us/article/ae942449-1fca-4484-898b-a933ea23def7
この動作変更は、セキュリティ脆弱性への対応のため従来の動作に戻す (制限されたオブジェクトを作成できるようにする) 方法は用意されていません。
これらの更新プログラムを適用後、VBA での CreateObject や new 等の処理で特定のオブジェクトが作成できない場合は、以下のような対応をご検討ください。
・VBScript 等の外部プログラムで当該処理を実行する
今回の変更は Office の更新のため、VBA 以外の外部プログラムからは従来通りにオブジェクトを作成できます。
・当該オブジェクトを作成して実現したい動作を他の方法を用いて実現する
対象オブジェクトや実現したい動作によって他の方法の有無は異なりますが、他の実現方法が用意されている場合は、そちらの利用をご検討ください。
今回の投稿は以上です。
本情報の内容 ( 添付文書、リンク先などを含む ) は、作成日時点でのものであり、予告なく変更される場合があります。