我开始擅长将vba导出和控制信息发送到其他程序。
任务:需要打印铭牌并将其分发给人员以标记其设备。我们有一个庞大的设备主列表,必要的信息(机器ID)只在excel表的一列。贴纸的模板是powerpoint。
步骤如下:
PowerPoint应该打开模板
Excel应该将一个信息单元格放入一张幻灯片中。
到目前为止,这是我的代码:
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次复制和粘贴点击次数。
答案 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