用VB實(shí)現(xiàn)班主任工作的電子化_第1頁
用VB實(shí)現(xiàn)班主任工作的電子化_第2頁
用VB實(shí)現(xiàn)班主任工作的電子化_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

用VB實(shí)現(xiàn)班主任工作的電子化

摘要:本文探討了如何利用VB,讀取數(shù)據(jù)庫中的數(shù)據(jù),通過MicrosoftMAPIControls6.0控件,利用OutlookExpress,從而實(shí)現(xiàn)成績通知單以E-mail的形式自動(dòng)寄發(fā)。關(guān)鍵字:VB,E-mail,MAPI,自動(dòng)寄發(fā)一、問題提出每期期未,寄發(fā)學(xué)生成績通知單都是班主任的例行工作,然而,現(xiàn)在大多數(shù)人仍然還采用原始的平信寄發(fā)方式,并且由于平信很容易丟失而導(dǎo)致以前所做的工作(如抄錄學(xué)生期末成績、寫出學(xué)生的學(xué)期鑒定,填寫學(xué)生成績通知單和寫、寫信封、寄發(fā)通知書等)前功盡棄,同時(shí)由于許多學(xué)生放假后并沒有回家,如外去打工或因種種原因沒有回家而無法收到信件。隨著INTERNET技術(shù)的不斷普及,電子郵件已經(jīng)開始進(jìn)入尋常百姓家,它以快速、方便、可以異地查閱而逐漸代替普通的信件,如果你的學(xué)生(或家長)都有E-mail,我們以E-mail來寄發(fā)學(xué)生的成績通知單了,這樣就可以減少上述弊端。但一個(gè)個(gè)填寫每個(gè)學(xué)生的收件人地址和相關(guān)的數(shù)據(jù)(如各門功課的成績、評(píng)語),既枯燥又煩鎖,下面我們將探討如何利用VB來讀取學(xué)生成績數(shù)據(jù)庫中的數(shù)據(jù),通過E-mail實(shí)現(xiàn)學(xué)生成績通知單的自動(dòng)寄發(fā)。二、工作原理學(xué)生成績通知單各學(xué)校雖然有所不同,但大都大同小異,通常包括:學(xué)生各學(xué)科的成績,操行分,班主任評(píng)語等內(nèi)容(如上圖)。如果這些內(nèi)容都在數(shù)據(jù)庫中,我們可以通過VB訪問數(shù)據(jù)庫來讀取數(shù)據(jù)庫中用戶的E-mail地址、成績及評(píng)語,再通過VB的MicrosoftMAPIControls6.0控件中的MAPISession和MAPIMessages兩個(gè)控件進(jìn)行電子郵件的管理,利用OutlookExpress。就能實(shí)現(xiàn)同時(shí)給班上所有學(xué)生用E-mail的自動(dòng)發(fā)送通知書了。但由于各個(gè)學(xué)校成績科目及多少不同,因此數(shù)據(jù)庫中字段數(shù)就會(huì)不同,為使程序具有通用性,因此,在設(shè)計(jì)時(shí)我們使用了自動(dòng)讀取數(shù)據(jù)表中的字段個(gè)數(shù)和字段名,并自動(dòng)在窗體上自動(dòng)生成相對(duì)應(yīng)的文本框和標(biāo)簽。三、程序設(shè)計(jì)1、

啟動(dòng)VB后,新建一個(gè)標(biāo)準(zhǔn)的EXE工程2、

