Powershell读取Outlook并输出为PNG图片
2021/9/22 7:11:36
本文主要是介绍Powershell读取Outlook并输出为PNG图片,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
前言
工作上定时汇总服务器状态的脚本,会读取服务器状态后发送到指定的服务器。原始的统计数据比较混乱,需要提取出部分数据汇总后,再将邮件全文进行截图,比较繁琐。 故通过脚本来处理并生成截图。
原理
- 首先通过COM接口读取当前打开的邮件正文内容(body)并传入脚本内;
- 然后通过正则表达式对原始数据进行匹配
- 最后通过COM接口打开PPT文件,传入原始数据,并另存为PNG图片。
代码部分
try { $xlOutlook = New-Object -ComObject Outlook.Application; $openMail = $xlOutlook.Inspectors[1].CurrentItem; } catch { Write-Host "Outlook邮件打开失败,错误原因:"$Error[0];$xlOutlook = $null;pause;[GC]::Collect(); exit(-1) } $date = $openMail.ReceivedTime; $source=$openMail.Body; $xlOutlook = $null;$openMail = $null;[GC]::Collect(); (业务逻辑代码 略) $objPpt=New-Object -ComObject Powerpoint.application $docPpt=$objPpt.Presentations.open('D:\temp.pptx') $docPpt.Slides(1).shapes(2).TextFrame.TextRange.Text=$source $docPpt.SaveAs("d:\today",18) $docPpt.Close() $objPpt.Quit() [GC]::Collect()
注
- PPT文件需要预先定义好文本框格式,以确保输入的正文内容能恰好填充满文本框且具备可读性;
- 对于
$docPpt.Slides(1).shapes(2).TextFrame.TextRange.Text=$source
,Slide对应幻灯片的页数,Shape对应幻灯片中文本框的序数,具体可以手工调试得到。
这篇关于Powershell读取Outlook并输出为PNG图片的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-09-14SharePoint 2019 用 PowerShell将启用发布功能站点网站集另存为模板
- 2022-08-30PowerShell教程 - 程序性能和BUG分析工具
- 2022-08-30PowerShell教程 - 模块管理(Modules Management)
- 2022-08-29PowerShell教程 - Web requests(Web请求)
- 2022-08-26PowerShell教程 - 日期时间管理(Date & Time Management)
- 2022-08-25PowerShell教程 - 磁盘与硬件管理(Disk & Hardware Management)
- 2022-08-25PowerShell教程 - 系统事件管理(System Event Management)
- 2022-08-25PowerShell教程 - 文件系统管理(File System Management)
- 2022-08-24PowerShell教程 - 网络管理(Network Management)
- 2022-08-24PowerShell