将列中的 Excel 单元格复制到 PowerPoint 形状的代码?

问题描述 投票:0回答:1

是否可以使用 VBA 将一列 Excel 单元格复制到单独的 PowerPoint 形状中? (例如,单元格

A1
= 其自己的 PowerPoint 形状)。

任何关于从哪里开始的提示都会非常有帮助!

我尝试了另一篇文章中的旧脚本,但没有放置单独的形状。

excel vba powerpoint
1个回答
0
投票

请尝试一下。

Option Explicit
Sub CreatePresentation()
    Dim pptApp, pptPresentation
    Dim pptSlide, pptShape
    Dim c As Range, i As Integer
    const EXCEL_DATA_RANGE = "A1:A3" ' Update as needed
    Const msoTextOrientationHorizontal = 1
    Const ppLayoutText = 2
    Set pptApp = GetObject(, "PowerPoint.Application")
    If pptApp Is Nothing Then
        Set pptApp = GetObject(, "PowerPoint.Application")
        If pptApp Is Nothing Then Exit Sub
    End If
    pptApp.Visible = True
    ' Add a presentation
    Set pptPresentation = pptApp.Presentations.Add
    ' Add a slide
    Set pptSlide = pptPresentation.Slides.Add(1, ppLayoutText)
    i = 1
    For Each c In Range(EXCEL_DATA_RANGE)
        ' Add a shape, update location and size as needed
        Set pptShape = pptSlide.Shapes.AddShape(Type:=msoTextOrientationHorizontal, _
            Left:=100, Top:=50 + 60 * i, Width:=100, Height:=50)
        ' Update text on shape
        pptShape.TextFrame.TextRange.Text = c.Value
        i = i + 1
    Next c
    ' Savt ppt file
    ' pptPresentation.SaveAs "D:\Excel2PPT.pptx"
End Sub

© www.soinside.com 2019 - 2024. All rights reserved.