每次看到office Automation using.NET的例子,使用的语言都是VB.NET。
这是因为最初只能在宏中使用 VB 脚本来实现 Excel 等 Office 应用程序的自动化,而编写这些宏的人自然倾向于使用 VB.NET,还是有理由不将 C# 用于 Office 自动化?
似乎我可以从 C# 中实例化 Excel 类,就像我在 VB.NET 中使用 CreateObject 一样。
excel = Type.GetTypeFromProgID("Excel.Application");
如果您必须使用 Excel 自动化编写 .NET 程序,您会使用什么语言,除了可能有 VB.NET 示例之外,还有什么理由避免使用 C#?
编辑:
我正在考虑使用对 Microsoft Excel 对象库的显式引用和 Excel 类 Application 对象的显式实例化来编写代码,然后在对程序进行基本测试后,修改代码以使用后期绑定以允许应用程序运行不同版本的 Excel。
代码会完全不同吗?
例如,使用早期绑定我可以做到这一点......
var excel2 = new Microsoft.Office.Interop.Excel.Application();
excel2.Visible = true;
在后期投标中,我会被迫使用完全不同的代码吗?
excel = Type.GetTypeFromProgID("Excel.Application");
excel.InvokeMember("Visible", BindingFlags.SetProperty, null, excelObject, parameter);