ワークシートサイズ変更のための作業ソリューション

背景

OLEフレームの追加に関する記事では、Aspose.Slides for Javaを使用してPowerPointプレゼンテーションにOLEフレームを追加する方法を説明しました。オブジェクト変更の問題に対処するために、選択した領域のワークシート画像をチャートOLEオブジェクトフレームに割り当てました。出力プレゼンテーションでは、ワークシート画像を表示するOLEオブジェクトフレームをダブルクリックすると、Excelチャートがアクティブになります。エンドユーザーは実際のExcelワークブックに望む変更を加え、その後アクティブ化されたExcelワークブックの外をクリックすることで関連するスライドに戻ることができます。スライドに戻ると、OLEオブジェクトフレームのサイズが変更されます。リサイズ係数は、OLEオブジェクトフレームと埋め込まれたExcelワークブックの異なるサイズによって異なります。

リサイズの原因

Excelワークブックには独自のウィンドウサイズがあるため、最初のアクティベーション時に元のサイズを維持しようとします。一方、OLEオブジェクトフレームにも独自のサイズがあります。Microsoftによれば、Excelワークブックがアクティブになると、ExcelとPowerPointはサイズを交渉し、埋め込み操作の一環として正しい比率になるようにします。ExcelウィンドウのサイズとOLEオブジェクトフレームのサイズ/位置による違いに基づいてリサイズが行われます。

作業ソリューション

リサイズ効果を回避するための2つの可能なソリューションがあります。* OLEフレームのサイズをPPT内で目的の行/列数の高さ/幅に合わせてスケールする* OLEフレームのサイズを一定に保ち、参加する行/列のサイズをスケールして選択されたOLEフレームサイズに合わせる

OLEフレームサイズをワークシートの選択された行/列サイズにスケールする

このアプローチでは、埋め込まれたExcelワークブックのOLEフレームサイズをExcelワークシートの参加行および列の合計サイズに等しく設定する方法を学びます。

テンプレートExcelシートが定義されており、それをOLEフレームとしてプレゼンテーションに追加したいとします。このシナリオでは、OLEオブジェクトフレームのサイズは、参加するワークブックの行および列の高さと幅の合計に基づいて最初に計算されます。その後、OLEフレームのサイズをその計算された値に設定します。PowerPointでOLEフレームに対する赤い埋め込まれたオブジェクトメッセージを回避するために、ワークブック内の望ましい行と列の部分の画像も取得し、それをOLEフレームの画像として設定します。

OLEフレームサイズに応じてワークシートの行の高さと列の幅をスケールする

このアプローチでは、カスタム設定されたOLEフレームサイズに従って参加行の高さと参加列の幅をスケールする方法を学びます。

テンプレートExcelシートが定義されており、それをOLEフレームとしてプレゼンテーションに追加したいとします。このシナリオでは、OLEフレームのサイズを設定し、そのOLEフレームエリアに参加する行と列のサイズをスケールします。その後、変更を保存するためにワークブックをストリームに保存し、OLEフレームに追加するためにバイト配列に変換します。PowerPointでOLEフレームに対する赤い埋め込まれたオブジェクトメッセージを回避するために、ワークブック内の望ましい行と列の部分の画像も取得し、それをOLEフレームの画像として設定します。

結論