免责声明:我从未与Perl或Python合作过。
如果您愿意“跨越”宏和VBA,开始使用Visual Studio Office工具(VSTO),这些工具已经在.NET中可用了一段时间,您就有了几个强大的新选项来处理Office互操作:
1. 使用COM API,通过PIA(主要Interop Assembly)暴露出来的API可以从C#和其他.NET语言中使用:在SO上或CodeProject上有很多用于执行所有您描述的内容的代码示例。建议您搜索“C# Office Interop”、“C# Outlook Interop”、“C# Excel Interop”、“C# Office Automation”。或搜索其他从VB.NET到F#的.NET语言。
2. 最新的.NET工具让您拥有UI设计师,让您创建Excel或Outlook等插件。我现在正在2010版的Excel插件上工作,能够将WinForms控件拖放到工作表上并创建事件处理程序,以及在设计时编辑属性,感觉相当愉悦。当然,2010beta Office存在一些“粗糙的边缘”,正如您所期望的那样。
微软的VSTO论坛:Office 2003, 2007 VSTO论坛
VSTO是实现Office自动化很好的门户网站:快速入门(Visual Studio Tools for Office)
微软的VSTO论坛适用于Visual Studio 2010 beta 2:2010 beta请确保在“公告”下拉菜单中打开名为“使用Visual Studio 2010 Beta 2资源进行Office开发”的面板。
微软的Office 2010 beta论坛:Office 2010
在Visual Studio 2010 beta 2中,使用Office 2010 beta,你不仅有六种与Excel交互相关的项目类型:
Excel 2007 加载项,
Excel 2010 加载项,
Excel 2007 模板,
Excel 2010 模板,
Excel 2007 工作簿,
Excel 2010 工作簿:针对 Outlook:Outlook 2007 加载项,Outlook 2010 加载项
这个 SO 主题 Beginning VSTO ? 可能对您有价值,我建议您在 SO 上搜索“VSTO Excel”和“VSTO Outlook”