2016-04-08 3 views
0

タグで図形を追加、私が作成しているVSTOアドインリボンでボタンには "Add Shape"というボタンがあります。 このボタンをクリックすると、次のコードを実行:パワーポイントVSTOアドイン - 私はプログラム的に</p> <p>だから、C#.NETでパワーポイントの現在のスライドに図形を追加したいと思います

Globals.ThisAddIn.Application.ActiveWindow.View.Slide.Shapes.AddShape(
    Microsoft.Office.Core.MsoAutoShapeType.msoShapeRectangle, 0, 0, 10, 20); 

このコードを実行すると、それが正しく現在のスライドに矩形の形状を追加します。

この図形を後で修正したいと思います(たとえば、幅を変更するなど)。これを可能にするために、私は形状が一意の識別子を持つべきであることをどこかに読んでおり、これはTagを使って達成できますか?

もしそうなら、後で操作できるように、シェイプを追加して新しく追加したシェイプにタグを設定するにはどうすればよいですか?

また、現在のスライドのシェイプのコレクションをどのように反復して、シェイプのタグをチェックして変更したいのか確認できますか?

答えて

1

.AddShapeメソッドは、追加したばかりの図形への参照を返すことができます。 これを簡単にするためにしたいと思うでしょう。

形状は .Tagsオブジェクトが.Addメソッドを持つ.Tagsオブジェクトを持っている

のでoShapeにおける形状への参照は、あなたがすることができると仮定すると(VBAで再び、あなたは変換する必要があります) :(

タグでの作業:

詳細および例(VBA)指定されたタグ値を持つ形状への参照を返す関数の場合
oShape.Tags.Add "MyTagName", "MyTagValue" 

、あなたは私のPPTよくあるご質問サイトにこのページを訪問することができます機能についての少し) http://www.pptfaq.com/FAQ00815_Working_with_Tags_-and_a_bit_about_Functions-.htm

+0

これはバグかどうかわかりませんが、しかし、Globals.ThisAddIn.Application.ActiveWindow.View.Slide.Shapes.AddShape'を使ってシェイプを追加すると、intelliSessenseが表示されないようです。さもなければ私はそれが参照を返すことを見たであろう。現在のスライドにシェイプを追加する別の方法はありますか? – Latheesan

+0

また、シェイプを追加してリファレンスを取得すると、どのタイプを使用しますか?私はこの 'var newShape = Globals.ThisAddIn.Application.ActiveWindow.View.Slide.Shapes.AddShape(...);'を試して、 'newShape.'をタイプした場合、私はintellisenseから何も戻っていません。 'AddShape'メソッドにカレットを置き、' f12'を押すと、このエラーが出ます: 'キャレットの下のシンボルに移動できません。 ' – Latheesan

+0

私はdot.netのものを手伝うことができません。私はそれを必要としない、それを使用しないでください。 –

関連する問題