Công cụ học từ vựng trong Excel

Thảo luận trong 'Ứng dụng Excel' bắt đầu bởi levanduyet, 16 Tháng mười hai 2004.

4,505 lượt xem

  1. levanduyet

    levanduyet Welcome

    Bài viết:
    535
    Đã được thích:
    11
    Giới tính:
    Nam
    Nơi ở:
    HCM
    Chào các bạn, đôi khi các bạn muốn học từ vựng trong khi đang làm việc với Excel, tôi xin giới thiệu với các bạn cách đơn giản sau:

    http://www.pcworld.com.vn/pcworld/magazine.asp?t=mzdetail&atcl_id=5f5e5c565a595b

    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ư trong bộ English Study không? Tôi xin giới thiệu các bạn một cách đơn giản trong Excel.
    Đầu tiên bạn hãy tạo một file Excel mới và đặt tên là Timer (hay là gì thì tùy bạn). Bạn xóa hết các sheet, bạn chỉ để lại một sheet và đặt tên là Data.(Hình 1)

    Khối dữ liệu của chúng ta có 2 cột. Cột một là tựa đề, cột hai là nội dung. Với chú ý là các hàng dữ liệu của bạn phải liên tục nhau.
    Chúng ta sẽ dùng hai hàm API là SetTimer và KillTimer trong chương trình.
    Các bạn hãy tạo một Module và đặt tên là ModuleTimer (Hình 2) và đưa nội dung sau đây vào.









    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 (giay) 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
    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
    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
    Sau đó các bạn hãy 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 như sau:
    _TextBox txtTopic với thuộc tính WordWrap là True
    _TextBox txtDescriptions với thuộc tính WordWrap là True
    Có 4 nút lệnh từ trái qua với các tên lần lượt như sau: cmdStart, cmdStop, cmdSetTime, cmdClose, với các thuộc tính Caption lần lượt là: Bắt đầu học, Ngừng học, Định thời gian, Đóng.
    Và bây giờ các bạn hãy nhập đọan mã này vào cho form frmMain như sau:




    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 DÓNG!", vbOKOnly, "Công cụ học từ vựng"
    End If
    End Sub
    Và bây giờ bước cuối cùng bạn hãy trở về màn hình sọan thảo Excel.
     
    Cho hiện thanh công cụ Visual Basic (như hình 4). Chọn Command Button (như hình 5) và đặt lên sheet Data (như hình 6).
    Đặt tên là cmdHoc với thuộc tính Caption là Học. Sau đó double click vào nút lệnh để viết đọan mã sau:
    Private Sub cmdHoc_Click()
    frmMain.Show
    End Sub
    Vậy bây giờ bạn hãy trở về màn hình sọan thảo Excel và tắt chế độ Design (Click vào biểu tượng thước Ê ke và cây viết), và hãy thử Click 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 sẽ hữu ích cho các bạn.
    Mọi góp ý, xin các bạn gởi về levanduyet@yahoo.com
    Lê Văn Duyệt

    (Rất tiếc ở đây tôi không upload được hình ảnh, xin lỗi các bạn)
     
    #1

Chia sẻ trang này