vsto:从Windows窗体应用程序调用不同的Excel工作簿在相同的解决scheme使用C#

我有3个项目包括一个Windows窗体应用程序(WFA)和两个Excel工作簿在1解决scheme..

我想通过点击WFA中的不同button从同一个解决scheme中调用/打开这两个工作簿。而且我被困在编码中了。不知道如何编写代码来打开,激活…等

任何人有任何想法可以帮助?

* ps:我对vsto / c#.net很新

我试过这个..但工作簿不打开..

private void Button_Click(object sender, EventArgs e) { Microsoft.Office.Interop.Excel.Application xlApp; Microsoft.Office.Interop.Excel.Workbook xlWorkBook; Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet; object misValue = System.Reflection.Missing.Value; xlApp = new Microsoft.Office.Interop.Excel.ApplicationClass(); xlWorkBook = xlApp.Workbooks.Open(@"C:\Document\PROJECT\abc.xlsx"); xlWorkSheet = (Microsoft.Office.Interop.Excel.xlWorkSheet)xlWorkBook.Worksheets.get_Item(1); ((Microsoft.Office.Interop.Excel._Worksheet)xlWorkBook).Activate(); xlWorkBook.Close(true, misValue, misValue); xlApp.Quit(); } 

简单的调整你的代码工作

 Microsoft.Office.Interop.Excel.Application xlApp; Microsoft.Office.Interop.Excel.Workbook xlWorkBook; Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet; object misValue = System.Reflection.Missing.Value; xlApp = new Microsoft.Office.Interop.Excel.Application(); xlApp.Visible = true; xlWorkBook = xlApp.Workbooks.Open(@"C:\Users\knm\Documents\Book2.xlsx"); xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); xlWorkSheet.Activate(); xlWorkBook.Close(true, misValue, misValue); xlApp.Quit(); 

VB.net

  Private Sub Button1_Click(sender As System.Object, e As Microsoft.Office.Tools.Ribbon.RibbonControlEventArgs) Handles Button1.Click Dim Dirdata As String = "\\drive\folder\Template.xlsb" Dim xlApp As Microsoft.Office.Interop.Excel.Application Dim xlWorkbook As Microsoft.Office.Interop.Excel.Workbook Dim xlWorksheet as Microsoft.Office.Interop.Excel.Worksheet xlApp = New Microsoft.Office.Interop.Excel.Application() xlWorkbook = xlApp.Workbooks.Open(Dirdata, , True, , "password") xlApp.Visible = True xlWorksheet = xlWorkbook.Worksheets(1) xlWorksheet.Activate() MsgBox(xlWorkbook.Name) xlWorkbook.Close(False) End Sub