下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
用VB實(shí)現(xiàn)班主任工作的電子化
摘要:本文探討了如何利用VB,讀取數(shù)據(jù)庫(kù)中的數(shù)據(jù),通過MicrosoftMAPIControls6.0控件,利用OutlookExpress,從而實(shí)現(xiàn)成績(jī)通知單以E-mail的形式自動(dòng)寄發(fā)。關(guān)鍵字:VB,E-mail,MAPI,自動(dòng)寄發(fā)一、問題提出每期期未,寄發(fā)學(xué)生成績(jī)通知單都是班主任的例行工作,然而,現(xiàn)在大多數(shù)人仍然還采用原始的平信寄發(fā)方式,并且由于平信很容易丟失而導(dǎo)致以前所做的工作(如抄錄學(xué)生期末成績(jī)、寫出學(xué)生的學(xué)期鑒定,填寫學(xué)生成績(jī)通知單和寫、寫信封、寄發(fā)通知書等)前功盡棄,同時(shí)由于許多學(xué)生放假后并沒有回家,如外去打工或因種種原因沒有回家而無法收到信件。隨著INTERNET技術(shù)的不斷普及,電子郵件已經(jīng)開始進(jìn)入尋常百姓家,它以快速、方便、可以異地查閱而逐漸代替普通的信件,如果你的學(xué)生(或家長(zhǎng))都有E-mail,我們以E-mail來寄發(fā)學(xué)生的成績(jī)通知單了,這樣就可以減少上述弊端。但一個(gè)個(gè)填寫每個(gè)學(xué)生的收件人地址和相關(guān)的數(shù)據(jù)(如各門功課的成績(jī)、評(píng)語),既枯燥又煩鎖,下面我們將探討如何利用VB來讀取學(xué)生成績(jī)數(shù)據(jù)庫(kù)中的數(shù)據(jù),通過E-mail實(shí)現(xiàn)學(xué)生成績(jī)通知單的自動(dòng)寄發(fā)。二、工作原理學(xué)生成績(jī)通知單各學(xué)校雖然有所不同,但大都大同小異,通常包括:學(xué)生各學(xué)科的成績(jī),操行分,班主任評(píng)語等內(nèi)容(如上圖)。如果這些內(nèi)容都在數(shù)據(jù)庫(kù)中,我們可以通過VB訪問數(shù)據(jù)庫(kù)來讀取數(shù)據(jù)庫(kù)中用戶的E-mail地址、成績(jī)及評(píng)語,再通過VB的MicrosoftMAPIControls6.0控件中的MAPISession和MAPIMessages兩個(gè)控件進(jìn)行電子郵件的管理,利用OutlookExpress。就能實(shí)現(xiàn)同時(shí)給班上所有學(xué)生用E-mail的自動(dòng)發(fā)送通知書了。但由于各個(gè)學(xué)校成績(jī)科目及多少不同,因此數(shù)據(jù)庫(kù)中字段數(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="成績(jī)通知單"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)將你的成績(jī)通知你,希望你在假期注意復(fù)習(xí)功課!"+Chr(13)+Chr(10)'下面將自動(dòng)獲得各學(xué)科的名稱和成績(jī)
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ī)通知單已經(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)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 11-輪滑初級(jí)教學(xué)教案
- 2024年淮南職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫(kù)含答案解析
- 形體行業(yè)發(fā)展趨勢(shì)報(bào)告
- 2024年海南體育職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)驗(yàn)歷年參考題庫(kù)(頻考版)含答案解析
- 2024年浙江經(jīng)濟(jì)職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)驗(yàn)歷年參考題庫(kù)(頻考版)含答案解析
- oA鑫辰花園市場(chǎng)定位及規(guī)劃方案對(duì)比分析教程文件
- 2024年河南女子職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫(kù)含答案解析
- 2024年閬中市中醫(yī)醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫(kù)頻考點(diǎn)附帶答案
- 2024年江西生物科技職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫(kù)含答案解析
- 二零二五年高管任期目標(biāo)管理與評(píng)估合同3篇
- 無水氯化鈣MSDS資料
- 專利產(chǎn)品“修理”與“再造”的區(qū)分
- 氨堿法純堿生產(chǎn)工藝概述
- 健康管理專業(yè)建設(shè)規(guī)劃
- 指揮中心大廳及機(jī)房裝修施工組織方案
- 真心英雄合唱歌詞
- 架空電力線路導(dǎo)線應(yīng)力弧垂計(jì)算
- 上海交通大學(xué)留學(xué)生本科入學(xué)考試 英語
- 【校本教材】《身邊的化學(xué)》高中化學(xué)校本課程
- 常住人口項(xiàng)目變更更正呈批表
- 產(chǎn)后訪視技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論