Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 關於電腦軟件教程 >> 如何在Excel中借助PPT做練習

如何在Excel中借助PPT做練習

日期:2017/2/10 15:13:43      編輯:關於電腦軟件教程
很多人都不知道在PPT中,利用VBA能夠輕松調取Excel中數據,通過一張幻燈片就可以做若干習題。下面就跟小編一起來看看如何將PPT與Excel完美結合做練習。

在課堂上,許多老師都是用PPT進行課堂練習。一般情況下,有多少道練習題就用多少張幻燈片。這樣的做法存一個弊端:就是要想將幻燈片中的試題修改成統一的字體或字號,需要一張一張地去修改。如果試題所用的幻燈片少了,這樣的方法還行;但是,試想一下,有幾十道、上百道練習題,如果要一張一張地修改,那實在是一件很麻煩、很費神的事。

筆者經過不斷研究,終於想到了一個非常行之有效的方法:就是將你所需要的若干試題存放在一個Excel工作表中,然後在PPT中利用VBA讀取Excel工作表中的數據到幻燈片中,這樣只需要一張幻燈片就可以練習若干道習題了。要修改的話,只需要修改這一張幻燈片中的文本框就可以了。如果你想知道這種方法是怎麼實現的,就請跟我來吧!

准備工作表和幻燈片

這個過程主要是准備好存放試題的Excel工作表和顯示試題的幻燈片。

首先,准備好一個Excel文件,在Sheet1工作表中存放好所需要試題,並將這個Excel文件和PPT文件放在同一文件夾中。然後,打開PowerPoint 2003,插入一張空白幻燈片。在這張幻燈片中先插入兩個文本框,它們的作用一個是用於存放試題題目,一個用於存放正確答案(在存放試題題目的文本框中可先輸入一個提示性語句,在存放正確答案的文本框中可先輸入一個空格)(圖1)。

 Excel裡怎麼用PPT做文件

最後,選擇“幻燈片放映→動作按鈕”菜單,在幻燈片的合適位置插入5個動作按鈕。可右擊相應的動作按鈕為它們添加相應的文字(圖2)。

 Excel裡怎麼用PPT做文件

添加VBA代碼

這個過程主要是編寫控制Excel工作表和PPT幻燈片中文本框的VBA代碼。

一提到編寫代碼,你可能就有些犯暈了。其實,程序代碼也沒那麼神秘,在這裡你可先將我的代碼輸入或復制到你的文件中,然後看看我給你的解釋,一切就簡單多了!

首先,我們選擇“工具→宏→Visual Basic編輯器”菜單,這時就會彈出Microsoft Visual Basic程序窗口,也就是VBA的編輯器。選擇“插入→模塊”菜單,這時在右側可以看到空白的代碼編輯區域,我們可以嘗試著輸入圖中代碼(圖3)。

 Excel裡怎麼用PPT做文件

看著這些代碼,你有些摸不著頭腦了吧!沒關系,你看看我給你解釋解釋,你就豁然開朗了。

在上述代碼中,首先用Public定義了xlApp、xlBook、xlSheet、i這4個變量,前3個是用來控制Excel工作表的,i是用來表示當前Excel工作表中的行數的。

然後,用了5個“Sub…End Sub”定義了5個事件過程,VBA中的事件都是放在Sub和End Sub之間的,每個過程都有一個相應的名字,如打開題庫()、下一題()等等。

現在我們來說明一下“打開題庫()”這個過程:

Set xlApp = CreateObject("Excel.Application")是用來建立一個Excel控件;

xlApp.Visible = False表示這個控件不可見,即隱藏Excel,不讓它顯示在當前窗口;

Set xlBook = xlApp.Workbooks.Open(CurDir() + "\book1.xls")表示讓Excel打開名字為book1.xls的文件,CurDir()表示當前目錄。

Set xlSheet = xlBook.Worksheets(1)表示把控制工作簿中的第1個工作表即Sheet1的權限賦給xlSheet。

ActivePresentation表示當前激活的演示文稿。

.Slides(1)表示演示文稿中的第1張幻燈片,.Shapes(1)表示幻燈片中的第1個文本框。

.TextFrame.TextRange.Text則表示文本框中的文本。

我們把它們連接起來即ActivePresentation.Slides(1).Shapes(1).TextFrame.TextRange.Text表示當前演示文稿中第1張幻燈片中第1個文本框的內容。

xlSheet.Range("a" & i)表示Sheet1中單元格的值,現在i=3,就獲取了A3單元格的值。

Replace函數的作用是替換,Chr(10)代表換行符,Chr(13)代表回車符,Replace(xlSheet.Range("b" & i), Chr(10), Chr(13))就表示把B3單元格中的換行符替換成回車符。

