日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

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

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

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

配置工作

EXCEL 2010版本以上配置

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

  • 打開Visual Basic 在工程框里相應(yīng)的EXCEL下新建模塊,此時會彈出模塊1(代碼)
  • 編寫兩個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.
  • 按照上一步驟,插入另一個按鈕,選擇writedata, 并修改名稱為write data, 在A1, B1&C1鍵入shape index(幻燈片索引), shape name(文本框索引), value(文本框的內(nèi)容),結(jié)果如下圖所示。
  • 不關(guān)閉EXCEL, 并打開PPT,選擇想要更新的文本框。
  • 按一下EXCEL的按鈕get data,ppt對應(yīng)文本框的三個信息自動生成在excel里,如下所示:
  • 保持PPT與EXCEL同時打開,修改目標文本框?qū)?yīng)EXCEL里VALUE中的值,例如(今天天氣很好),點按鈕write data,運行結(jié)束后查看下PPT,如下圖所示:
  • 自動化功能強一點就是這個效果,需要增加格式處理函數(shù)text(), round(),left(), 和len()等EXCEL函數(shù)。
    6.1 數(shù)據(jù)源EXCEL加格式處理:

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

    6.3 可替換PPT里的所有的文本框
  • 注意點!!!

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

    打賞

    本人制作這個代碼不容易,希望大家獲得便利的同時,支援點糧草,謝謝!

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

    總結(jié)

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

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