Presentation is loading. Please wait.

Presentation is loading. Please wait.

株式会社大塚商会 LA技術グループ テクニカルスペシャリスト 内山 欣也 マイクロソフト株式会社 インフォメーション ワーカー ビジネス本部 シニア プロダクト マネージャー 松田 誠 導入事例から学ぶ Office 2010 互換性問題に ついての対処法 セッション ID:T5-302.

Similar presentations


Presentation on theme: "株式会社大塚商会 LA技術グループ テクニカルスペシャリスト 内山 欣也 マイクロソフト株式会社 インフォメーション ワーカー ビジネス本部 シニア プロダクト マネージャー 松田 誠 導入事例から学ぶ Office 2010 互換性問題に ついての対処法 セッション ID:T5-302."— Presentation transcript:

1

2 株式会社大塚商会 LA技術グループ テクニカルスペシャリスト 内山 欣也 マイクロソフト株式会社 インフォメーション ワーカー ビジネス本部 シニア プロダクト マネージャー 松田 誠 導入事例から学ぶ Office 2010 互換性問題に ついての対処法 セッション ID:T5-302

3 3 セッションの目的とゴール Session Objectives and Takeaways セッションの目的 Office 2010 の代表的な互換性問題について 理解し、解決手法を知ることで、実際の導入に おけるトラブルの発見、解消にかかる工数を 削減する セッションのゴール Office 2010 の代表的な互換性問題の把握 Office 2010 の互換性問題解決手法の理解

4 4 アジェンダ Office の互換性問題 互換性問題の原因 マクロの互換性問題とその対応方法 10 の互換性問題事象 レイアウトの互換性問題とその対応法 5 つの互換性問題事象 互換性に対するその他の注意事項 まとめ

5 Office の互換性問題

6 6 Office 導入の 3 つの課題 マイクロソフト調べ マクロの動作検証 マクロの動作検証 レイアウトの確認 レイアウトの確認 検証ファイルの収集 検証ファイルの収集 操作トレーニング 操作トレーニング ヘルプデスクの整備 ヘルプデスクの整備 マニュアルの修正 マニュアルの修正 インストール作業 インストール作業 イメージ作成 イメージ作成 メンテナンス メンテナンス

7 7 互換性問題とは? 旧バージョンから新しいバージョンに 移行したときに生じる問題 旧バージョンで 動作していたマクロが バージョンアップとともに 動作しなくなる 旧バージョンで作成した ドキュメントを 開いたときに レイアウトが崩れてしまう

8 8 互換性問題の原因 リボン インターフェース への変更によるもの 廃止となった関数や 定数 描画エンジンの変更 図形のデザイン変更 etc… 特定の操作による 不具合 Office 混在環境に よる不具合 etc…

9 9 Office 導入支援センター ノウハウの一般提供 導入支援コンテンツの提供 導入支援サービスの提供 互換性検証と導入支援 各種コンテンツ作成 ドキュメンテーション Office 導入支援センターは、 株式会社大塚商会 株式会社CSK Win テクノロジ 株式会社日本システムディベロップメント とマイクロソフトが共同で運営しています

10 10 Office 2010 の互換性問題

11 11 マクロの代表的な互換性問題

12 12 レイアウトの代表的な互換性問題

13 マクロの互換性問題と その対応方法

14 14 SELECT FullSize_FieldName.[1_FullSize_Field], FullSize_FieldName.[2_FullSize_Field] FROM FullSize_FieldName; 1. 全角数字で始まるクエリがエラー 全角のアラビア数字が原因で、クエリ実行時に エラーが表示される ①全角のアラビア数字で始まるフィールド名を含む クエリを実行する場合 ②フィールド名を修飾するテーブル名/クエリ名が 全角アラビア数字で始まる場合も同様 対象アプリケーション Access 全角アラビア数字から 始まるフィールドを 使用しているとエラー 全角アラビア数字から 始まるフィールドを 使用しているとエラー 問題点

