0

PowerPoint プレゼンテーションを作成するために C# アプリケーションで開発しています。

OpenXML SDK 2.0 と MS Office PP 2007 を使用しています。

テンプレートからスライドを複製して、新しい図形を追加できます。

しかし今、私は自分の図形にハイパーリンクを追加したいと考えています。

これどうやってするの?

私はこれを見つけました:チュートリアルですが、実行時にこれらのハイパーリンクを追加する必要があります。

私はすでにこれを試しました。

SlidePart currentSlidePart = CloneSlidePart(presentationPart, slidePart);
Slide s = currentSlidePart.Slide;
currentSlidePart.AddHyperlinkRelationship(new System.Uri("myuri", System.UriKind.Absolute), true, "rId2");

次に、メソッドを呼び出して形状を作成しました。

s.CommonSlideData.ShapeTree.Append(generateTextShape("some content", shape));

そして、これは方法です:

 public static Shape generateTextShape(String input, ShapePosition shapePosition)
 {
            Shape shape1 = new Shape();
...
            D.HyperlinkOnClick hyperlinkOnClick1 = new D.HyperlinkOnClick() { Id = "rId2" };
            nonVisualDrawingProperties1.Append(hyperlinkOnClick1);
...
    return shape1;
}

今のところ、何も起こりません..私が間違っていること、何か提案はありますか?

(クラス ShapePosition は、形状の x、y、幅、高さのためのものです)

よろしくお願いします!

4

1 に答える 1

0

あなたは「何も起こらない」と言ったので、私は仮定しません。次のアイデアをいくつか試してみてください。

1) ハイパーリンクはスライド ショー モードで表示されます。プレゼンテーションをスライド ショー モード (F5 キーを押す) にしてから、図形をクリックします。

2) あなたの をあなたの に追加しましたnonVisualDrawingProperties1shape1? 伝えるには、PP2007 の図形を右クリックしてハイパーリンクを選択します... URL があるかどうかを確認します。そこにない場合は、 inメソッドnonVisualDrawingProperties1 に追加されていることを確認する必要があります。shape1generateShapeText

3) URL はあるのに機能しない場合は、関係 ID が間違っている可能性がありますか?? PP2007 で同じファイルを使用して、新しい単純な形状を作成し、新しいハイパーリンクを追加して、新しいファイル名で保存し、生産性ツールで 2 つのファイルを比較します。PP2007 が生成した新しいハイパーリンクと関係が表示されます。

に部分的なコードを投稿しましたgenerateShapeText。完全なコードを入力していただければ、トラブルシューティングに役立つ可能性があります。-乾杯。

于 2013-11-29T11:25:07.467 に答える