[[Open棟梁Project>http://opentouryo.osscons.jp/]] - [[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]] -[[戻る>移行・マイグレーション]] * 目次 [#w83f0dfe] #contents *概要 [#lce45ffd] 本ページでは、Officeバージョンアップに伴うVBAの環境移行の作業範囲を扱います。 下記のように、旧OfficeのVBAプログラムも、概ねそのまま使えるようですが、~ コンバージョン(手修正有りのコンバージョン移行)が必要となるケースもあるため、~ 移行の見積もりに関しては、プログラムの移行性評価作業として、1・2本のプログラムを~ サンプリングし、実際に移行 ~ テストした上で、移行作業全体の工数を見積もることをお薦めします。 *Officeバージョンアップ [#ua6ae018] **Office97/2000 → 2003移行 [#fd5d11b5] 株式会社 オデッセイ コミュニケーションズさんの -「VBAエキスパート > VBAマイグレーションセンター」~ http://vbae.odyssey-com.co.jp/about/migration.html にVBA移行の情報が纏まっています。 -技術資料 --Office 97 / 2000 から Microsoft Office 2003 Editons への移行~ Visual Basic for Applications 移行に関するチュートリアル --Office 97 / 2000 からMicrosoft Office 2003 Editions への移行における、~ Visual Basic for Applicationsの互換性と注意点 Office97/2000 → 2003移行時のVBAプログラムについては、概ねそのまま使えるようです。 **Office2003 → 2007移行 [#vab62567] Office2003 → 2007移行に関しても、VBAプログラムは、概ねそのまま使えるようです(下記、HPを参照)。 -ITmedia エンタープライズ:~ Office 2007の互換性問題を検証――理解しておくべきマクロやアドインへの影響~ http://www.itmedia.co.jp/enterprise/articles/0605/01/news010.html >マクロや拡張機能のサポートは継続。 --VBA、マクロ --[[COM]]アドイン --スマートタグ --作業ウィンドウ --ActiveXコントロール >ただし、VBAはOffice 2007の64ビット版には移植されないので注意が必要。 -日経パソコン オンライン : Office2007プレビュー~ http://pc.nikkeibp.co.jp/article/NPC/20060615/240980/ --新しいVBAは何が変わったのか?(第6回)~ http://pc.nikkeibp.co.jp/article/NPC/20060727/244547/ --旧バージョンとの互換性やいかに(第8回)~ http://pc.nikkeibp.co.jp/article/NPC/20060810/245683/ VBAの基本仕様は変わっていませんが、一部、検討課題もあるようです。~ 解決方法としては、1つ・1つ調べての対応となるようです。 **Office2010移行 [#n0bb66ad] 対応方法としては、上記と大差ないようです。 -Office > 2010 > 導入・展開 > 基礎からわかる! Office 2010 移行術 TechNet~ http://technet.microsoft.com/ja-jp/office/hh563066 -Office > 2010 > 代表的なタスク > 互換性 > Microsoft Office 2010 ホワイト ペーパー~ http://technet.microsoft.com/ja-jp/office/ff945357.aspx --Office 2010 の構成と展開 --ファイル フォーマット およびドキュメント レイアウトの互換性について --マクロ互換性について(2003以前のバージョンで作成したマクロを 2007 以降のバージョンで利用する場合の影響) -Office > 2010 > 代表的なタスク > 互換性 > Microsoft Office 2010 の互換性~ http://technet.microsoft.com/ja-jp/office/ff460851.aspx -TechNet ライブラリ > Office 2010 リソース キット --Office 2010 の互換性を評価する~ http://technet.microsoft.com/ja-jp/library/ee460876.aspx ---Office 2010 アプリケーション互換性ガイド~ http://technet.microsoft.com/ja-jp/library/ee819096.aspx >>Office 2010 のアプリケーション互換性評価ツール ---Office Environment Assessment Tool (OEAT) ---ISV アプリケーション互換性可視化プログラム (Application Compatibility Visibility Program) ---Microsoft Office 2010 Code Compatibility Inspector (OCCI) --Office 2010 での製品と機能の変更~ http://technet.microsoft.com/ja-jp/library/cc178980.aspx ---Office 2010 の変更~ http://technet.microsoft.com/ja-jp/library/cc178954.aspx -Office 開発の航海日誌 Logbook~ 【Office 2010】Office 2010 のオブジェクトモデルの互換性に関する情報について~ http://saikik5656.wordpress.com/2010/05/09/ -@IT > Windows 7とOffice 2010、企業はいま移行すべきか~ http://www.atmarkit.co.jp/news/201005/06/gartner.html -TechTargetジャパン > ホワイトペーパー ダウンロードセンター > Office 2010導入完全ガイド~ http://wp.techtarget.itmedia.co.jp/contents/?cid=11788 VBAの基本仕様は変わっていませんが、一部、検討課題もあるようです。~ 解決方法としては、1つ・1つ調べての対応となるようです。 **Office2010 64bit版 移行 [#q9e75b6c] 32bit版のOfficeであれば64bitのOS上でも~ [[WOW64]]上で32bitで動作させることができ、問題はそれほど多くありません。 64ビット版のOfficeでは、下記の点に注意が必要になります。 -ActiveXコントロールや[[COM]]アドイン~ ActiveXコントロールや[[COM]]アドインは64ビット環境を想定して~ 作られてはいませんので、多くが64ビット版のOfficeでは動作しません。 -VBA7~ 64ビット版対応に伴いVBAも新しいバージョンであるVBA7になりました。~ 殆どの VBAコードは 64 ビット版fficeでもそのまま動作しますが、~ 64bit対応などで一部修正が必要になります。 --LongPtr型とLongLong型が追加(変換するための演算子、関数も追加)~ 演算子:CLngPtr、CLngLng、関数:VarPtr、ObjPtr、StrPtr --DeclareステートメントにPtrSafe属性を追加 --VBA7とWin64という2つの条件付きコンパイル定数が追加 ***参考 [#rdd3a558] -TechNet Blogs > Microsoft Office 2010 Engineering (日本語訳) > 64 ビット版 Office について~ http://blogs.technet.com/b/office2010_jp/archive/2010/05/05/64-office.aspx~ --VBA との互換性を考えて、既定のインストールでは32 ビット版 Office 2010 をお勧めしています --(更新: ほとんどの VBA コードは 64 ビット版Officeでもそのまま動作しますが、詳しくは こちら の資料 を参照してください)。 -初心者備忘録 > Office関連 > 64ビット版Officeの注意点(Office 2010)~ http://www.ka-net.org/office/of30.html~ 現段階(2010年6月時点)ではアドイン周り含めて環境が 整っていないため、64ビット版の導入はあまり推奨されていません。 -TechNet --Office > 2010 > ヒント集 > Office 2010 の 64 ビット版と 32 ビット版のどちらを展開するか判断するための 4 つの考慮事項~ http://technet.microsoft.com/ja-jp/office/gg605223 ---ユーザーが実行しているオペレーティング システム ---組織で使用しているドキュメントの種類 ---Office をアップグレードするのか、新しくインストールするのか ---組織で Office アドインまたは VBA マクロを使用しているか -TechNet ライブラリ > Office 2010 リソース キット~ --> Office 2010 の互換性を評価する~ http://technet.microsoft.com/ja-jp/library/ee460876.aspx ---> 64 ビット版の Office 2010~ http://technet.microsoft.com/ja-jp/library/ee681792.aspx インストールする Office 2010 のエディションを選択するときの推奨事項は次のとおりです。 --組織内のユーザーが、ActiveX コントロール、サードパーティ製アドイン、以前のバージョンの Office を基に構築された社内製ソリューション、Office との間に直接的なインターフェイスがある 32 ビット バージョンのプログラムなど、Office に対する既存の拡張機能に依存している場合は、32 ビットおよび 64 ビットのサポートされる Windows オペレーティング システムを実行しているコンピューターに 32 ビットの Office 2010 をインストールすることをお勧めします (既定のインストール)。 --2 GB より大きい Excel スプレッドシートを使用している Excel の熟練ユーザーが組織内にいる場合は、64 ビット版の Office 2010 をインストールできます。また、社内のソリューション開発者がいる場合は、64 ビット版の Office 2010 で社内ソリューションをテストおよび更新できるように、開発者が 64 ビット版の Office 2010 にアクセスできるようにすることをお勧めします。 -MSDN ライブラリ > Office 開発 > Office 2010 技術記事~ '> Office 2010 の 32 ビット バージョンと 64 ビット バージョンとの互換性~ http://msdn.microsoft.com/ja-jp/library/ee691831.aspx --Microsoft Office 2010 の 32 ビット バージョンと 64 ビット バージョンについて --比較 : 32 ビット システムと 64 ビット システム --VBA 7 コード ベースについて --ActiveX コントロールと COM アドインの互換性 --アプリケーション プログラミング インターフェイスの互換性 --条件付きコンパイル属性の使用 --まとめ、参考資料 **Office2013移行 [#q310f105] -Office 2013 での変更点~ http://technet.microsoft.com/ja-jp/library/cc178954.aspx --Office 2013 の IT 担当者向け新機能~ http://technet.microsoft.com/ja-jp/library/dd188670.aspx --Access 2013 の新機能 - Office.com~ http://go.microsoft.com/fwlink/?linkid=268762&clcid=0x411 --Access 2013 の開発者向け新機能~ http://msdn.microsoft.com/ja-jp/library/office/jj250134.aspx --Excel 2013 の新機能 - Excel - Office.com~ http://office.microsoft.com/ja-jp/excel-help/HA102809308.aspx --Excel 2013 開発者向けの新機能~ http://msdn.microsoft.com/ja-jp/library/office/ff837594.aspx *COMについて [#pf86acae] VBAは、VB6.0の言語仕様が踏襲されているため、[[COM]]に処理を依存しているところがありますが、~ この VBAから呼び出される[[COM]](ActiveX Control、ActiveX EXE、VB COM)の -「開発環境のサポート期間切れ」に起因する移行対象範囲の拡大や、 -「当該プラットフォーム上でのサポート無し」のため、代替ライブラリのI/F変更発生 に起因する修正範囲拡大の可能性がありますので注意が必要です。 *関連リンク [#fba0cc72] -Office 2003 Editions リソース キット > ジャーナル~ --Office 2000 から Office 2003 Editions への移行~ http://www.microsoft.com/japan/office/ork/2003/journ/00-03DeltaWPIntro.htm --Office XP から Office 2003 Editions への移行~ http://www.microsoft.com/japan/office/ork/2003/journ/xp-03intro.htm -Access 2007 に移行する~ http://office.microsoft.com/ja-jp/access-help/HA010209115.aspx -Microsoft Office Access 2003 Conversion Toolkit~ http://www.microsoft.com/japan/office/ork/2003/journ/accessconvert.htm -Access 97/2000 から Access 2003 への移行ガイド~ http://download.microsoft.com/download/8/5/0/850cc1ef-8427-4437-9079-900ad17bc933/AccessMigGuide.doc -Microsoft Technet --2007 Office system の移行術のご紹介 TechNet~ http://technet.microsoft.com/ja-jp/office/hh432456 --基礎からわかる! Office 2010 移行術 TechNet~ http://technet.microsoft.com/ja-jp/office/hh563066 -Office 製品群 評価ガイド シリーズ~ http://technet.microsoft.com/ja-jp/office/jj149945.aspx --Office 互換性ホワイト ペーパー ---ドキュメント レイアウトの互換性について~ http://download.microsoft.com/download/8/5/C/85CA5B92-0829-4966-AECE-C7B4FB2EDE07/Office2013_compatibility_for_format_layout.pdf ---マクロ互換性について~ http://download.microsoft.com/download/8/5/C/85CA5B92-0829-4966-AECE-C7B4FB2EDE07/Office2013_compatibility_for_macro.pdf