Excel引用窗体上的全部控件

deer332025-06-24技术文章38

Excel通过Controls属性,可以获取窗体上的所有控件。我们可以遍历Controls,获取控件对应的 属性,并且输出到Excel。

案例分析

以下案例遍历当前窗体的所有控件,并且把每个控件的名字,Caption属性和Value值输出到工作表中。

Private Sub CommandButton1_Click()
    On Error Resume Next
    '
    Dim sht As Worksheet
    Dim idx As Integer
    '
    Set sht = Worksheets("test") ' 结果输出到test表
    sht.Range("J1").UsedRange.ClearContents ' 清空以前内容
    sht.Range("J1").Resize(, 3) = Array("控件名", "标题", "值") ' 标题名字
    For idx = 1 To Me.Controls.Count
        sht.Cells(idx + 1, "J").value = Me.Controls(idx - 1).Name ' 名字
        sht.Cells(idx + 1, "K").value = Me.Controls(idx - 1).Caption ' 标题
        sht.Cells(idx + 1, "L").value = Me.Controls(idx - 1).value ' 值
    Next
End Sub