PPT與Excel交互VBA法是什么
PPT與Excel交互VBA法是什么
PowerPoint和Office其他格式文件交換數(shù)據(jù)最好的方法是通過(guò)VBA,因?yàn)檫@句話,很多朋友來(lái)信詢問(wèn)用VBA如何實(shí)現(xiàn)PPT與Excel連接。以下是學(xué)習(xí)啦小編為您帶來(lái)的關(guān)于PPT與Excel交互之VBA法,希望對(duì)您有所幫助。
PPT與Excel交互之VBA法
我們講過(guò)《PPT與Excel交互之選擇性粘貼法》,當(dāng)時(shí)用的是選擇粘貼法實(shí)現(xiàn)兩者之間的數(shù)據(jù)共享。但同時(shí)我們也提到PowerPoint和Office其他格式文件交換數(shù)據(jù)最好的方法是通過(guò)VBA,只有想不到,沒(méi)有做不到。因?yàn)檫@句話,很多朋友來(lái)信詢問(wèn)用VBA如何實(shí)現(xiàn)PPT與Excel連接。為了解答大家心中的疑問(wèn),今天我們就來(lái)講講用VBA的方法來(lái)實(shí)現(xiàn)PPT與Excel的連接。
想用Excel做一個(gè)習(xí)題庫(kù),每次簡(jiǎn)單的修改一下自動(dòng)生成習(xí)題?其實(shí),VBA可以解決這一切。下面,我講從原理入手,不斷完善這個(gè)PPT和Excel鏈接的題庫(kù)。
原理:利用VBA后臺(tái)打開(kāi)Excel題庫(kù),讀取對(duì)應(yīng)的數(shù)據(jù),顯示到PPT中。
步驟:
第一、后臺(tái)打開(kāi)Excel題庫(kù)
?、贋榱俗孭PT中適用Excel的VBA對(duì)象屬性函數(shù),我們需要事先引用excel的對(duì)象模型。
打開(kāi)PowerPoint2010→開(kāi)發(fā)工具→Visual Basic→工具→引用→勾選“Microsoft Excel 14.0 Object Library”→確定。這時(shí)候,我們就能在PPT程序中適用Excel中的VBA對(duì)象屬性函數(shù)了。
?、诖a部分。
在公共部分先聲明:(這樣子就產(chǎn)生了一個(gè)整個(gè)程序運(yùn)行時(shí)都可以調(diào)用的變量了)
Dim xlApp As Excel.Application
在sub部分開(kāi)始寫(xiě):
Sub start()
Set xlApp = New Excel.Application '新建一個(gè)Excel程序
xlFilePath$ = ActivePresentation.Path & "\" & "xt.xls" '定義當(dāng)前題庫(kù)的位置
xlApp.Workbooks.Open xlFilePath, , False '后臺(tái)打開(kāi)Excel
End Sub
第二、讀取Excel的數(shù)據(jù)
①這個(gè)部分需要對(duì)Excel的基本對(duì)象有所了解。
Excel:Application→Workbook→Sheets→Cells
備注:具體的信息可以看幫助系統(tǒng)的對(duì)象模型。
?、诖a部分。
比如,我們剛剛后臺(tái)打開(kāi)的xlApp的第一個(gè)工作簿第一個(gè)工作表第二行第三列的數(shù)據(jù)就可以表示為
xlApp.Workbooks(1).Sheets(1).Cells(2, 3)
第三、傳達(dá)給PowerPoint
?、龠@個(gè)部分需要對(duì)PowerPoint 的基本對(duì)象有所了解。
PowerPoint:Application→Presentation→Slides→Shapes
備注:具體的信息可以看幫助系統(tǒng)的對(duì)象模型。
?、诖a部分。
比如,我們需要將剛剛讀取出來(lái)的數(shù)據(jù)顯示在當(dāng)前演示文稿的第一張幻燈片第2個(gè)形狀(以文本形式)
ActivePresentation.Slides(1).Shapes(2).TextFrame.TextRange.Text = _
xlApp.Workbooks(1).Sheets(1).Cells(2, 3)
‘此處的“_”是連接一行代碼的意思,就是說(shuō),代碼太長(zhǎng)的時(shí)候可以這樣子分幾行寫(xiě)。
第四、退出PPT放映是關(guān)閉Excel
①此處的操作目的是為了避免后臺(tái)出現(xiàn)很多Excel的進(jìn)程。
?、诖a部分。
xlApp.Workbooks.Close ‘關(guān)閉打開(kāi)的Excel
Set xlApp = Nothing ‘清空xlApp
備注:最好把這部分的代碼在OnSlideShowTerminate,這個(gè)在PowerPoint結(jié)束放映是自動(dòng)運(yùn)行的Sub也寫(xiě)一遍。
第五、我們需要更多
其實(shí),理解了上述思路,我們就可以完成了大致的連接過(guò)程。
打開(kāi)Excel→讀取單元格數(shù)據(jù)→顯示在PPT上面→關(guān)閉Excel
但是,利用VBA我們可以完成更多,如隨機(jī)出題,判斷正誤,自動(dòng)計(jì)分……讓我們?cè)偕l(fā)一些思路,比如密碼登錄題庫(kù)。只有想不到,沒(méi)有做不到,你愿意嘗試下嗎?
上面操作步驟的講解只是PPT整個(gè)效果的一部分功能性代碼,大家可以下載下面這個(gè)隨機(jī)出題案例《有問(wèn)必答》,打開(kāi)PPT后按Alt+F11查看完整代碼。PPT案例中的加載密碼是:zxc,其實(shí)不填寫(xiě)直接加載也可以。該作品效果僅限于講PPT與Excel連接,沒(méi)有做選擇題、判斷正誤、自動(dòng)計(jì)分等效果。
猜你喜歡: