Lờ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 ứng dụng.
Một trong những ứng dụng quan trọng nhất chính là việc ứng dụng trong quản
lý.
Phần mềm quản lý phổ biến hiện nay và đợc ứng dụng khá phổ biến
chí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ơng trì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ột cá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ập tạ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.
1
Nội dung đề tàI
I. Tính cấp thiết của đề 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ự
IV. Các đối tợng, công cụ sử dụng:
MSHFlex Grid
Microsoft Common Dialog Control
TextBox
Command Button
Image List
Label
V. Khi Chạy chơng trình:
Trớc tiên để chạy đợc chơng trình này thì máy tính của bạn phải có
Microsoft Visual Basic 6.0.
V.1 Khi chạy chơng trình bạn có thể mở file cũ hoặc mở file mới để làm
việc
3
V.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
4
V.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
5
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ªn
b¶ng
VI. Code ch¬ng tr×nh nguån:
FORM MDIMAIN
Private Sub Command1_Click()
If Text2.Text <> "" Then
Call Tinh(Trim(Text2.Text))
Else
MsgBox "Formula is null", vbCritical, "Warning"
End Sub
Private Sub MDIForm_Load()
Me.WindowState = 2
Text2.Text = ""
Text3.Text = ""
ToolBar1.Height = 329
Me.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
7
frmB.Caption = "Book" & LBookCount
frmB.Tag = LBookCount
frmB.Show
End Sub
Private Sub MDIForm_MouseDown(Button As Integer, Shift As Integer, x As
Single, y As Single)
If Button = vbRightButton Then
PopupMenu mnuFile
End If
End Sub
Private Sub MDIForm_Unload(Cancel As Integer)
If Me.WindowState <> vbMinimized Then
End Sub
Private Sub mnuNew_Click()
LoadNewBook
End Sub
Private Sub mnuOpen_Click()
Call mnuFileOpen_Click
End Sub
Private Sub mnuPaste_Click()
Call mnuEditPaste_Click
End Sub
Private Sub mnuPopupFormula_Click()
mnuPopupFormula.Checked = Not mnuPopupFormula.Checked
Picture4.Visible = mnuPopupFormula.Checked
End 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
9
On Error Resume Next
Select Case Button.Key
Case "New"
LoadNewBook
ActiveForm.Grid1.CellAlignment = 4
Case "Align Right"
ActiveForm.Grid1.CellAlignment = 7
Case "Sort Ascending"
'ActiveForm.Grid1.Sort = 1
Call Sort_Asc
Case "Sort Descending"
10