Excel VBA到Powerpoint:将单元格复制到现有幻灯片中的文本框

时间:2018-06-13 18:45:17

标签: excel vba excel-vba powerpoint powerpoint-vba

我开始擅长将vba导出和控制信息发送到其他程序。

任务:需要打印铭牌并将其分发给人员以标记其设备。我们有一个庞大的设备主列表,必要的信息(机器ID)只在excel表的一列。贴纸的模板是powerpoint。

步骤如下:

  1. PowerPoint应该打开模板

  2. Excel应该将一个信息单元格放入一张幻灯片中。

  3. 应使用模板幻灯片
  4. 制作副本幻灯片
  5. 应该重复步骤2,除非现在程序已经移动到不同的幻灯片和不同的单元格进行复制和粘贴。
  6. 到目前为止,这是我的代码:

        Sub Sammple()
       'Declaring Variables
        Dim TemplateName As String
        Dim pptpres As Object
        Dim mySlide As Object
        Dim myPresentation As Presentation
        Dim TextBox As Object
        Dim i As Integer
        Dim j As Integer
    
        Set pptpres = CreateObject("Powerpoint.Application")
           With pptpres
                .Visible = True
               .Presentations.Open ("FileNameHere")
                For i = 1 To 400
                    .ActivePresentation.Slides(1).Duplicate.Item (1)
                    Next
                For j = 3 To 514
                    Cells(j, 4).Copy
                    Next
            End With
    
    
    End Sub
    

    正如您所知,我已经为excel获取了400个重复幻灯片的代码。我不太了解如何将excel复制文本从单元格复制到文本框到powerpoint,然后一遍又一遍地执行,直到它到达列范围的末尾。

    指向正确方向的任何帮助都会很棒。您可以节省我超过1000次复制和粘贴点击次数。

1 个答案:

答案 0 :(得分:0)

您是说以下意思吗?

如果您已经在其中定义了一个文本框的情况下复制了PP幻灯片,您想在excel幻灯片的文本框中填写一个excel单元格的值吗?

如果每个幻灯片中的文本框名称相同,则可以通过以下操作进行检查:转到Powerpoint,选择对象(文本框),转到“格式”,“选择窗格”,然后可以在其中看到文本框的名称。在这种情况下,它是“标题1”

Dim pp As PowerPoint.Application
Dim PPPres As PowerPoint.Presentation
Dim PPSlide As PowerPoint.slide
Set pp = CreateObject("PowerPoint.Application")

Set PPPres = pp.Presentations.Open ("Filenamehere")
Set PPSlide = PPPres.Slides.Add(Slidestart, ppLayoutTitleOnly)

Sheets("SHEET NAME OF EXCEL").Activate
PPSlide.Shapes("Title 1").TextFrame.TextRange.Text = cells(i,j).text