Office オートメーションの経験を持つ VB 愛好家の皆様、
コンテキスト: Visual Studio 2010 で VB.Net を使用して Office Powerpoint 用のリボン アドインを開発しようとしています。
問題:各スライドのすべての Powerpoint 'オブジェクト' に、動的で透明なテキスト の透かしを追加してから、それらを画像に変換しようとしていますが、テキストを透明にすることはできません。
タスクは単純に見えますが、コンサルティングを検討する前に何度も試しました。
現在の試み: 特定のオブジェクトの上に基本的なテキストベースの透かしを受け取るために、次のようにコーディングするとします。
NewPresentation.Slides(Slide).Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal, Left, Top, Width, Height)
With NewPresentation.Slides(Slide).Shapes(NewPresentation.Slides(Slide).Shapes.Count)
.TextFrame.TextRange.Text = WatermarkText
.Line.Visible = MsoTriState.msoFalse
.Width = Math.Sqrt((Object.Width * Object.Width) + (Object.Height) * Object.Height))
.Rotation = -(Math.Atan(Object.Height) / (Object.Width) * (180 / System.Math.PI)) ' - Angle * Radius->Degree ratio (Atan returns radius)
.Left = (Object.Left + (Object.Width / 2)) - (.Width / 2)
.Top = (Object.Top + (Object.Height) / 2)) - (.Height / 2)
.Name = "Watermark_" & Group
End With
上記は、新しい TextBox の挿入、テキストの設定、行の非表示、幅の設定 (オブジェクトのサイズに基づく)、テキスト ボックスの回転 (オブジェクトの幅と高さの比率に基づく)、左右の位置の設定 (オブジェクトの位置に基づく) を行います。 、および形状に名前を付けます。
あとは、テキスト ボックスとそのオブジェクトを選択し、コピーして削除し、両方を画像として貼り付けて、画像の形状を再配置するだけです。成功です。
このすべてが完全に機能します。
ただし、テキストを透明にしたい場合はどうすればよいでしょうか?
これを達成するための3つの可能な方法を知っています。
1 - TextBox のテキストのテキスト効果をフォーマットして透明にすることができます (手動)。
2 - TextBox をコピーし、新しいシェイプを作成してクリップボードから背景を設定し、塗りつぶしの透明度を (手動で) 変更できます。
3 - TextBox をコピーし、画像として貼り付け、画像を保存し、新しいシェイプを作成してファイルから背景を設定し、塗りつぶしの透明度を (手動で) 変更できます。
透かしテキストは動的である必要があるため、事前に作成された画像を作成できません。
私は 3 つすべてを試しましたが、それぞれの特定の段階で失敗しました。
( 1 ) TextBox の Text に Text-Fill Format を設定して透明にする方法がわかりません
( 2 )クリップボードから図形の背景を設定する方法がわかりません
( 3 )形状を画像として保存する方法がわかりません
誰かが上記のいずれかを行う方法を教えてくれますか、またはより適切な提案を提供できますか?
この質問を拡張または再構築するか、リクエストに応じてより多くのコード サンプルを提供させていただきます。
よろしくお願いします