使用Excel模板中的线程创建组合框时出错

时间:2013-01-30 22:58:37

标签: c# multithreading excel excel-template

我正在尝试在comboboxes中创建一些Excel template,并在我的模板打开时用信息填充。我想使用thread创建此comboxbox但是当我使用thread时,我会得到exception HRESULT:0x80004002(E_NOINTERFACE) )我不知道问题是什么。

任何想法如何解决这个错误?

这是用于创建comboboxes的代码和thread的代码:

    public void FillcbCurrency()
    {
        Worksheet AccTemplate = (Worksheet)Globals.Sheet1.Application.ActiveWorkbook.Sheets[1];
        Excel.Range range = AccTemplate.get_Range("D27", "D27");

        for (int i = 27; i <= 200; i++)
        {
            range = (Range)AccTemplate.Cells[27, 4];
            cbCurrency = this.Controls.AddComboBox((Range)AccTemplate.Cells[i, 4], i.ToString()) as Microsoft.Office.Tools.Excel.Controls.ComboBox;
            cbCurrency.AutoCompleteMode = AutoCompleteMode.Append;
            cbCurrency.AutoCompleteSource = AutoCompleteSource.ListItems;
            cbCurrency.DropDownStyle = ComboBoxStyle.DropDownList;
            for (int y = 0; y < Currency.Count(); y++)
            {
                cbCurrency.Items.Add(Currency[y].CurrencyKey);
            }
        }
    }

这是thread

private void ThreadExecute()
{
    Thread newThreah = new Thread(FillcbCurrency);
    newThreah.Start();
}

0 个答案:

没有答案