Header ads

Header ads
» » Tạo công cụ học từ vựng trong Excel

Có bao giờ các bạn nghĩ tới việc tạo công cụ học từ vựng trong Excel giống như các chương trình học tiếng Anh không?

Đầu tiên bạn hãy tạo một file Excel mới và đặt tên là Timer (bạn có thể đặt tên khác). Bạn xóa hết các sheet, chỉ để lại một sheet và đặt tên là Data. Khối dữ liệu của chúng ta sẽ có 2 cột: Cột một là tựa đề, cột hai là nội dung. Chú ý là các hàng dữ liệu phải liên tục nhau.

Tiếp theo, chúng ta tạo một module và đặt tên là ModuleTimer (
Hình 1) và nhập đoạn code 1. Ở đây chúng ta dùng hai hàm API là SetTimer và KillTimer.

Tạo một form với tên là frmMain với thuộc tính ShowModal là False như hình 3 và thêm các đối tượng sau:


- TextBox txtTopic với thuộc tính WordWrap là True

- TextBox txtDescriptions với thuộc tính WordWrap là True

- 4 nút lệnh với tên lần lượt: cmdStart, cmdStop, cmdSetTime, cmdClose, với thuộc tính Caption lần lượt: Bắt đầu học, Ngừng học, Định thời gian, Đóng.(
xem hình 2)
 

Và bây giờ bạn hãy nhập đoạn code 2 cho form frmMain.

Bước cuối cùng, bạn hãy trở về màn hình soạn thảo Excel.

Cho hiện thanh công cụ Visual Basic (View->Toolbars->Control Toolbox), chọn Command Button (Hình 3) và đặt lên sheet Data (như
hình 4), đặt tên là cmdHoc với thuộc tính Caption là Học. Sau đó nhấn đúp vào nút lệnh để nhập đoạn mã sau:


Private Sub cmdHoc_Click()

frmMain.Show

End Sub


Bây giờ bạn hãy trở về màn hình soạn thảo Excel và tắt chế độ Design (nhấn vào biểu tượng thước Ê ke và cây viết), và hãy thử nhấn vào nút lệnh vừa tạo xem sao. Một công cụ học từ vựng thật đơn giản, phải không các bạn.

Hy vọng rằng bài viết này hữu ích cho các bạn.
 

CODE 1


Public Declare Function SetTimer Lib "user32"(       ByVal HWnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Public Declare Function KillTimer Lib "user32" ( ByVal HWnd As Long, ByVal nIDEvent As Long) As Long
Public TimerID As Long
Public TimerSeconds As Single
Public BLDefaul As Boolean
Public StrTopic As String
Public StrDes As String
Public IntCount As Integer
Public BLHaveStartTimer As Boolean
Sub StartTimer()
  If BLDefaul = False Then
     TimerSeconds = 3 ' Mặc định là 1 giây
  End If
  TimerID = SetTimer(0&, 0&, TimerSeconds * 1000&, AddressOf TimerProc)
End Sub
Sub SetTime()
  Dim VTime As Single
  Dim VAns As String
  BLDefaul = False
  VAns = InputBox("Xin nhập vào thời gian (giây) cho timer ", "Định thời gian")
  If Len(VAns) = 0 Then
    BLDefaul = False
  Else
    VTime = CSng(VAns)
    TimerSeconds = VTime
    BLDefaul = True
  End If
End Sub
Sub EndTimer()
  On Error Resume Next
  KillTimer 0&, TimerID
End Sub
 Sub TimerProc(ByVal HWnd As Long, ByVal uMsg As Long, ByVal nIDEvent As Long, ByVal dwTimer As Long)
 '
 ' The procedure is called by Windows. Put your
 ' timer-related code here.
 '
 On Error GoTo Thongbao1
  If IntCount = 0 Then IntCount = 2

     MsgBox "Dữ liệu của bạn không có!", vbOKOnly, "Công cụ học từ vựng"
    Exit Sub
  End If
 Else
    IntCount = IntCount + 1
 End If
 frmMain.txtTopic.Text = StrTopic
 frmMain.txtDescriptions.Text = StrDes
 DoEvents
 Exit Sub
Thongbao1:
  Call EndTimer
End Sub

CODE 2
Private Sub cmdClose_Click()
  If BLHaveStartTimer = True Then
    Call cmdStop_Click
  End If
  End
End Sub
 ' Nhằm bảo đảm nếu đã gọi Timer rồi thì sẽ không gọi nữa
Private Sub cmdSetTime_Click()
  Call SetTime
  Call cmdStop_Click
  Call cmdStart_Click
End Sub
Private Sub cmdStart_Click()
  If BLHaveStartTimer = False Then
     Call StartTimer
     BLHaveStartTimer = True
  End If
End Sub
Private Sub cmdStop_Click()
   Call EndTimer
   BLHaveStartTimer = False
End Sub
Private Sub UserForm_
   QueryClose(Cancel As Integer, CloseMode As Integer)
   If CloseMode = vbFormControlMenu Then
      Cancel = True
      MsgBox "Xin bạn đóng bằng nút lệnh ĐÓNG!", vbOKOnly, "Công cụ học từ vựng"
   End If
End Sub


 StrTopic = Application.Workbooks("Timer").
 Sheets("Data").Cells(IntCount, 1)
 StrDes = Application.Workbooks("Timer").
 Sheets("Data").Cells(IntCount, 2)
 If Len(Trim(StrTopic)) = 0 Then
   IntCount = 2
   StrTopic = Application.Workbooks("Timer").
   Sheets("Data").Cells(IntCount, 1) 
   StrDes = Application.
Workbooks("Timer").Sheets("Data").
Cells(IntCount, 2)
   If Len(Trim(StrTopic)) = 0 Then
     BLHaveStartTimer = False
     Call EndTimer


HÃY KIỂM TRA LẠI ĐĨA MỀM



Một bạn đọc tự giới thiệu "nguyên là chuyên gia nghiên cứu đĩa từ" đã có một số lời khuyên tốt về các đĩa mềm khởi động khẩn cấp và các đĩa cứu nguy của Windows và các chương trình khác: " Đừng quá tin là chúng còn tốt". Đĩa mềm để lâu ngày có thể gây hỏng hóc các sector. Muốn xác nhận chúng vẫn còn làm việc, bạn phải kiểm tra chúng vài tháng một lần - bằng cách khởi động PC từ đĩa mềm đó, hoặc đánh giá bằng công cụ quét đĩa: Trong Windows 98 và Me, bạn chọn Start.Programs.Accessories.System Tools.ScanDisk. Trong Windows 2000 và XP, chọn Start.My Computer, nhấn phải đĩa mềm đó, chọn Properties, và nhấn Tools.Check Now.

Lê Văn Duyệt

About Học viện đào tạo trực tuyến

Xinh chào bạn. Tôi là Đinh Anh Tuấn - Thạc sĩ CNTT. Email: dinhanhtuan68@gmail.com .
- Nhận đào tạo trực tuyến lập trình dành cho nhà quản lý, kế toán bằng Foxpro, Access 2010, Excel, Macro Excel, Macro Word, chứng chỉ MOS cao cấp, IC3, tiếng anh, phần mềm, phần cứng .
- Nhận thiết kế phần mềm quản lý, Web, Web ứng dụng, quản lý, bán hàng,... Nhận Thiết kế bài giảng điện tử, số hóa tài liệu...
HỌC VIỆN ĐÀO TẠO TRỰC TUYẾN:TẬN TÂM-CHẤT LƯỢNG.
«
Next
Bài đăng Mới hơn
»
Previous
Bài đăng Cũ hơn