999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

利用VBA設計課堂練習題

2012-01-29 08:14:13
中國現代教育裝備 2012年8期
關鍵詞:按鈕數據庫設計

祝 曉

利用VBA設計課堂練習題

祝 曉

由于利用多媒體課件教學有諸多優越性,所以在提高教學質量方面,多媒體課件不失為一種很好的輔助工具。制作多媒體課件的軟件也很多,如Flash,Authorware,PPT等,在實際使用時要根據教學需求和對這些軟件的熟悉程度加以選用。PPT的易用性和強大功能得到了廣大教師的青睞,如果結合使用VBA,PPT的靈活性、功能性、交互性、可擴展性等都會大大增強。

一、VBA簡介

VBA是Visual Basic for Application的簡寫,它以VB(Visual Basic)語言為基礎,經過修改并運行在Microsoft Office(如Excel,Word,PPT和Access)中的應用程序,是一種完全面向對象體系結構的編程語言。利用VBA可以對Office軟件進行二次開發,增強Office軟件的靈活性和擴展性,例如,用VBA制作PPT課件,將會使課件別具特色。VBA是一種程序語言,有自己的語法規范,初學者可以找相關書籍或查閱VBA幫助,進行學習。以下從練習題設計角度談VBA在PPT課件中的應用。

二、VBA在PPT中的應用實例

三、結束語

VBA在PPT中的應用很廣泛,以上是對選擇題、判斷題、填空題、連線匹配題設計方面作的概述。程序的設計算法不同,代碼的精簡程度也不一樣,系統的運行效率也不同。

2011-11-27

祝曉,本科。

云南省臨滄市云縣大寨中學。

1.準備工作

(1)建立數據庫

數據庫是用來存放練習題和答案的,數據庫有多種,不同的數據庫有不同的優缺點和適用范圍,這里選用Microsoft Access即可。本例建一個名為test的數據庫,這個數據庫包含4個表,分別是xzt(用于存放選擇題),pdt(用于存放判斷題),tkt(用于存放填空題),ppt(用于存放匹配題)。選擇題字段設計:xzt(題目,備選A,備選B,備選C,備選D,答案),其余根據需要仿此。使用數據庫的目的是使課件更具有靈活性和可擴展性,有了數據庫,只需要更新數據庫練習題的內容,以后調用即可;而且答題界面可以做得很簡潔,一般一種題型用一張即可。

(2)界面設計

界面的使用可以選擇大家熟知的幻燈片(Slide),也可以使用Visual Basic編輯器中添加的用戶窗體(UserForm),它們各有優缺點,使用幻燈片的不足之處是程序執行結果會保留在幻燈片上(重新播放時,上次結果會保留在幻燈片上,使用不太方便),要除去這些內容,還得多寫代碼;使用用戶窗體不足之處是幻燈片啟動時看不見。因此在這里把它們結合起來使用。使用一張幻燈片,作為導航界面;使用若干個用戶窗體作為答題界面。執行【視圖】/【工具欄】/【控件工具箱】命令,打開控件工具箱,單擊控件工具箱上的命令按鈕,在幻燈片的合適位置畫出4個按鈕,右擊第一個命令按鈕,在彈出的快捷菜單中單擊【屬性】,在打開的屬性對話框中,將Caption屬性改為“選擇題”。用同樣的方法將另外三個命令按鈕的Caption屬性分別改為“判斷題”“填空題”“匹配題”。然后使用Alt+F11組合鍵(或執行【工具】/【宏】/【Visual Basic編輯器】命令)打開Visual Basic編輯器窗口,在此窗口中,執行【插入】/【用戶窗體】就可插入用戶窗體。在第一個用戶窗體的合適位置添加兩個命令按鈕CommandButton1和CommandButton2,Caption屬性分別為“開始”“下一題”,Enabled屬性分別為真(True)、假(False);然后在適合的位置添加一個標簽(Label1),用于顯示題目;在適合處添加4個單選按鈕(OptionButton1,OptionButton2,OptionButton3,OptionButton4),將Caption屬性值分別設置為“A”“B”“C”“D”,(字母大小寫一定要和數據庫中“答案”中的一致),并在每個單選按鈕的后邊加一個標簽(Label2,Label3,Label4,Label5),用于顯示備選擇答案。另外在不影響操作的位置加一個文本框(TextBox1),把其可見性(Visible)設置為假(False),用于暫存已經做的題目數量。第一個用戶窗體作為選擇題答題界面,一般一種題型用一個窗體,按需要仿窗體一設計即可。另外,界面的設計要符合界面設計原則。

