4

だから、私はプログラムで生成している形状を持っています.少量のテキストがある場合、次のようになります:

スタイルは正しく、上に垂直に揃えられています

ただし、大量のテキストを追加すると、次のように図形からはみ出します。

垂直方向の配置は境界の外で始まります

私がやりたいことは、オーバーフローを非表示にして、テキストを強制的に形状の上部から開始することです (現在、テキストは形状の上部よりも高い位置から開始されます)

これまでのところ、これに関する多くの情報は見つかりませんでした。図形内のテキストに使用しているコードは次のとおりです。

var shape = slide.Shapes.AddShape(MsoAutoShapeType.msoShapeRectangle, left, top, width, height);
var textRange2 = shape.TextFrame.TextRange.InsertAfter(description);
            textRange2.Font.Size = 10;

shape.TextFrame.TextRange.Paragraphs().ParagraphFormat.Alignment = PpParagraphAlignment.ppAlignLeft;
shape.TextFrame.TextRange.Paragraphs().Font.Name = "Consolas";
shape.TextFrame.TextRange.Paragraphs().Font.Color.RGB = foregroundColor;

最後に、文字列を制限できることはわかっていますが、これはユーザーに問題を引き起こします。テキストが多すぎる場合は、手動で形状のサイズを変更できるようにしてほしいので、それはできません。基本的に、css の overflow:hidden ルールに相当するものが欲しいだけです。

一部のユーザー向けのオプションの 1 つは、次を使用することです。

shape.TextFrame.AutoSize = PpAutoSize.ppAutoSizeShapeToFitText;

これにより、テキストに合わせて形状のサイズが変更されます。代わりに、形状に合わせて TEXT のサイズを変更するオプション (フォントのサイズ変更) も必要ですが、機能が見つからないようです。

みんなありがとう

4

2 に答える 2

0

パワーポイントで直接-これを行うオプションがあります。メニューの配置に基づいて、それは shape.TextFrame.AutoSize プロパティにあると思います - おそらく「混合」オプションですか? PowerPoint のオブジェクト モデルは非常に混乱しているため、他の奇妙なプロパティである可能性があります...

于 2013-05-21T07:36:17.703 に答える