2014/04/16

4/16/2014
 Excel2003のマクロコードで、本日少々不可解なことがあったので、投稿してみます。
 次のExcelマクロコードが正常に動作しない現象についてです。
Windows("エクセルファイルのファイル名").Activate
 Excel2013までのExcelでは、エクセルファイルのファイルのファイル名が前面に配置され、その後、Sheets()などの命令を行った場合、先のActivateしたエクセルファイルを処理対象に行われるのですが、Excel2010以降のExcelでは動作が保証されない動きとなることを筆者は確認しています。
 当不具合は、複数ファイルを一度に処理するマクロにおいて、Activateにて選定する処理が上手く行かない現象として現れます。
 改善策は、次のようにSheetsまでを指定すれば正常に動作するようになるのですが、筆者の経験上、次の記載が必要となるのはExcel2010以降のExcelでした。
Windows("エクセルファイルのファイル名").Sheets(1).Activate

 Excel2003というよりOffice2003は2014/4/9でセキュリティー保守が終わりましたが、終了日の土壇場で数件のパッチがリリースされているようです。
 土壇場のパッチでExcel2003のマクロ動作仕様が変わった様に思えてなりません。
 詳細はもう少々確認を進めてみようと思いますが、Excel2003をお使いの方は、注意してみてください。

0 コメント:

コメントを投稿