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 以外の外部プログラムからは従来通りにオブジェクトを作成できます。

 

・当該オブジェクトを作成して実現したい動作を他の方法を用いて実現する

対象オブジェクトや実現したい動作によって他の方法の有無は異なりますが、他の実現方法が用意されている場合は、そちらの利用をご検討ください。

 

今回の投稿は以上です。

 

本情報の内容 ( 添付文書、リンク先などを含む ) は、作成日時点でのものであり、予告なく変更される場合があります。