Xây dựng một chương trình tương tự như Microsoft Excel.
Trang 1Lời nói đầu
Ngày nay công nghệ thông tin đã và đang ngày càng một phát triển
nh vũ bão, nó đã xâm nhập vào mọi lĩnh vực nh khoa học kỹ thuật, kinh tế,chính trị,…Sản phẩm của công nghệ thông tin chủ yếu là các phần mềm ứngSản phẩm của công nghệ thông tin chủ yếu là các phần mềm ứngdụng Một trong những ứng dụng quan trọng nhất chính là việc ứng dụngtrong quản lý
Phần mềm quản lý phổ biến hiện nay và đợc ứng dụng khá phổ biếnchính là Micrsoft Excel Phần mềm này đợc tạo ra đã giúp cho ngời quản lý
tổ chức công việc một cách nhanh chóng, chính xác và có hiệu quả Chơngtrình chủ yếu đợc sử dụng để viết nên phần mềm này chính là Visual Basic.Trên cơ sở đã đợc học môn Lập trình hớng đối tợng với Visual Basic, tôi
chọn đề tài: “Xây dựng một chơng trình tơng tự nh Microsoft Excel với các chức năng cơ bản sau:
1 Cho phép tạo ra các bảng tính
2 Cho phép gõ dữ liệu thuộc các dạng khác nhau.
3 Cho phép chọn th mục để in ra file mới, mở file đã có.
4 Cho phép thực hiện các phép tính số học theo hàng và cột
5 Cho phép cắt, dán dữ liệu trên bảng
6 Cho phép chọn các Font chữ khác nhau để soạn”
Tuy nhiên, đây chỉ là một chơng trình mô phỏng lại MS Excel mộtcách cơ bản, đơn giản nhất dựa trên những kiến thức mà tôi đã đợc học tậptại khoa CNTT nên các thuật toán cha đợc hợp lý và cách trình bày có thểcòn nhiều thiếu sót Vì vậy, tôi rất mong nhận đợc sự góp ý của thầy cô vàcác bạn để chơng trình đợc hoàn thiện hơn
Tôi xin chân thành cảm ơn thầy giáo: GS.TS Nguyễn Văn Xuất vàthầy giáo Nguyễn Quảng Hà đã hớng dẫn tôi làm chơng trình này
Nội dung đề tàI
Cùng với sự phát triển mạnh mẽ của công nghệ thông tin và cùng với
xự xâm nhập nhanh chóng của tin học vào mọi lĩnh vực của đời sống xãhội thì việc sử dụng máy tính trong công tác quản lý đã trở thành một nhucầu cấp bách, nó là một trong những công cụ không thể thiếu nhằm nângcao chất lợng và hiệu quả trong công tác quản lý
Trang 2Cái khó khi quản lý là thao tác với các loại dữ liệu khác nhau vốn rất
đa dạng cha kể tới việc tính toán, sao chép, lu trữ,…Sản phẩm của công nghệ thông tin chủ yếu là các phần mềm ứng điều này tạo ra khókhăn cho những ngời lập trình, đặc biệt là lập trình với Excel – một ch-
ơng trình quản lý đã khá phổ biến từ trớc tới nay Do vậy, việc nâng cấpchơng trình này ngày càng phải đợc thay đổi một cách thờng xuyên hơn
Bài tiểu luận môn học này phần nào đa ra một cách nhìn cơ bản khixây dựng một chơng trình tơng tự nh MS Excel Chơng trình khá đơn giảnvới 6 chức năng cơ bản:
1 Cho phép tạo ra các bảng tính
2 Cho phép gõ dữ liệu thuộc các dạng khác nhau (kiểu số, kiểu ký
tự, các ký hiệu đặc biệt,…Sản phẩm của công nghệ thông tin chủ yếu là các phần mềm ứng)
3 Cho phép chọn th mục để in ra file mới, mở file đã có
4 Cho phép thực hiện các phép tính số học (cộng, trừ, nhân, chia) theo hàng và cột
Trang 3IV Các đối tợng, công cụ sử dụng:
Trang 4V.2 Ngoài ra bạn có thể chọn Font, cỡ chữ để soạn thảo các BookSheet
nh bạn muốn Rồi lu lại với một file
Trang 5V.3 Việc tính toán với các phép tính số học cũng đợc thực hiện ngay trên bảng tính
V.4 Tơng tự việc cắt, dán dữ liệu cũng vậy, đều thực hiện trực tiếp trênbảng
Trang 6VI Code ch¬ng tr×nh nguån:
Trang 7Me.Left = GetSetting(App.Title, "Settings", "MainLeft", 1000)
Me.Top = GetSetting(App.Title, "Settings", "MainTop", 1000)
Me.Width = GetSetting(App.Title, "Settings", "MainWidth", 6500)
Me.Height = GetSetting(App.Title, "Settings", "MainHeight", 6500)
LoadNewBook
End Sub
Private Sub LoadNewBook()
Static LBookCount As Long
Dim frmB As frmExcel
LBookCount = LBookCount + 1
Set frmB = New frmExcel
frmB.Caption = "Book" & LBookCount
Private Sub MDIForm_Unload(Cancel As Integer)
If Me.WindowState <> vbMinimized Then
SaveSetting App.Title, "Settings", "MainLeft", Me.Left
SaveSetting App.Title, "Settings", "MainTop", Me.Top
SaveSetting App.Title, "Settings", "MainWidth", Me.Width
Trang 8SaveSetting App.Title, "Settings", "MainHeight", Me.Height
Private Sub mnuFormula_Click()
mnuFormula.Checked = Not mnuFormula.Checked
Private Sub mnuPopupFormula_Click()
mnuPopupFormula.Checked = Not mnuPopupFormula.Checked
Picture4.Visible = mnuPopupFormula.Checked
Trang 9End Sub
Private Sub mnuViewStatusBar_Click()
mnuViewStatusBar.Checked = Not mnuViewStatusBar.Checked
sbStatusBar.Visible = mnuViewStatusBar.Checked
End Sub
Private Sub mnuViewToolbar_Click()
mnuViewToolbar.Checked = Not mnuViewToolbar.Checked
tbToolBar.Visible = mnuViewToolbar.Checked
End Sub
End Sub
Private Sub tbToolBar_ButtonClick(ByVal Button As MSComctlLib.Button)
If ActiveForm Is Nothing Then Exit Sub
On Error Resume Next
Select Case Button.Key
Trang 10Case "Align Right"
Private Sub mnuEditCopy_Click()
On Error Resume Next
Trang 11Clipboard.SetText ActiveForm.Grid1.TextMatrix(ActiveForm.Grid1.Row,ActiveForm.Grid1.Col)
End Sub
Private Sub mnuEditPaste_Click()
On Error Resume Next
ActiveForm.Grid1.TextMatrix(ActiveForm.Grid1.Row,
ActiveForm.Grid1.Col) = Clipboard.GetText
End Sub
Private Sub mnuEditCut_Click()
On Error Resume Next
Clipboard.SetText ActiveForm.Grid1.TextMatrix(ActiveForm.Grid1.Row,ActiveForm.Grid1.Col)
ActiveForm.Grid1.TextMatrix(ActiveForm.Grid1.Row,
ActiveForm.Grid1.Col) = vbNullString
End Sub
Private Sub mnuFileExit_Click()
'unload the form
Unload frmExcel
End
End Sub
Private Sub mnuFilePrint_Click()
On Error Resume Next
If ActiveForm Is Nothing Then Exit Sub
Private Sub mnuFileSaveAs_Click()
Dim sFile As String
If ActiveForm Is Nothing Then Exit Sub
With CommonDialog2
.DialogTitle = "Save As"
.CancelError = False
Trang 12'ToDo: set the flags and attributes of the common dialog control
.Filter = "Book(*.Mp5)|*.Mp5|All Files (*.*)|*.*"
Private Sub mnuFileSave_Click()
Dim sFile As String
If ActiveForm Is Nothing Then Exit Sub
If Left$(ActiveForm.Caption, 4) = "Book" Then
Private Sub mnuFileOpen_Click()
Dim sFile As String
If ActiveForm Is Nothing Then LoadNewBook
Trang 13Private Sub Text2_Change()
If ActiveForm Is Nothing Then Exit Sub
Trang 15Grid1.Col = 1 'Vitri ban dau cua TextMain
Public Sub save_form()
Dim sFile As String
Private Sub Grid1_Click()
fMainForm.Text3.Alignment = vbCenter 'Name Box
If KeyAscii <> 13 And KeyAscii <> 9 And KeyAscii <> 8 Then
Grid1.Text = Grid1.Text + Chr(KeyAscii)
fMainForm.Text2.Text = Grid1.Text
' If Len(Grid1.Text) > Grid1.CellWidth Then
Trang 16If KeyAscii = 9 Then Grid1.Col = Grid1.Col + 1 'Phim Tab
If KeyAscii = 8 And Grid1.Text <> "" Then 'Phim Back
Grid1.Text = Left(Grid1.Text, Len(Grid1.Text) - 1)
Public Const MaxCol As Long = 51 '101
Public Const MaxRow As Long = 201 '1001
Global Hang, Cot As Long
Public fMainForm As MDIMain
Public Sub Tinh(s As String)
Dim i, j, x, y, xt, yt, tg, dau As Integer
Dim kq As Double
Dim s1, Flag As String
Dim Zero As Boolean
Trang 17'On Error GoTo L3
Trang 18dau = 1
Else
If Val(fMainForm.ActiveForm.Grid1.Text) <> 0 Then
kq = kq / Val(fMainForm.ActiveForm.Grid1.Text) Else
MsgBox "Division by zero", vbCritical, "Warning" Zero = True
Public Sub Saved(filename As String)
Dim FileNum As Integer
Trang 19For i = x1 To x Step -1 'Down to
For j = y1 To y Step -1
fMainForm.ActiveForm.Grid1.Row = i
fMainForm.ActiveForm.Grid1.Col = j
If fMainForm.ActiveForm.Grid1.Text <> "" Then Exit For
Public Sub Saved_Form(filename As String)
Dim FileNum As Integer
Trang 20Public Sub Opened(filename As String)
Dim FileNum As Integer
Trang 22KếT LUậN
Chơng trình này có thể phục vụ việc tính toán đơn giản với các phéptính số học và thực hiện các thao tác đơn giản trên Excel Mục đích chínhcủa tôi là thông qua chơng trình này để thực hành những hiểu biết của mình
về môn học Lập trình hớng đối tợng Visual Basic Do vậy chơng trình vẫncòn có rất nhiều thiếu sót, một lần nữa tôi mong nhận đợc sự góp ý, giúp đỡcủa thầy giáo và các bạn để chơng trình ngày càng hoàn thiện hơn
Hà Nội, 12/2004
SV Nguyễn Thị Thanh Loan
Trang 23Tµi liÖu tham kh¶o
1 Bµi gi¶ng trªn líp vµ thùc hµnh
2 Microsoft Visual Basic 6.0 vµ LËp tr×nh c¬ së d÷ liÖu, NguyÔn ThÞNgäc Mai (Chñ biªn), NXB Gi¸o Dôc