15 15 ①全角のアラビア数字を使用しないように、 全角のアラビア数字で始まるフィールド名を すべて変更する ②新しいクエリを作成して保存する 対応例 1. 全角数字で始まるクエリがエラー

16 16 2. コントロール等が参照できない 参照情報が [参照不可] となり、コントロールや オブジェクトが利用できない状態となる ①カレンダー コントロール (Access 2010 で廃止) ②Office Web Components (Office 2007 で廃止) ③Office 以外の マイクロソフト 製品 や、 サード パーティ製品 のライブラリなど 対象アプリケーション Word, Excel, PowerPoint, Access 問題点

17 17 2. コントロール等が参照できない カレンダー コントロール (mscal.ocx) の対応 Microsoft Office Access 2007 Runtime に含まれる カレンダー コントロールを使用する http://www.microsoft.com/downloads/details.aspx?familyid=D9 AE78D9-9DC6-4B38-9FA6-2C745A175AED&displaylang=ja http://www.microsoft.com/downloads/details.aspx?familyid=D9 AE78D9-9DC6-4B38-9FA6-2C745A175AED&displaylang=ja Access で利用する場合、日付選択コントロールで 置き換え、アプリケーションを修正する カレンダー コントロール 日付選択コントロール 対応例

18 18 3. 結合セルの検索が無視される 文字列を Find メソッドで検索すると、引数 SearchOrder に列方向を表す xlByColumns を 指定した場合に検索が無視される 対象の文字列が結合セル (横結合) にある場合 対象アプリケーション Excel 検索方向 「Office」 を検索した場合、 結合セルは無視される 「Office」 を検索した場合、 結合セルは無視される Office 問題点 Office

19 19 3. 結合セルの検索が無視される Sub FindMethodSample() Worksheets("Sheet1").Range("A1").Select Cells.Find(What:=" 検索 ", LookAt:=xlPart, _ SearchOrder:=xlByColumns).Activate End Sub Sub FindMethodSample2() Worksheets("Sheet1").Range("A1").Select Cells.Find(What:=" 検索 ", LookAt:=xlPart, _ SearchOrder:=xlByRows).Activate End Sub -------------------------------------------------------------------------------- 対応前 対応後 列方向を表す xlByColumns から 行方向を表す xlByRows に置き換える 列方向を表す xlByColumns から 行方向を表す xlByRows に置き換える 対応例

20 20 4. シートのコピー/移動でエラー ワークシートのコピー/移動によるエラー Excel 2007/2010 ファイル形式 (*.xlsx) の ワークシートを Excel 97-2003 ファイル形式 (*.xls) のワークブックに移動またはコピーする場合  Excel 2007/2010 ファイル形式: 約 104 万行 × 1.6 万列  Excel 97-2003 ファイル形式:約 6.5 万行 × 256 列 対象アプリケーション Excel 2007/2010 ファイル形式 97/2003 ファイル形式 ・コピー ・移動 実行時エラー 問題点

21 21 4. シートのコピー/移動でエラー Sub insNewSheet() Dim shBase As Workbook, shNew As Workbook ‘ 互換モードで Workbook を開く (.xls 形式 ) Set shBase = Workbooks.Open(Filename:="C:\book1.xls") ‘ 新規 WorkBook を作成 (.xlsx 形式 ) Set shNew = Workbooks.Add ‘ 互換モード Workbook に新規 Workbook のシートを移動 shNew.Sheets.Move before:=shBase.Sheets(1) End Sub.xlsx ファイル形式にして、 移動元と移動先のファイル形式を揃える.xlsx ファイル形式にして、 移動元と移動先のファイル形式を揃える.xlsx 形式 ⇒.xls 形式にシートを移動しようとしてエラー 対応前 対応例

22 22 5. FileSearch の実行エラー [ファイル検索] 作業ウィンドウおよび FileSearch オブジェクトは、Office 2007 以降利用できない FileSearch オブジェクトを利用している場合 対象アプリケーション Word, Excel, PowerPoint, Access 実行時エラー 問題点

