• 窗体和控件(1)——Excel之VBA(12)


     

    一、ActiveX控件

    1. ActiveX控件与表单控件的区别

     

    需要理解记住的控件:

    • CommandButton (按钮)
    • OptionButton(单选按钮)
    • Label (标签)
    • SpinButton (微调按钮)


    2. 按钮控件和标签控件

    按钮控件常用属性:

    • Enabled 可用性
    • Caption 标题
    • Visible 可见性

    标签控件常用属性:

    • Enabled 可用性
    • Caption 标题
    • Visible 可见性

     


    3. 单选按钮控件

    单选按钮控件常用属性:

    • Enabled 可用性
    • Caption 标题
    • Visible 可见性
    • Value 返回值
    • GroupName 组名


    4. 微调按钮控件

    文本框控件常用属性:

    • Enabled 可用性
    • Visible 可见性
    • Value 返回值
    • MIN 最小值
    • MAX 最大值

     

     

    小结

    本节演示案例:

    创建考试系统

    示例代码:

    Private Sub CommandButton1_Click()
    -----------分割线------------------
    Call xieru(1) Sheet2.SpinButton1.Value = 1
    -----------分割线------------------

    End Sub
    -------------------------------------------------------
    Private Sub CommandButton2_Click()
    ----------------------------------
    Call xieru(8) Sheet2.SpinButton1.Value = 8
    -----------------------------------
    End Sub --------------------------------------------------------

    Private Sub OptionButton1_Click() '记录所选选项 Sheet3.Range("g" & Sheet2.SpinButton1.Value + 1) = "A" End Sub
    Private Sub OptionButton2_Click() Sheet3.Range("g" & Sheet2.SpinButton1.Value + 1) = "B" End Sub Private Sub OptionButton3_Click() Sheet3.Range("g" & Sheet2.SpinButton1.Value + 1) = "C" End Sub Private Sub OptionButton4_Click() Sheet3.Range("g" & Sheet2.SpinButton1.Value + 1) = "D" End Sub -------------------------------------------------------- Private Sub SpinButton1_Change() -------------------------------------- Call xieru(Sheet2.SpinButton1.Value) -------------------------------------- End Sub
    Sub xieru(i As Integer)
    
    'Sub xieru()
    
    'Dim i As Integer
    
    'i = Sheet2.SpinButton1.Value
    
    With Sheet2
    
        '清空4个选项
        .OptionButton1.Value = False
        .OptionButton2.Value = False
        .OptionButton3.Value = False
        .OptionButton4.Value = False
    
    
        '动态捕捉题目和选项
        .Label2.Caption = i
        .Label3.Caption = Sheet3.Range("a" & i + 1)
        .Label4.Caption = Sheet3.Range("b" & i + 1)
        .Label5.Caption = Sheet3.Range("c" & i + 1)
        .Label6.Caption = Sheet3.Range("d" & i + 1)
        .Label7.Caption = Sheet3.Range("e" & i + 1)
        
        '动态捕捉选项个数
        If .Label6.Caption = "" Then
            .OptionButton3.Visible = False
        Else
            .OptionButton3.Visible = True
        
        End If
        
        If .Label7.Caption = "" Then
            .OptionButton4.Visible = False
        Else
            .OptionButton4.Visible = True
        
        End If
        
        
        '返回加载已选答案
        
        If Sheet3.Range("g" & i + 1) = "A" Then
            .OptionButton1.Value = True
        ElseIf Sheet3.Range("g" & i + 1) = "B" Then
            .OptionButton2.Value = True
        ElseIf Sheet3.Range("g" & i + 1) = "C" Then
            .OptionButton3.Value = True
        ElseIf Sheet3.Range("g" & i + 1) = "D" Then
            .OptionButton4.Value = True
            
        End If
        
        
    End With
    
    End Sub

     

     

    课后练习

    开发自动选题及评分的考试系统

    问题:
    完成考试系统的最后自动评分部分功能。
    要求:
    1 点击“结束考试”按钮后,将考生答案与正确答案对比,弹出MSGBOX “共答对多少道题”。
    2 点击“结束考试”后禁止再修改考试答案,禁止再次点击“结束考试”按钮。但是允许考生点击微调按钮查看考题和自己之前的答案。

    二、窗体

  • 相关阅读:
    POJ 2411 状态压缩递,覆盖方案数
    POJ 2774 最长公共子串
    POJ 1743 不可重叠的最长重复子串
    POJ 3294 出现在至少K个字符串中的子串
    POJ 3261 出现至少K次的可重叠最长子串
    POJ 1741/1987 树的点分治
    HDU1556 Color the ball
    解决linux系统时间不对的问题
    CentOS 6.9使用Setup配置网络(解决dhcp模式插入网线不自动获取IP的问题)
    Linux网络配置(setup)
  • 原文地址:https://www.cnblogs.com/zeon/p/14016777.html
Copyright © 2020-2023  润新知