新手有关问题.如果xls中有vba的宏,用代码是不是不能读取

新手问题.如果xls中有vba的宏,用代码是不是不能读取
使用C#代码读取一个xls文件

我有二个文件一个是1.xls,一个是2.xls

1.xls中有vba的宏,还有什么只读的密码函数啥的
2.xls是我建的一个普通的文件,



但是1.xls中的内容使用下面的代码全是空..2.xls中的就没问题
这种文档我应该用代码怎么读...



C#代码如下,很简单


 Microsoft.Office.Interop.Excel.Application myExcel = new Microsoft.Office.Interop.Excel.ApplicationClass();  
  Workbook myWorkbook = null;  
  Worksheet mySheet = null;
  string excelFileName = "C:\\1.xls";  
  try {  
  // 打开Excel文件  
  myWorkbook = myExcel.Workbooks.Open(excelFileName, Missing.Value, Missing.Value, Missing.Value,Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);  
  // 获取第一个sheet 
  mySheet = (Worksheet)myWorkbook.Sheets[1];  
   
  // 读取第一行第一列的数据  
  //string firstString = ((Microsoft.Office.Interop.Excel.Range)mySheet.Cells[11, 1]).Text.ToString();
  string firstString = (string)((Microsoft.Office.Interop.Excel.Range)mySheet.Cells[3, "A"]).Formula.ToString();
  MessageBox.Show(firstString);

  System.Data.DataTable dt = new System.Data.DataTable();
  for (int i = 1; i <= 24; i++)
  {
  dt.Columns.Add(i.ToString(), typeof(string));
  }

  for (int i = 1; i <= 14 ; i++)
  {
  DataRow dr = dt.NewRow();
  int temp = 0;
  for (int j = (int)'A'; j < (int)'X'; j++)
  {

  dr[temp] = (string)((Microsoft.Office.Interop.Excel.Range)mySheet.Cells[i,((Char)j).ToString()]).Formula.ToString();
  temp ++;
  }
  dt.Rows.Add(dr);
  }

  dataGridView1.DataSource = dt;
  myWorkbook.Close(false, Missing.Value, Missing.Value);  
  }  
  catch (Exception ex)  
  {  
  Console.WriteLine(ex.ToString());  
  }  
  finally  
  {  
  // 释放资源  
  mySheet = null;  
  myWorkbook = null;  
  myExcel.Quit();  
  myExcel = null;  
  }


------解决方案--------------------
“1.xls中有vba的宏,还有什么只读的密码函数啥的”这句没明白…………


myExcel.Workbooks.Open() 的执行不成功吧?