2017-07-06 174 views
0

我试图以编程方式将下拉框添加到Excel工作表中的单元格。对于一个非常简单的例子,我只需要下拉框给出“是”或“否”的选项。谷歌搜索之后,听起来好像我可以通过在单元格中插入数据验证来轻松完成此操作。VB.Net:在Excel单元格中插入数据验证

我遇到了如何做到这一点的问题。我发现的所有例子都过时了,太复杂了,或者不在VB.Net中。当我说得太复杂时,我的意思是这不是一个简单的“是”“否”的情况。他们在不同的工作表中使用实际列。

回答

1

如果您只是想要一个简单的单元格内是/不是下拉菜单,您只需声明一个范围并为其添加验证规则即可。微软有一些关于here的文档,但是与大多数互操作文档相比,它有点稀疏......所以这里是一个片段,显示如何添加验证列表:

'Imports Microsoft.Office.Interop.Excel 

    Dim xlApp As New Excel.Application 
    xlApp.Visible = True 
    Dim xlWorkbooks As Excel.Workbooks = xlApp.Workbooks 
    Dim xlWorkbook As Excel.Workbook = xlWorkbooks.Add 
    Dim xlWorksheet As Excel.Worksheet = CType(xlWorkbook.Worksheets(1), Excel.Worksheet) 

    Dim xlRng As Excel.Range = xlWorksheet.Cells(1, 1) 
    With xlRng.Validation 
     .Add(Type:=Excel.XlDVType.xlValidateList, _ 
      AlertStyle:=Excel.XlDVAlertStyle.xlValidAlertStop, _ 
      Operator:=Excel.XlFormatConditionOperator.xlBetween, _ 
      Formula1:="Yes,No") 
     .IgnoreBlank = True 
     .InCellDropdown = True 
    End With 

    System.Runtime.InteropServices.Marshal.ReleaseComObject(xlRng) 
    System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorksheet) 
    System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkbook) 
    System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkbooks) 
    System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp) 
相关问题