目前在做一个office的外接程序,想获取当前Excel的活动工作簿,但始终获取不到,代码是这样的using Excel = Microsoft.Office.Interop.Excel;
private Excel.GlobalClass excel_GlobalClass = new Excel.GlobalClass();
if (excel_GlobalClass.ActiveWorkbook == null)//ActiveWorkbook的值为null,不知道为什么
{
    MessageBox.Show("null");
}
MessageBox.Show(excel_GlobalClass.Workbooks.Count.ToString());//Count值为0
无论是workbooks,还是worksheets统统获取不到,但奇怪的是在word里用同样的方式却可以获取到,代码如下:using Word = Microsoft.Office.Interop.Word;
private Word.GlobalClass word_GlobalClass = new Word.GlobalClass();
MessageBox.Show(word_GlobalClass.ActiveDocument.Name);//这句就可以获取到当前活动文档
试了好多办法,就是在Excel中无法获取,唉,求高手指教啊!

解决方案 »

  1.   

          oledbConnection.Open();                OleDbCommand oleDbCommand = new OleDbCommand(strQuerySql, oledbConnection);
                    OleDbDataAdapter oleDbDataAdapter = new OleDbDataAdapter();                oleDbDataAdapter.SelectCommand = oleDbCommand;                oleDbDataAdapter.Fill(dt);
    这样试试
      

  2.   

    其实我必须得到ActiveWorkbook这个对象,可无论如何也获取不到任何workbook。