检查 CheckBox 控件是否被选中

问题描述 投票:0回答:1

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

这里是代码,error 是 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个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.