2.應用實例

(1)鏈接數據庫

①執行【工具】/【宏】/【Visual Basic編輯器】命令,打開“Visual Basic編輯器”窗口。

②引用VBA工程(VBAProject)。單擊【工具(T)】/【引用(R)】,打開“引用—VBAProject”窗口,在“可使用的引用(A)”窗口中找到“Microsoft ActiveX Data Object2.6”并選中,單擊【確定】。

③單擊【插入】/【模塊】,就新建了一個模塊,默認名稱是“模塊1”。

④雙擊“模塊1”并添加以下代碼:

Public adocon As ADODB.Connection

Public adorst As ADODB.recordset '在模塊中建立公共數據對象

Sub MAIN()

Set adocon = New ADODB.Connection

If adocon.State= adStateOpen And Not IsEmpty(adStateOpen) Then adocon.Close

adocon.Provider ="microsoft.jet.oledb.4.0"

adocon.ConnectionString ="test.mdb"

adocon.Open

'建立記錄集

Set adorst = New ADODB.Recordset

adorst.ActiveConnection = adocon

adorst.CursorLocation = adUseClient

adorst.CursorType = adOpenDynamic

adorst.LockType = adLockOptimistic

End Sub

(2)利用VBA設計選擇題

①單擊第一個用戶窗體中的“開始”按鈕

Private Sub CommandButton1_Click() '開始按鈕

CommandButton1.Enabled False

CommandButton2.Enabled True

TextBox1.Text = 1 '初始化題目量

Call MAIN

adorst.Source = "xzt"

adorst.Open , , , , adCmdTable

Label1.Caption = adorst.Fields(0)

Label2.Caption = adorst.Fields(1)

Label3.Caption = adorst.Fields(2)

Label4.Caption = adorst.Fields(3)

Label5.Caption = adorst.Fields(4)

End Sub

②單擊第一個用戶窗體中的“下一題”按鈕

Private Sub CommandButton2_Click()

Dim i As Integer

CommandButton3.Enabled = True

TextBox1.Text = TextBox1.Text + 1

i = TextBox1.Text

Call MAIN

adorst.Source ="xzt"

adorst.Open , , , , adCmdTable

If i <= adorst.RecordCount Then

adorst.AbsolutePosition =i

'指向第i條記錄

Label1.Caption = adorst.Fields(0)

Label2.Caption = adorst.Fields(1)

Label3.Caption = adorst.Fields(2)

Label4.Caption = adorst.Fields(3)

Label5.Caption = adorst.Fields(4)

End If

End Sub

③為第一單選按鈕添加代碼,其余依此類推。

Private Sub OptionButton1_Click()

If OptionButton1.Caption = adorst.Fields("答案") Then

MsgBox "答對了,你真棒!"

Else

MsgBox "錯了,再想想!"

End If

End Sub

④為幻燈片上的“選擇題”按鈕添加代碼,其余依此類推。

Private Sub CommandButton1_Click()

Load UserForm1

UserForm1.Show

End if

這樣就可以打開選擇題答題界面。

(3)設計判斷題

判斷題的設計和選擇題類似,只需兩個單選按鈕(OptionButton1,OptionButton2),這兩個單選按鈕的Caption屬性分別設為“正確”“錯誤”即可,其余仿選擇題。

(4)填空題的設計

只要答案是固定的,填空題也可以智能判斷。在設計數據庫時,要填空的地方用括號表示,在答題界面上用文本框(TextBox)作為答題的地方,再用一個命令按鈕(CommandButton1)來判斷。關鍵代碼示例:

Private Sub CommandButton1_Click()

If TextBox1.Text = adorst.Fields("答案") Then

MsgBox "答對了,你真棒!"

Else

MsgBox "錯了,再想想!"

End If

End Sub

(5)連線題(匹配題)的設計

用連線的方法判斷正誤不好設計,改變思路,把要和某項相連的對象移動到它的右邊,再判斷正誤。這樣,問題的關鍵轉化為怎樣拖動要匹配的對象。關鍵代碼:

Dim X1, Y1 As Integer, Down As Boolean '設置全局變量,X1,Y1等為Label1等對象的初始坐標值

Private Sub Label1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

If Not Down Then

X1=X

Y1=Y

Down = True

End If

End Sub

Private Sub Label1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

'如果鼠標已按下,設置Label1新的坐標值

If Down Then

Label1.Left = Label1.Left + X - X1

