Изменение значения в выпадающем списке Excel C # - PullRequest
1 голос
/ 16 сентября 2011

, поэтому я спросил, как изменить значение в ячейке внутри Excel, используя c #, но что, если я хочу изменить значение раскрывающегося списка.Код, который я использую для модификации листа, приведен ниже.Любая помощь приветствуется.

 public virtual Object ActiveSheet { get; set; }

 private void button3_Click(object sender, EventArgs e)
 {
 var sheet = (Excel._Worksheet)this.ActiveSheet; 
 sheet.Cells[6, 6] = "6";
 }

Я открываю лист, но когда он попадает в список, он дает мне NullReferenceException.

Ответы [ 2 ]

2 голосов
/ 19 сентября 2011

понял, это заняло у меня много времени, пожалуйста, используйте его!

  using Excel = Microsoft.Office.Interop.Excel;

  public virtual Object ActiveSheet { get; set; }

  private void button15_Click(object sender, EventArgs e)
    {
        //Gets ActiveSheet to Modify
        Excel.Application oXL;
        Excel.Workbook oWB;
        Excel.Worksheet oSheet;

        //Start Excel and get Application object.
        oXL = (Excel.Application)Marshal.GetActiveObject("Excel.Application"); 
        oXL.Visible = true;
        oWB = (Excel.Workbook)oXL.ActiveWorkbook; 
        oSheet = (Excel.Worksheet)oWB.ActiveSheet;

        //Generate Linear Guide Supports using Design Table in Solidworks
        if (comboBox1.Text == "0")//no external rails
        {
            oSheet.Cells[6, 4] = "0"; //Change Value in Cell in Excel Cell Location [y-axis, x-axis]
        }
        //Quit Excel
        oXL.Quit();
    }
0 голосов
/ 07 мая 2019

Используйте это для навигации по выпадающему списку. Если вы используете выпадающий объект.Мы используем shape.item

Вам необходимо определить имя объекта формы по вашему Excel.

var control = xlWorksheet.Shapes.Item("Drop Down 22").ControlFormat;
control.ListIndex = 5; \\This allows you to change the drop down to 5th element

В случае, если вы пытаетесь изменить поле со списком, основанное на ячейкев листе Excel вы можете напрямую изменить значение ячейки

 Excel.Range xlRangeloc= xlWorksheetH.get_Range("D5");

                            xlRangeloc.Value = "OptionOne";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...