【问题标题】:Checking whether a CheckBox control is checked or unchecked检查 CheckBox 控件是否已选中或未选中
【发布时间】:2023-02-23 11:45:17
【问题描述】:

我正在尝试编码 vb.net 我处境艰难 因为我不知道为什么不能运行我的代码 目的是检查 CheckBox 控件(Excel 中的表单控件)是否已选中

这是代码和错误是 BC30512 String,Integer convert Error in IF condition

Dim Message As String
Dim xlApp As Microsoft.Office.Interop.Excel.Application
Dim xlWb As Microsoft.Office.Interop.Excel.Workbook
xlWb = xlApp.Workbooks.Open(my_excel_path)
Dim xlSt = As Microsoft.Office.Interop.Excel.Worksheet = CType(xlWb.Worksheets(sheet_name),Worksheet)

**If (xlSt.Shapes("Check Box 1").OLEFormat.Object.Value = 1) Then**
Message = "is Checked"
Else
Message = "is UnChecked"
End If

MsgBox(Message)

请帮助我

我需要一个正确的语法 我试过 xlSt 到 ActiveSheet.Shapes() 但这行不通(它在 vba Excel 中有效,所以我试过了)

【问题讨论】:

    标签: excel vb.net excel-interop


    【解决方案1】:

    使用 VB.Net 它与 VBA 有点不同,这就是你所缺少的:

    Dim checkboxControl As Microsoft.Office.Interop.Excel.CheckBox
    

    在此处插入您的代码。

    并使用这两行来检测 CheckBox 是否被选中:

    checkboxControl = CType(xlWorksheet.CheckBoxes("CheckBox1"), Microsoft.Office.Interop.Excel.CheckBox)
    
    If checkboxControl.Value = Microsoft.Office.Interop.Excel.XlTriState.xlOn Then
    

    【讨论】:

    • 谢谢你的回答!!我尝试了您的代码,但在 Ms 文档中找不到 Excel.XlTriState 我该如何使用它?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-09
    • 2020-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-08
    相关资源
    最近更新 更多