2017-07-12 13 views
0

以下のコーディングの助けを借りて、パワーポイントファイルを開くことができますが、テキストボックスを更新していません。ExcelのVBAでパワーポイントのテキストボックスを更新する

「オブジェクト変数またはブロック変数が設定されていません」というエラーが表示されます。あなたがnewslideを初期化することはありませんので、

Dim PPT As PowerPoint.Application 
Dim pres As PowerPoint.Presentation 
Dim newslide As PowerPoint.Slide 
Dim slideCtr As Integer 
Dim tb As PowerPoint.Shape 

Set PPT = CreateObject("PowerPoint.Application") 
PPT.Visible = True 
Set pres = PPT.Presentations.Open(_ 
    "C:\Users\GShaikh\Desktop\Process Coach certificate template.pptx") 
slideCtr = 1 
Set tb = newslide.Shapes("TextBox1") 
tb.TextFrame2.TextRange.Characters.Text = "OK" 

答えて

1

エラーがSet tbライン上で行われている、または少なくともあなたはそれをここに表示されません。

あなたのテキストボックスでは、以下の(Set tb前に追加します)のような何かを行うことができますスライド1であると仮定すると:

Set newslide = pres.Slides(1) 

また、あなたがしたいテキストボックスは、実際に「TextBox1テキストボックス」であることを確認してください。デフォルトでは、名前は通常 "TextBox 1"のような数字の前にスペースがあります。

この変更を加えてコードをテストして、動作することを確認しました。ここでは完全なコード:

Sub test() 
    Dim PPT As PowerPoint.Application 
    Dim pres As PowerPoint.Presentation 
    Dim newslide As PowerPoint.Slide 
    Dim slideCtr As Integer 
    Dim tb As PowerPoint.Shape 

    Set PPT = CreateObject("PowerPoint.Application") 
    PPT.Visible = True 
    Set pres = PPT.Presentations.Open(_ 
     "C:\Users\GShaikh\Desktop\Process Coach certificate template.pptx") 
    slideCtr = 1 

    Set newslide = pres.Slides(1) 

    Set tb = newslide.Shapes("TextBox1") 
    tb.TextFrame2.TextRange.Characters.Text = "OK" 
End Sub 
+0

@ A.S.H - 削除された回答が基本的に同じであることがわかりました。あなたのものを削除して、私と私のものを削除します。+ 1 –

+0

ありがとう....本当に助かりました。 –

+0

こんにちは、心配しないでください。質問で「XYパターン」の匂いがしたので、私の答えを削除しました。しかし、私はOPが役に立ちましたことを知ってうれしく思っています。 :) –

0

試してみてください。

PPT.ActivePresentation.Slides(2).Shapes("TextBox1").TextFrame.TextRange.Characters.Text = "qwerty" 

は(あなたがそれをコピーできるように、入力ボックスに)、ちょうど右の図形の名前を取得し、それを選択して実行するには:

a = InputBox("The name of the selected shape is:", "Name of the Shape", PPT.ActiveWindow.Selection.ShapeRange.Name) 

あなたはそれが選択されている一方でみてください、それを変更する:

PPT.ActiveWindow.Selection.ShapeRange.Name = "TextBox2" 

これが役立つことを願っています。

+0

ありがとう。その本当に役に立つ –

関連する問題