23 23 Sub FileSearchExcelBook() With Application.FileSearch.LookIn = ActiveWorkbook.Path & "\testSample".FileType = msoFileTypeExcelWorkbooks.Execute MsgBox "FileSearch 関数検索結果 : " &.FoundFiles.Count & " ファイル " End With End Sub Sub DirExcelBook() Dim buf As String 'Dir 関数の結果 Dim i As Long ' ファイル数カウンター buf = Dir(ActiveWorkbook.Path & "\testSample\*.xls") Do While buf <> "" i = i + 1 buf = Dir() Loop MsgBox "Dir 関数検索結果 : " & i & " ファイル " End Sub 5. FileSearch の実行エラー 対応例① - Dir 関数を利用 -------------------------------------------------------------------------------- Dir 関数による検索 に置き換える 対応前 対応後① 対応例

24 24 Sub FSOForExcelBook() Dim objFolder As Folder Dim objFile As File Dim objFSO As FileSystemObject Set objFSO = New FileSystemObject Set objFolder = objFSO.GetFolder(ActiveWorkbook.Path & "\testSample") Dim i As Integer For Each objFile In objFolder.Files If Right(objFile, 4) = ".xls" Then i = i + 1 End If Next objFile MsgBox "FileSystemObject 検索結果 : " & i & " ファイル " Set objFolder = Nothing Set objFSO = Nothing End Sub 5. FileSearch の実行エラー 対応例② - FileSystemObject を利用 FileSystemObject 利用に置き換える 対応後② 対応例

25 25 6. セル数のカウントでオーバー フロー セル数のカウントをするとオーバー フローする Excel 2007/2010 形式 (*.xlsx) のワークシートではセル数が 大幅に増えた為 ①Long 型の範囲を超える個数のセルを含む Range オブジェクトで Count メソッドを使用した場合 ②カウント以外にも、全行や全列に対して 繰り返し処理を行う場合など 対象アプリケーション Excel 1,048,576 行 × 16,384 列 セル数: 17,179,869,184 Long 型:~ 2,147,483,647 (約 171 億) (約 21 億) = 実行時エラー 問題点 >

26 26 6. セル数のカウントでオーバー フロー Sub countCell() MsgBox ActiveSheet.Cells.Count End Sub Sub countCell() MsgBox ActiveSheet.Cells.CountLarge End Sub -------------------------------------------------------------------------------- Variant 型の Range.CountLarge に置き換える 対応前 対応後 対応例

27 27 7. 図形オブジェクトの既定名が変更 図形オブジェクトをマクロ コードから操作する 場合に、各オブジェクトに明示的に名前が 指定されていないとエラーとなる ①AutoShape の 「四角形」 を挿入した場合など 例)Office 2003 でのオブジェクト名:四角形1 Office 2010 でのオブジェクト名:正方形/長方形1 ②図形削除後の連番:以前は番号の再利用はされなかったが、 Office 2007 以降は空き番号を利用 例)Office 2003:図形1を削除・保存後、追加すると図形2 Office 2010:図形1を削除・保存後、追加すると図形1 対象アプリケーション Word, Excel, PowerPoint 問題点

28 28 7. 図形オブジェクトの既定名が変更 Set myDocument = Worksheets(1) With myDocument.Shapes.AddShape(msoShapeRectangle, _ 144, 144, 72, 72).Name = "Red Square".Fill.ForeColor.RGB = RGB(255, 0, 0).Line.DashStyle = msoLineDashDot End With 図形を追加 (Shapes.AddShape) した場合は、 既定名を利用せず、明示的に名前を指定する ※特に、マクロの記録で作成されたコードは、 既定名が利用されるために注意が必要 図形を追加 (Shapes.AddShape) した場合は、 既定名を利用せず、明示的に名前を指定する ※特に、マクロの記録で作成されたコードは、 既定名が利用されるために注意が必要 対応後 対応例

