吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2029|回复: 33
收起左侧

[其他原创] EXCEL表格内容自动提取,并填充到新建的PPT页面中

[复制链接]
etkane 发表于 2024-9-7 16:33
代码如下,按需更改:)

[Visual Basic] 纯文本查看 复制代码
Sub 提取EXCEL内容到PPT()

Dim ptApp As Object
Set ptApp = CreateObject("PowerPoint.Application")
Dim ppts As Presentations
Set ppts = ptApp.Presentations
Debug.Print (ppts(1).Application)
Dim ppt As Presentation
Set ppt = ppts(1)
Dim pptsd As Slide
Dim pptsds As Slides


'Debug.Print (ppt.Slides.Count())    'Set pptlayout = ppt.Slides(1).CustomLayout    'Debug.Print (pptlayout.Name)
 Dim i As Integer
 
 
 

 For i = 7 To 8
 
   '加一页
    Set pptsds = ppt.Slides
    Set pptsd = ppt.Slides.AddSlide(ppt.Slides.Count() + 1, ppt.SlideMaster.CustomLayouts(3)) '根据实际调整母版
     
    pptsds(ppt.Slides.Count()).Select
    Set pptsd = pptsds(pptsds.Count())
    
    
     '增加文本框及文本,增加名称
    Set TextRange = pptsd.Shapes.AddTextbox(1, 50, 55, ppt.SlideMaster.Width - 100, 50)
        TextRange.Name = "原始信息"
        With TextRange.TextFrame.TextRange
            .Text = "6_ " & Cells(i, 6) & "4_ " & Cells(i, 4) & "9_ " & Cells(i, 9) & "8_ " & Cells(i, 8) & " /10_ " & Cells(i, 10) & " /11_ " & _
            Cells(i, 11) & " /12_ " & Cells(i, 12) & " /13_ " & Cells(i, 13) & "_提出" _
            & " / 15变更单号:" & Cells(i, 15) & " / 16单据:" & Cells(i, 16) & Chr(10) _
            & "14变更原因: " & Cells(i, 14) & _
             " / 17变更依据: " & Cells(i, 17) & Chr(10) _
            & "18工程项目内容描述:" & Cells(i, 18) & Chr(10) _
            & "21原造价: " & Int(Cells(i, 21)) & " / 22现造价: " & Int(Cells(i, 22)) & " / 23增减金额: " & Int(Cells(i, 23)) & " / 23报价书出处: " & Cells(i, 24) & Chr(10) _
            & "25说明:" & Cells(i, 25) & Chr(10) _
            & "26备注:" & Cells(i, 26) & "/27需求提出时间:" & Cells(i, 27) & "/28完成时间:" & Cells(i, 28) & "/29签证时间:" & Cells(i, 29)
                     
             .Font.Size = 14
        End With
    pptsd.Shapes("标题 1").TextFrame.TextRange.Text = "变更单号:" & Cells(i, 15) & " , " & Cells(i, 14)
   
   '加分割线线
   
   ypoint = pptsd.Shapes("原始信息").Top + pptsd.Shapes("原始信息").Height
    
    With pptsd.Shapes.AddLine(50, ypoint, ppt.SlideMaster.Width - 50, ypoint).Line
        .DashStyle = msoLineLongDash
        .ForeColor.RGB = RGB(144, 202, 249)
        .Weight = 2
        
    End With
    
  Next i
  

End Sub

免费评分

参与人数 8吾爱币 +10 热心值 +7 收起 理由
q7505413 + 1 + 1 我很赞同!
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
alice2wu + 1 + 1 谢谢@Thanks!
Tyng123 + 1 用心讨论,共获提升!
szluyang + 1 我很赞同!
fhlfxtd + 1 我很赞同!
liyuanfangdrj + 1 + 1 我很赞同!
zealat + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| etkane 发表于 2024-9-7 22:17
本帖最后由 etkane 于 2024-9-7 23:05 编辑
mjlzyy 发表于 2024-9-7 21:44
哪位大神可以详细点讲下,如何使用以上代码?求求了 非常想学习下

这玩意的原理就是
按母板新建一页,
创建或者修改图形里的文本,
从excel一行里提取数据,拼装,放到新建的ppt页及对应区域。
新建下一页(对应excel下一行)

领导让我分析,那excel几百行几十列,公司电脑屏太小,看不过来,做了这个东西,把每行改每页,好看。然后写意见也好汇报。
 楼主| etkane 发表于 2024-9-8 11:46
alice2wu 发表于 2024-9-8 10:43
可以将图片地址放到excel里面,然后替换掉PPT里面相应的图片吗?

可以的,原理一样,不过PPT的对象类型要改一下。我也是边用边写,你可以查一下PPT shape类型里面的图片类型,应该属于SHAPE,具体微软网站。
wobzhidao 发表于 2024-9-7 16:57
 楼主| etkane 发表于 2024-9-7 17:22
wobzhidao 发表于 2024-9-7 16:57
请问WPS的可以用吗

应该可以,就是很多excel数据,规律放到ppt上用,这只是个引子,根据需要自己改就好。
 楼主| etkane 发表于 2024-9-7 17:23
最好只打开对应表格和ppt,起码两个界面都是激活的界面,也可以手动写目录指定。
清淡如风 发表于 2024-9-7 18:45
支持一下,学习中。
afti 发表于 2024-9-7 19:48
自动提取表格内容还是很方便的
fhlfxtd 发表于 2024-9-7 19:54
支持一下,学习中。
song20240721 发表于 2024-9-7 20:21
感谢分享
luxvn 发表于 2024-9-7 20:28
支持一下,学习中
dylyh 发表于 2024-9-7 21:10
学习中,感谢分享~
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 10:32

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表