Label1.Top = Label1.Top + Y - Y1

X1=X

Y1=Y

End If

End Sub

Private Sub Label1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)

Down = False

TextBox1.Text = Label1.Caption

End Sub

以上把標簽(Label1)的內容(需要拖動的對象)拖放到文本框中,就可以判斷正誤:

Private Sub CommandButton1_Click()

If TextBox1.Text = adorst.Fields("答案") Then

MsgBox "做對了,恭喜你!", vbOKOnly, "提示"

Else

MsgBox "做錯了,還得努力啊!", vbOKOnly, "提示"

End If

End Sub

從以上代碼可以看出,如果需要匹配的對象較多,就要寫很多代碼,如果一個標簽對應一個匹配對象,每個標簽都寫MouseDown,MouseMove和MouseUp事件代碼。解決問題的辦法不是唯一的,另外一種思路:用文本框的Change事件為文本賦值,同時把標簽隱藏,即可見性設置為假。具體做法是:用一個標簽作為匹配對象的序號,一個標簽作為匹配對象,一個文本框作為匹配對象的容器,利用文本框的Change事件,向文本框輸入序號時,序號消失而將匹配對象賦予文本框,同時利用代碼使用表示序號和匹配對象的標簽隱藏(可見性設為假)。關鍵代碼示例:Private Sub TextBox1_Change()

If TextBox1.Text = “1” Then

TextBox1.Text = Label2.Caption

Label1.Visible = False

Label2.Visibl= False

End If

End Sub

以上Label1用于表示序號,即Label1.Caption ="1",Label2用于顯示要匹配內容。文本框賦值后,判斷正誤方法同上。

猜你喜歡
按鈕數據庫設計
這些按鈕能隨便按嗎?
當你面前有個按鈕
瞞天過?!律O計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
內心不能碰的按鈕
商業評論(2014年9期)2015-02-28 04:32:41
主站蜘蛛池模板: 亚洲人成色在线观看| 日本在线视频免费| 亚洲精品成人7777在线观看| 浮力影院国产第一页| 99精品福利视频| 国产成本人片免费a∨短片| 国产网站免费看| 天天躁夜夜躁狠狠躁躁88| 日韩大片免费观看视频播放| 亚洲视频免| 国产精品亚欧美一区二区| 91无码网站| 97se亚洲综合在线| 色偷偷综合网| av午夜福利一片免费看| 免费人成网站在线观看欧美| 欧美不卡二区| 国产玖玖玖精品视频| 国产丝袜无码精品| 国产jizz| 1769国产精品视频免费观看| 日韩av高清无码一区二区三区| 少妇精品在线| 色婷婷综合在线| 国产视频大全| 国产成人亚洲毛片| 国产农村精品一级毛片视频| 亚洲人成网站日本片| 久草网视频在线| 国产激情国语对白普通话| 中文字幕在线永久在线视频2020| 久久精品aⅴ无码中文字幕| 国产综合精品日本亚洲777| 欧美在线免费| 99久久精品免费看国产电影| 亚洲日本中文综合在线| 91在线精品麻豆欧美在线| 亚洲AV成人一区二区三区AV| 东京热高清无码精品| 午夜国产精品视频| 色婷婷亚洲综合五月| 无码一区中文字幕| 日韩精品毛片| 婷婷成人综合| 不卡无码h在线观看| 成色7777精品在线| 久久亚洲欧美综合| 国产一区二区人大臿蕉香蕉| 五月天久久综合国产一区二区| 亚洲国产日韩欧美在线| 亚洲天堂.com| 国产小视频网站| 国产精品无码AⅤ在线观看播放| 国产一级视频久久| 国产另类视频| 极品性荡少妇一区二区色欲| 国产导航在线| 国产成人麻豆精品| 国产精品青青| 国产区在线观看视频| 亚洲69视频| 欧美视频在线不卡| 欧美视频免费一区二区三区 | 久久国产拍爱| 成人在线视频一区| 亚洲乱亚洲乱妇24p| 无码又爽又刺激的高潮视频| 国产精品亚洲欧美日韩久久| 制服丝袜一区| 国产欧美高清| 四虎精品黑人视频| 亚洲综合九九| 激情午夜婷婷| 欧美在线三级| 2021国产精品自产拍在线观看 | 国产区人妖精品人妖精品视频| 国产91av在线| 尤物精品国产福利网站| 国产97视频在线观看| 国产精品成人不卡在线观看 | 精品久久久久久中文字幕女| 精品无码人妻一区二区|