2017-07-06 47 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) 
相關問題