“&”這個符號起到連接的作用,可用來強制連接不同類型的值。

而整個語句ActivePresentation.Slides(1).Shapes(1).TextFrame.TextRange.Text = xlSheet.Range("a" & i) & "、" & Replace(xlSheet.Range("b" & i), Chr(10), Chr(13))表示將工作表Sheet1中單元格A3的值加上“、”再加B3中將換行符替換成回車符後的值一起賦給幻燈片中的第一個文本框。

在“下一題()”這個過程中,i=i+1表示將工作表中當前行下移一行,即現在是第3行,i+1後就可以取第4行的值了。這個過程應用了IF語句進行條件判斷,判斷是不是已到題庫尾,如果xlSheet.Range("a" & i) 的值不是空,就取相應的值賦給題目文本框;否則,用msgbox()函數進行消息的提示。同時為了不提示顯示正確答案,ActivePresentation.Slides(1).Shapes(2).TextFrame.TextRange.Text = " "表示讓幻燈片中的第二個文本框即正確答案文本框顯示為空格。

解釋了這麼多,這下你明白些了吧?那麼其他的過程和它的意思都是大同小異的,你理解理解就明白了。

為按鈕添加事件

這個過程主要是給各個按鈕添加相應的事件,即過程。

比如我們給“正確答案”這個按鈕添加事件,我們可以右擊它,選擇“動作設置”菜單,在彈出的“動作設置”窗口中選擇“運行宏”,單擊其右側箭頭選擇相應的過程,最後點擊“確定”即可。其他按鈕事件的添加和它的道理一樣的(圖4)。

 Excel裡怎麼用PPT做文件

激活VBA代碼

要想使這些事件即VBA代碼起作用,我們需要調整宏的安全性。選擇“工具→宏→安全性”,把宏的安全性設置為“低”,這樣你才能順利的運行VBA代碼(圖5)。

 Excel裡怎麼用PPT做文件

效果演示

以上的工作完成之後,我們就可以放映幻燈片了。

在使用時,我們先點擊“打開題庫”按鈕,這時就會呈現出題庫中的第1題,只有點擊“正確答案”按鈕時才會顯示相應題目的正確答案;如果點擊“下一題”按鈕,題目就會進行切換,而下一題的正確答案也不會顯示。

如果你覺得題目或是正確答案的字體、字號、顏色等不是太滿意,你只需要設置相應的文本框格式就行了。

看看,這個方法是不是特別爽呀!使用這個方法,你有多少題都沒關系的,還不趕快試試(圖6)!

 Excel裡怎麼用PPT做文件

*******************代碼*************

Public xlApp, xlBook, xlSheet

Public i As Integer

Sub 打開題庫()

Set xlApp = CreateObject("Excel.Application")

xlApp.Visible = False

Set xlBook = xlApp.Workbooks.Open(CurDir() + "\book1.xls")

Set xlSheet = xlBook.Worksheets(1)

i = 3

ActivePresentation.Slides(1).Shapes(1).TextFrame.TextRange.Text = xlSheet.Range("a" & i) & "、" & Replace(xlSheet.Range("b" & i), Chr(10), Chr(13))

End Sub

Sub 下一題()

i = i + 1

If xlSheet.Range("a" & i) <> "" Then

ActivePresentation.Slides(1).Shapes(2).TextFrame.TextRange.Text = " "

ActivePresentation.Slides(1).Shapes(1).TextFrame.TextRange.Text = xlSheet.Range("a" & i) & "、" & Replace(xlSheet.Range("b" & i), Chr(10), Chr(13))

Else

MsgBox ("已到最後一題了!")

End If

End Sub

Sub 上一題()

i = i - 1

If xlSheet.Range("a" & i) <> "" Or xlSheet.Range("a" & i) <> "序號" Then

ActivePresentation.Slides(1).Shapes(2).TextFrame.TextRange.Text = " "

ActivePresentation.Slides(1).Shapes(1).TextFrame.TextRange.Text = xlSheet.Range("a" & i) & "、" & Replace(xlSheet.Range("b" & i), Chr(10), Chr(13))

Else

MsgBox ("已是第一題了!")

End If

End Sub

Sub 正確答案()

ActivePresentation.Slides(1).Shapes(2).TextFrame.TextRange.Text = xlSheet.Range("c" & i)

End Sub

Sub 關閉題庫()

xlBook.Close (False)

xlApp.Quit

Set xlApp = Nothing

End Sub


本文來自於【系統之家】 www.xp85.com

Copyright © Windows教程網 All Rights Reserved