在“工具”菜單中選“部件”,在“控件”選項(xiàng)卡中選“MicrosoftMAPIControls6.0”,在控件工具箱中將郵件控件MAPIMessages和MAPISession兩個(gè)控件添加到窗體中。2、添加兩個(gè)命令按鈕,將其CAPTION屬性設(shè)計(jì)為“全部發(fā)送”和“退出”。3、添加一個(gè)數(shù)據(jù)控件(Data1),并設(shè)置“Connect”、“DataBaseName”和“RecordSource”對(duì)應(yīng)的屬性。上述三個(gè)控件最好放在窗體的下方。4.編寫源程序代碼:將下面的代碼添加到代碼窗口中Dimtxtobject(20),lblObject(20)DimSendToTextAsStringConstM_Subject="成績通知單"PrivateSubCommand2_Click()UnloadMeEndSub'定義一個(gè)用來回復(fù)(發(fā)送郵件)的函數(shù)PublicFunctionStarSend(T1,T2,T3)MAPIMessages1.MsgIndex=-1MAPIMessages1.RecipDisplayName=T1MAPIMessages1.MsgSubject=T2MAPIMessages1.MsgNoteText=T3MAPIMessages1.SessionID=MAPISession1.SessionID'MAPIMessages1.AttachmentPathName="e:\MyDocuments\注意事項(xiàng).htm"'確定要發(fā)送的電子郵件的附件MAPIMessages1.SendEndFunctionPrivateSubCommand1_Click()Data1.Recordset.MoveFirstMAPISession1.SignOnDoWhileData1.Recordset.EOF=FalseSum=Sum+1'SendToText指的是發(fā)送郵件的內(nèi)容(郵件正文)SendToText=txtobject(1).Text+"同學(xué)"+Chr(13)+Chr(10)+"你好!"+Chr(13)+Chr(10)SendToText=SendToText+"現(xiàn)將你的成績通知你,希望你在假期注意復(fù)習(xí)功課!"+Chr(13)+Chr(10)'下面將自動(dòng)獲得各學(xué)科的名稱和成績

Fori=3ToData1.Recordset.RecordCountSendToText=SendToText+lblObject(i).Caption+":"+txtobject(i).Text+"分"+Chr(13)+Chr(10)

NextSendToText=SendToText+"班主任:劉友生"+Chr(13)+Chr(10)SendToText=SendToText+"湖南省衡陽經(jīng)濟(jì)貿(mào)易學(xué)校"+Chr(13)+Chr(10)SendToText=SendToText+"發(fā)信日期:"+Data$+"發(fā)信時(shí)間:"+Time$GetTxtName’調(diào)用函數(shù)CallStarSend(txtobject(2).Text,M_Subject,SendToText)Data1.Recordset.MoveNextIfData1.Recordset.EOF=TrueThen

MsgBoxStr(Sum)+"個(gè)人員的成績通知單已經(jīng)發(fā)送完畢!",,"發(fā)送郵件"

EndEndIfLoopEndSubPrivateSubGetFieldNum()Data1.Recordset.MoveFirst'自動(dòng)獲得數(shù)據(jù)表中字段數(shù)并在窗體中自動(dòng)生成相應(yīng)文本框和標(biāo)簽Fori=1ToData1.Recordset.Fields.Count

b$="Text_"+LTrim(Str(i))

b1$="Label_"+Trim(Str(i)

Settxtobject(i)=Form1.Controls.Add("VB.TextBox",b$)

SetlblObject(i)=Form1.Controls.Add("VB.Label",b1$)’下面是用來確定標(biāo)簽和文本框中窗體中的位置

txtobject(i).Visible=True

lblObject(i).Visible=True

txtobject(i).Width=2000

lblObject(i).Width=1200

txtobject(i).Height=350

lblObject(i).Height=350

IfiMod2=0Thentxtobject(i).Left=4200lblObject(i).Left=3400

Elsetxtobject(i).Left=1200lblObject(i).Left=200

EndIf

Ifi>1Thentxtobject(i).Top=txtobject(i-1).Top+400lblObject(i).Top=txtobject(i-1).Top+400

Elsetxtobject(i).Top=300lblObject(i).Top=300

EndIf

IfiMod2=0Then

txtobject(i).Top=txtobject(i-1).Top

lblObject(i).Top=txtobject(i-1).Top

EndIfNexttxtobject(i-1).Width=Form1.Width-1500IfiMod2=1ThenlblObject(i-1).Left=200lblObject(i-1).Top=lblObject(i-1).Top+400txtobject(i-1).Left=1200txtobject(i-1).Top=txtobject(i-1).Top+400EndIfEndSubPublicFunctionGetLabelName()Fori=1ToData1.Recordset.Fields.Counttxtobject(i).Text=Data1.Recordset.Fields(i-1)lblObject(i).Caption=Data1.Recordset.Fields(i-1).SourceFieldNextEndFunctionPublicFunctionGetTxtName()Fori=1ToData1.Recordset.Fields.Counttxtobject(i).Text=Data1.Recordset.Fields(i-1)NextEndFunctionPrivateSubForm_Activate()Data1.Recordset.MoveFirstGetFieldNumGetLabelNameEndSub四、幾點(diǎn)說明1、

本程序在WIN98、IE5.0、撥號(hào)上網(wǎng)下調(diào)試通過。2、

本程序具有許多自動(dòng)功能

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論