日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

VBA实现从EXCEL单元格更新或修改PPT对应文本框内容并且不改变格式

發(fā)布時(shí)間:2024/3/24 65 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VBA实现从EXCEL单元格更新或修改PPT对应文本框内容并且不改变格式 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

VBA實(shí)現(xiàn)從EXCEL單元格更新或修改PPT對(duì)應(yīng)文本框內(nèi)容并且不改變格式

    • 配置工作
    • 開發(fā)
    • 演示
    • 注意點(diǎn)!!!
    • 打賞

原創(chuàng)不容易,請(qǐng)不要抄襲!

配置工作

EXCEL 2010版本以上配置

  • 文件-選項(xiàng)-自定義功能區(qū)-主選項(xiàng)卡-勾選開發(fā)者選項(xiàng)
  • 打開開發(fā)者選項(xiàng)里的Visual Basic, 選擇工具-引用-勾選Microsoft Powerpoint 14.0 Object Library
  • 開發(fā)

  • 打開Visual Basic 在工程框里相應(yīng)的EXCEL下新建模塊,此時(shí)會(huì)彈出模塊1(代碼)
  • 編寫兩個(gè)VB函數(shù)getshapedata() 和 writedata()
  • Dim ppapp As PowerPoint.Application Dim pppres As PowerPoint.PresentationSub getshapedata() 'On Error GoTo line1 Set ppapp = GetObject(, "powerpoint.application") Set pppres = ppapp.ActivePresentationDim shapename Dim shapeslide Dim shapetext Dim nextrowshapeslide = ppapp.ActiveWindow.View.Slide.SlideIndex shapename = ppapp.ActiveWindow.Selection.ShapeRange(1).Name shapetext = pppres.Slides(shapeslide).Shapes(shapename).TextEffect.Text 'friendlyname = InputBox("insert one name" & shapetext, "Friendly Name", "")nextrow = Sheet1.Range("a" & Rows.Count).End(xlUp).Row + 1Sheet1.Range("a" & nextrow) = shapeslide Sheet1.Range("b" & nextrow) = shapename Sheet1.Range("c" & nextrow) = shapetext 'Sheet1.Range("d" & nextrow) = friendlyname'Exit Sub'line1: 'MsgBox "no selection"End SubSub writedata() Dim c As Object Dim shapename Dim slidename Dim shapetextSet ppapp = GetObject(, "powerpoint.application") Set pppres = ppapp.ActivePresentationFor Each c In Sheet1.Range("a2:a" & Sheet1.Range("a" & Rows.Count).End(xlUp).Row)shapeslide = Sheet1.Range("a" & c.Row) shapename = Sheet1.Range("b" & c.Row) shapetext = Sheet1.Range("c" & c.Row) 'friendlyname = Sheet1.Range("d" & c.Row)pppres.Slides(shapeslide).Shapes(shapename).TextEffect.Text = shapetextNext cEnd Sub
  • 保存
  • 演示

  • 打開保存代碼的EXCEL,在開發(fā)工具中新建按鈕,選擇getshapedata,并改按鈕名稱為get data.
  • 按照上一步驟,插入另一個(gè)按鈕,選擇writedata, 并修改名稱為write data, 在A1, B1&C1鍵入shape index(幻燈片索引), shape name(文本框索引), value(文本框的內(nèi)容),結(jié)果如下圖所示。
  • 不關(guān)閉EXCEL, 并打開PPT,選擇想要更新的文本框。
  • 按一下EXCEL的按鈕get data,ppt對(duì)應(yīng)文本框的三個(gè)信息自動(dòng)生成在excel里,如下所示:
  • 保持PPT與EXCEL同時(shí)打開,修改目標(biāo)文本框?qū)?yīng)EXCEL里VALUE中的值,例如(今天天氣很好),點(diǎn)按鈕write data,運(yùn)行結(jié)束后查看下PPT,如下圖所示:
  • 自動(dòng)化功能強(qiáng)一點(diǎn)就是這個(gè)效果,需要增加格式處理函數(shù)text(), round(),left(), 和len()等EXCEL函數(shù)。
    6.1 數(shù)據(jù)源EXCEL加格式處理:

    6.2 中間文本框?qū)?yīng)EXCEL文件

    6.3 可替換PPT里的所有的文本框
  • 注意點(diǎn)!!!

    PPT里的文本框必須是在創(chuàng)建或設(shè)計(jì)時(shí)新建的文本框,不能是同一個(gè)文本框復(fù)制的

    打賞

    本人制作這個(gè)代碼不容易,希望大家獲得便利的同時(shí),支援點(diǎn)糧草,謝謝!

    如果有深入問題,請(qǐng)聯(lián)系modas_lee@foxmail.com

    總結(jié)

    以上是生活随笔為你收集整理的VBA实现从EXCEL单元格更新或修改PPT对应文本框内容并且不改变格式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。