ユーザーが図形のペアを作成できるようにするPowerPoint2010アドインを作成しました。これらのペアは同期されます(位置、色、テキストなど)。ペアは、次のクラスのオブジェクトとして保存されます。
class Pair
{
Shape LeftShape { get; set; }
Shape RightShape { get; set; }
}
シェイプを含むペアがある場合にシェイプが変更されると、もう一方のシェイプが更新されます。
マスターレイアウトでペアを定義することが可能です。同期はマスターで機能します。ペアが2つのプレースホルダーで構成されていて、マスターに基づいてスライドを作成した場合、もちろん、新しい形状は同期されません。シェイプのマスターに相当するものを見つける方法はありますか?その逆もありますか?その場合、アルゴリズムは次のようになります。
s1's modification is recognized
if s1 is a placeholder
find s1's equivalent in master -> m1
look up the partner of m1 -> m2
find the shape in the current slide that is based on m2 -> s2
update s2
Name
新しい形状のとId
プロパティを確認しました。ただし、マスターシェイプのプロパティとは異なります。
ところで、図形がプレースホルダーであるかどうかを判断するための良い方法はありますか?私の現在のアプローチはPlaceholderFormat
、図形にプレースホルダーがない場合に、例外をスローするクエリを実行することです。しかし、これは間違いなく良い方法ではありません。