4

Excel-vbaを使用して、ExcelのセルからPPTのテキストボックスにテキストをコピーする必要があります。次のコードがあります。

 ActivePresentation.Shapes(tb).TextFrame.Characters.Text = ActiveSheet.Range("C41").Value

しかし、このコードは、シェイプに対して「メソッドまたはデータ メンバー ボットが見つかりました」というエラーを出しています。それを行う正しい方法は何ですか?

前もって感謝します

4

1 に答える 1

3

形状がどこにあるかを指定していないため、エラーが発生しています。つまり、どのスライドですか?

この例を参照してください。(Excelから試してテストしました)

適宜修正する。

コード:

Option Explicit

Sub Sammple()
    Dim oPPApp As Object, oPPPrsn As Object, oPPSlide As Object
    Dim oPPShape As Object
    Dim FlName As String

    '~~> Change this to the relevant file
    FlName = "C:\MyFile.PPTX"

    '~~> Establish an PowerPoint application object
    On Error Resume Next
    Set oPPApp = GetObject(, "PowerPoint.Application")

    If Err.Number <> 0 Then
        Set oPPApp = CreateObject("PowerPoint.Application")
    End If
    Err.Clear
    On Error GoTo 0

    oPPApp.Visible = True

    '~~> Open the relevant powerpoint file
    Set oPPPrsn = oPPApp.Presentations.Open(FlName)
    '~~> Change this to the relevant slide which has the shape
    Set oPPSlide = oPPPrsn.Slides(1)
    '~~> Change this to the relevant shape
    Set oPPShape = oPPSlide.Shapes(1)

    '~~> Write to the shape
    oPPShape.TextFrame.TextRange.Text = _
    ThisWorkbook.Sheets("Sheet1").Range("C41").Value

    '
    '~~> Rest of the code
    '
End Sub
于 2013-11-05T09:04:39.247 に答える