VBA编程之设置Excel自动打开、刷新与保存并调用outlook自动发送邮件

使用自动化编程提高工作效率

0
4267

一、使用环境

技术环境要求:Windows平台下(win7、win10、win server环境都可以),固定收件人、附件、邮件内容,然后设置固定时间进行邮件发送,提高工作效率的同时、省心

二、干货开始

1.首页设置Excel自动打开、刷新与保存

 具体步骤参考这个链接 

1.1 写在thisworkbook下的代码
Private Sub Workbook_Open()Application.DisplayAlerts = TrueApplication.OnTime Time + TimeSerial(0, 1, 0), “gb”End Sub

TimeSerial(0, 1, 0) 这里面的1是分钟

写在模块1下的代码
Sub gb()Application.DisplayAlerts = FalseActiveWorkbook.SaveExcel.Application.QuitEnd Sub

之后就可以做到自动关闭并保存Excel了,注意把Excel文件另存为.xlsm文件

这里用到的Excel文件要另存为 启用宏的Excel (.xslm)

2.调用outlook发送邮件

也参考这个文章,具体 代码如下(同样要保存为.vbs文件)

ForReading=1
 TristateFalse=0
 '建立FSO对象
 Set fs=CreateObject("Scripting.FileSystemObject")
 '打开存放内容的文件
 Set file=fs.OpenTextFile("F:\everydaytable\MTK_Inventory_table.xlsm",ForReading,TristateFalse)
 '读取全部内容
 detail=file.ReadAll
 Set file=Nothing
 '启动Outlook
 Set out=WScript.CreateObject("Outlook.Application")
 '新建一份邮件
 Set mailitem=out.CreateItem(0)
 '设置邮件的主题
 mailitem.SubJect="MTK_Inventory_table"
 '设置邮件的正文
 mailitem.Body="MTK_Inventory_table"
 '设置收件人,    输入“;”来设置多个收件人
 mailitem.To="123@163.com;456@163.com "
 '增加附件
 mailitem.Attachments.Add("F:\everydaytable\MTK_Inventory_table.xlsm")
 mailitem.Send
 Set mailitem=Nothing
 Set fs=Nothing
 Set out=Nothing

3.使用Windows任务计划程序 来定时执行发送邮件、打开Excel的两个vbs脚本

4.打完收功