1

必要なすべてのテキストボックスを含むテンプレートをPowerPointスライドに設定した場合、それらのテキストボックスに必要なテキストを入力するためにどのVisual Basicを使用しますか?

これらのpptブリーフには多くのデータが含まれている(または含まれている必要がある)ため、テンプレートを使用する方が簡単です。

  • これらのテキストボックスにテキストを入力するにはどうすればよいですか
  • 特定のテキストボックスのフォント、サイズ、フォントボールドなどをどのように変更しますか?
  • 選択からオブジェクト名を取得するために、マクロの後にマクロを記録してテキストボックスを選択する以外に、テキストボックス/形状(「テキストボックス52」)の「名前」を決定する方法はありますか?
  • マクロを使用してvbaを決定する場合、それをvbaとして使用しても機能しないのはなぜですか?マクロから取得したvbにはactive.selectionがあるようですが、何を選択すればよいかわからないため、vbaプロシージャとして機能していないようです。おもう

私が探しているのは、テンプレートを使用して、アクセスからエンドゲームpptを作成することです。アクセスフォームに、スライドのpptテキストボックスに情報を中継する複数のテキストボックスが必要です。

アクセスからテンプレート(または新しいプレゼンテーション)を起動する方法と、新しいアイテム(スライド、グラフ、チャート、テキスト)を追加する方法は知っていますが、既存のテキストボックスを変更する方法がわかりません!!

助けてください....私の仕事は昨日のようにこれを必要としています!

いつもありがとう!

4

2 に答える 2

2

次のように、名前で図形にアクセスできます。

Dim oSlide As Slide
Set oSlide = ActivePresentation.Slides(1)

Dim oShape As Shape
Set oShape = oSlide.Shapes(strShapeName)

Dim oTextRange As TextRange
Set oTextRange = oShape.TextFrame.TextRange

oTextRange.Text = "this is some text"

oTextRange.Font.Bold = msoTrue

何をしようとしても、UIを介してそれを実行しているマクロを記録し、それをコピーすることに注意してください。記録されたマクロがSelectionオブジェクトを頻繁に使用することは間違いありませんが、それは簡単に修正できます。適切なShapeオブジェクト(またはその他)への参照を取得し、生成されたコードでそれを置き換えるだけです。

したがって、たとえば、図形の塗りつぶしの色を変更するために記録されたマクロが次の場合:

With ActiveWindow.Selection.ShapeRange
    .Fill.Visible = msoTrue
    .Fill.Solid
    .Fill.ForeColor.RGB = RGB(255, 0, 0)
    .Fill.Transparency = 0#
End With

...そして、既に参照している図形に塗りつぶしの色を適用したい場合はoShape、コードを次のように変更します。

With oShape
    .Fill.Visible = msoTrue
    .Fill.Solid
    .Fill.ForeColor.RGB = RGB(255, 0, 0)
    .Fill.Transparency = 0#
End With

図形の現在の名前を取得するには、VBAエディターの[イミディエイト]ウィンドウに次のように入力します。

?ActiveWindow.Selection.ShapeRange(1).Name

これを(単一の)マクロに非常に簡単に変換できます。

Sub ShowMeTheName()
    MsgBox ActiveWindow.Selection.ShapeRange(1).Name
End Sub

デフォルトの名前を使用するのではなく、個人的に図形の名前を意味のある名前に変更することに注意してください。すぐにウィンドウでこれを行うだけです。

ActiveWindow.Selection.ShapeRange(1).Name = "MyName"

...または名前の入力を求めるマクロを作成します。

于 2009-07-29T09:39:17.780 に答える
0

WordまたはExcelを自動化する必要がある場合(私が知っている人や一緒に作業している人がPowerPointを使用することはありません)、問題のアプリを開き、マクロ記録をオンにして、自動化したいタスクを実行します。次に、生成されたコードをAccessコードの基礎として使用します。多くの場合、これは非常に単純なプロセスであり、コピーして貼り付けてから、Accessから使用しているアプリケーションオブジェクトを各行の前に付けるだけの場合もあります。

私があなたがしていることをしなければならなかった場合、それはまさに私が始めた方法です。インタラクティブに実行されているタスクを記録し、次にコードのどの部分が不可欠であるかを実験します。

于 2009-08-07T23:57:07.953 に答える