C# 设置打开的工作簿

标签 c# excel vsto excel-addins

我开始使用 C# 创建 Excel 插件。

我需要做的很简单,我需要将一个工作簿设置为一个变量,工作簿已经在运行,我试过了但没有成功

        Excel.Application excel = new Excel.Application();
        Excel.Workbook wb = excel.ActiveWorkbook as Excel.Workbook;
        wb.SaveAs("C:\\Users\\ro_sg\\Desktop\\Pasta1.xlsx");
        Excel.Worksheet ws = wb.Worksheets["Plan1"]; 
        Excel.Range range = ws.Range["A1"];
        range.Value = "Success";

        wb.Save();

wb 变量找不到工作簿(为空),我不明白为什么。

请,如果你们中的任何人发现错误,请告诉我。

谢谢!

最佳答案

我认为您的问题是在您设置工作簿变量时可能无法在上游找到事件的 Excel 应用程序。您的代码似乎正在尝试创建一个新的 Excel 应用程序(没有工作簿),而不是获取打开的现有应用程序。

试一试:

        Excel.Application excel = (Excel.Application)Marshal.GetActiveObject("Excel.Application");
        Excel.Workbook wb = (Excel.Workbook)excel.ActiveWorkbook;
        wb.SaveAs("D:\\WeeeDueceDuece.xlsx");

关于C# 设置打开的工作簿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42677755/

相关文章:

c# - OwinStartup 类中的 Configuration 方法如何以及何时被调用/执行?

c# - 当我为类的字段赋值时,添加一些与特定字段关联的元数据?

c++ - 调试通过 LoadLibrary() 加载到 Excel 中的 C++ DLL

c# Winform Controls to VSTO Excel Addin 如何取回值(value)。

c# - 如何获取所选幻灯片的ID

c# - 通过反射实例化时,将类型的实例添加到该类型的列表中

c# - 如何使用 Microsoft.Office.Interop.Word 创建 .docx 文档?

vba - 将字符串转换为日期 VBA

vba - XslCompiledTransform - 使用 XSLT 样式表转换 XML 时出现编译错误

c# - 如何运行后台进程来响应 VSTO Office 加载项中的选择更改事件?