29 29 8. CSV 形式保存で \ が ? に変換 CSV 形式で保存すると、円マーク ”\” が ”?” に 変換される Excel 2007/2010 にて作成または編集したデータで、 セルの表示形式が 「通貨」 である場合 対象アプリケーション Excel CSV出力 問題点

30 30 8. CSV 形式保存で \ が ? に変換 Dim wb1 As Workbook Dim wb2 As Workbook Dim yen As String Set wb1 = Workbooks.Open(Filename:="c:\CSVOutput.xlsx") yen = wb1.Worksheets("Sheet1").Range("A1").Value Workbooks.Add Set wb2 = ActiveWorkbook wb2.Worksheets("Sheet1").Range("A1").Value = "\" & yen wb2.SaveAs Filename:="c:\CSVOutput.csv", _ FileFormat:=xlCSV, local:=True 文字列型として扱い、 ”\” を結合して出力する 文字列型として扱い、 ”\” を結合して出力する 通貨形式のデータを文字列型で扱う 円マークが必要な合は、 文字列結合をする 対応後 対応例

31 31 9. サンドボックス モード 安全と見なされないマクロやクエリの実行が ブロックされる サンドボックス機能が有効 (デフォルト有効) な場合 対象アプリケーション Access 問題点 Office 2003 参照時Office 2010 参照時

32 32 9. サンドボックス モード レジストリの設定で無効に変更する 1.[HKEY_LOCAL_MACHINE]\Software\Microsoft\ Office\14.0\Access Connectivity Engine\Engines 2.[SandboxMode] の [値のデータ] フィールドの 値 3 を 2 に変更します  「Access 2010 でサンドボックス モードを使用する」 http://office.microsoft.com/ja-jp/access- help/HA010342092.aspx 対応例

33 33 10. acCmdImport は非サポート DoCmd.RunCommand の acCmdImport コマンドは、Office 2007 以降利用できない 対象アプリケーション Access 実行時エラー 問題点

34 34 10. acCmdImport は非サポート Private Sub Import() DoCmd.RunCommand acCmdImport End Sub Private Sub Import() DoCmd.RunCommand acCmdImportAttachExcel End Sub -------------------------------------------------------------------------------- 対応前 対応後 ImportAttachコマンドを利用する例 ・acCmdImportAttachAccess ・acCmdImportAttachText ・acCmdImportAttachXML etc. ImportAttachコマンドを利用する例 ・acCmdImportAttachAccess ・acCmdImportAttachText ・acCmdImportAttachXML etc. 対応例

35 レイアウトの互換性問題と その対応法

36 36 1. 図形内の文字の改行位置が変化 問題が発生する場合:① 又は ② ①図形内のテキストの余白部分が少ない場合 ②デザインが変更されている図形を使用している場合 (角丸四角形、角丸四角形吹き出し等) 対象アプリケーション Word, Excel, PowerPoint Office 2003 参照時Office 2010 参照時 問題点

37 37 2. 図形内の文字が隠れる 問題が発生する場合 図形内のテキストの余白部分が少ない場合 対象アプリケーション Word, Excel, PowerPoint Office 2003 参照時Office 2010 参照時 問題点

38 38 Office 2003 参照時Office 2010 参照時 3. グラフ値軸の目盛間隔が変化 問題が発生する場合 軸のオプションで目盛を 「自動」 に設定している場合 対象アプリケーション Excel 問題点

39 39 4. 画像のイメージが表示されない 問題が発生する場合:① かつ ② ①Word 文書内の画像をコピーし、 [図 (拡張メタファイル)] として同ファイル上に 貼り付けている ②図の書式設定 (明るさ等) を初期値から変更している 対象アプリケーション Word Office 2003 参照時Office 2010 参照時 JPEG 拡張 メタファイル JPEG 拡張 メタファイル 問題点

