「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>移行・マイグレーション]]

* 目次 [#w83f0dfe]
#contents

*概要 [#lce45ffd]
本ページでは、Officeバージョンアップに伴うVBAの環境移行の作業範囲を扱います。

下記のように、旧OfficeのVBAプログラムも、概ねそのまま使えるようですが、~
コンバージョン(手修正有りのコンバージョン移行)が必要となるケースもあるため、~
移行の見積もりに関しては、プログラムの移行性評価作業として、1・2本のプログラムを~
サンプリングし、実際に移行 ~ テストした上で、移行作業全体の工数を見積もることをお薦めします。 

*[[Accessバージョンアップ]] [#vd6cf3f6]

*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つの条件付きコンパイル定数が追加

--また、64 ビットバージョンのコモンコントロールが含まれていない。

***参考 [#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

----
Tags: [[:移行]], [[:Visual Basic]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS