excel - 自动执行涉及 Outlook 和 Excel 的 Windows 任务的最佳语言是什么?

标签 excel vba outlook automation

我需要自动执行一项特定任务,其中涉及:

  • 根据一组条件从我的邮箱中获取邮件 - 来自特定用户、具有特定主题行模式等。

  • 解析每封邮件的邮件正文并提取一些内容(邮件具有几乎固定的模式)

  • 使用特定模板创建 Excel 工作表(前两行不变,第三行是本周的星期一和星期五等),并将上面提取的内容连续行粘贴到该工作表中。

  • 创建具有相同内容但格式不同的 Outlook 电子邮件

  • 随此邮件附上上述 Excel 表格。

(终于发送了,但我不想自动化这部分 - 我喜欢在发送邮件之前仔细检查。)

现在,当我想到自动化这项任务时,我立即想到了 Perl 的 Win32::OLE,因为我最近才了解它,并且对 Perl 感到非常舒服。但随后,我认为 Visual Basic for Automation 可能更适合该任务,因为它是为此类任务创建的语言。

我的问题是,VBA 是否足以弥补我在 Perl 和 VB 之间的技能差异?几年前,当我还是个 child 的时候,我就玩过 VB6,但这就是我的 VB 经验的范围。

我也愿意接受任何其他语言/平台的建议,只要它们具有一定的灵 active 并且不太难学。我也了解一些Python。

我查看了this还有this , this , thisthis ,但它们要么不相关,要么没有任何好的答案。

最佳答案

免责声明:我从未使用过 Perl 或 Python。

如果您愿意从宏和 VBA“升级”到使用 Visual Studio Office 工具 (VSTO),该工具已经在 .NET 中提供了一段时间,您可以使用几个强大的新选项来处理 Office 互操作:

  1. 使用可通过 C# 和其他 .NET 语言使用的 PIA(主互操作程序集)公开的 COM API:SO 或 CodeProject 上提供了许多代码示例,用于执行您描述的所有操作。建议您搜索“C# Office Interop”“C# Outlook Interop”“C# Excel Interop”“C# Office Automation”。或者搜索其他 .NET 语言,从 VB.NET 到 F#。

  2. 使用最新的 .NET 工具,您可以使用 UI 设计器为 Excel 或 Outlook 等创建加载项。我现在正在 2010 年开发一个 Excel 加载项,它非常有用。很高兴能够在设计时将 WinForms 控件拖放到工作表上并创建事件处理程序并编辑属性,就像在 WinForms 中工作一样。当然,正如您所料,2010 测试版 Office 有一些“粗糙的边缘”。

Microsoft 上的 VSTO 论坛:VSTO Forum for Office 2003, 2007

通过 VSTO 实现办公自动化的良好“门户”:Getting Started (Visual Studio Tools for Office)

Microsoft Visual Studio 2010 beta 2 的 VSTO 论坛:2010 beta确保打开“公告”下标题为“使用 Visual Studio 2010 Beta 2 资源进行 Office 开发”的下拉面板

Microsoft Office 2010 测试版论坛: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 ?可能对您有一些值(value),我建议您在“VSTO Excel”和“VSTO Outlook”上进行搜索

关于excel - 自动执行涉及 Outlook 和 Excel 的 Windows 任务的最佳语言是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2169879/

相关文章:

java - Apache Poi 无法读取工作表名称

vba - 如何对非矩形范围的列中的单元格进行计数

regex - 使用 VBA 正则表达式在逗号后添加空格

vba - 检测 Outlook 自动回复/外出电子邮件

python - win32com.client.Dispatch ("Outlook.Application")错误 pywintypes.com_error : (-2147221005, 'Invalid class string',无,无)

excel - 删除不同扩展名文件夹中的空 Excel 文件

excel - 为 Excel 堆积条形图的点着色与表中分配的值相关

vba - 验证工作表复选框的高度是否足以容纳标题

events - 每次我执行某项操作时,Excel 工作表上的列表框中的选择都会变成空白,为什么?

java - Runtime.exec 错误,但在 cmd 行中有效