40 40 5. リンク貼り付け画像の縮尺が変化 問題が発生する場合:① かつ ② かつ ③ ①同シート内でリンク貼り付けが行われている ②ズームが 100% 以下になっている ③保存時に該当シート以外のシートが表示状態 対象アプリケーション Excel Office 2003 参照時Office 2010 参照時 問題点

41 41 レイアウト問題点の対応例 図形内の文字列変化 (No.1, 2) 図形を大きくする (余白を十分にとる) テキストのフォントサイズを調節する グラフ目盛変化 (No.3) 軸を 「自動」 ではなく 「固定」 とする 画像欠落 (No.4) 図 (JPEG) や図 (PNG) として貼り付けを行う リンク貼り付け画像の変化 (No.5) 図として貼り付けを行う 対応例

42 互換性に対する その他の注意事項

43 43 64 ビット版 Office への対応 ActiveX コントロールと COM アドイン 32 ビット版向けに作成された ActiveX コントロールと COM アドインは、64 ビット版では動作しない 64 ビット版向けにビルドしたものが必要 Visual Basic for Applications 7 (VBA 7) VBA 6 に代わる新しい VBA エンジン 32 ビット版と 64 ビット版の両方で使用可能 “VBA7” と “Win64” という 2 つのコンパイラ定数で 実行環境を判別可能 一部のコードについては 64 ビット版対応が必要

44 44 Declare ステートメント 32 ビット版で Declare ステートメントを使用して DLL にアクセスしている VBA コードは書き換えが必要 64 ビット版 VBA 7 では Declare ステートメントに PtrSafe 属性の追加が必要 新しいデータ型 LongLong と LongPtr LongLong 型:64 ビット (8 バイト) 符号付き数値を 格納 LongPtr 型:32 ビット システムでは Long 型の数値、 64 ビット システムでは LongLong 型の数値を格納 LongPtr 型を使用すると、32 ビットと 64 ビットの 両環境で実行できる移植可能なコードを記述できる 64 ビット版 Office への対応

45 45 メッセージ バーの表示 Office 2007 以降セキュリティ警告がダイアログ ボックスからメッセージ バーに変更 マクロ等が含まれる場合 外部データへのアクセスがある場合 インターネットからダウンロードしたファイルを 表示する場合 電子メールの添付ファイルを表示する場合 ファイル検証などでエラーがあった場合 セキュリティ機能の変更に対する対応

46 46 セキュリティ機能の変更に対する対応 信頼できる場所 特定のフォルダに保存しているファイルを信頼し 警告の表示などを省略する 信頼されたドキュメント ドキュメントの信頼性に関する判断を繰り返し 要求しないようにする機能 信頼できるドキュメントとして判断を保持する

47 まとめ

48 48 Office 2010 互換性ホワイトペーパー Open XML の運用や 展開時の留意事項 以前のバージョンの Office で作成した ドキュメントの、 レイアウトの互換性 以前のバージョンの Office で作成した マクロや VBA コードの 互換性 セキュリティの新機能と 留意事項 Office 2010 の 64 ビット版に関する 留意事項 「企業向け Microsoft Office 2010 サイト」より入手できます http://www.microsoft.com/japan/office/2010/business/ http://www.microsoft.com/japan/office/2010/business/

49 49 まとめ 約 10,000 ファイルの検証の結果、 互換性問題の 90% 以上は特定の事象が 引き起こしていることがあきらかに なりました 代表的な問題を理解することにより、 検証、改修にかかる工数を削減することが できます 今後も Office 導入に関する情報を 提供し続けますので、定期的にご確認を お願いいたします

50 50 関連セッション

51 51 リファレンス

52 ご清聴ありがとうございました。 T5-302

53 © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.


Download ppt "株式会社大塚商会 LA技術グループ テクニカルスペシャリスト 内山 欣也 マイクロソフト株式会社 インフォメーション ワーカー ビジネス本部 シニア プロダクト マネージャー 松田 誠 導入事例から学ぶ Office 2010 互換性問題に ついての対処法 セッション ID:T5-302."

Similar presentations


Ads by Google