vba -------------vba 导出word到pdf 发邮件

Public Sub SendMail()
Dim objAccount As Object
Dim objApp As Object ‘Outlook.Application

‘ If Not CheckData Then
‘ Exit Sub
‘ End If

‘ If MsgBox(shtMessage.Range("A1").Value, vbYesNo + vbExclamation) <> vbYes Then
‘ Exit Sub
‘ End If

Set objApp = GetObject("", "Outlook.Application")

If objApp.Session.accounts.Count > 1 Then
frmAccounts.Show vbModal
If Val(frmAccounts.lstAccounts.Tag) > 0 Then
Set objAccount = objApp.Session.accounts.Item(Val(frmAccounts.lstAccounts.Tag))
Else
Exit Sub
End If
Else
Set objAccount = objApp.Session.accounts.Item(1)
End If

Dim strPath As String
Dim objWB As Workbook

‘strPath = Environ$("TEMP") & "\test.xlsm"
‘ ThisWorkbook.SaveCopyAs strPath
Dim endRow
Dim rowindex As Integer

endRow = Sheet24.Range("a65536").End(xlUp).Row

MsgBox endRow

For rowindex = 1 To endRow

‘判断项目名称是否为空
If Sheet24.Cells(rowindex, 1) = "" Then
Exit For

End If

Dim objMailItem As Object ‘MailItem

Set objMailItem = objApp.CreateItem(0)

objMailItem.To = "[email protected]"
objMailItem.Cc = ""
objMailItem.Subject = "hello world"
objMailItem.Body = "this is a test mail"

objMailItem.Attachments.Add ExcelToWordToPdf(rowindex)

objMailItem.Display
‘objMailItem.Send

Next

‘ Dim objMailItem As Object ‘MailItem

‘ Set objMailItem = objApp.CreateItem(0)

‘ objMailItem.to = "[email protected]"
‘ objMailItem.Cc = ""
‘ objMailItem.Subject = "hello world"
‘ objMailItem.Body = "this is a test mail"
‘ ‘objMailItem.Attachments.Add strPath

‘ objMailItem.Display
‘ ‘objMailItem.Send

‘ MsgBox "Success!", vbInformation

End Sub

Sub TestFunc() ‘定义一个string类型的参数s

Dim s
s = "abc "
MsgBox Len(s)

MsgBox Application.ActiveWorkbook.path

‘ MsgBox ExcelToWordToPdf("我的文件") ‘返回一个字符串"返回值"
End Sub

Function ExcelToWordToPdf(rowindex As Integer)

Dim wdDoc, newPdfPath, currentPath, filename

currentPath = Application.ActiveWorkbook.path & "\"

newPdfPath = currentPath & "files\"

filename = Sheet24.Cells(rowindex, 1) & ".pdf"

Set wdDoc = CreateObject(currentPath & "template.docx") ‘打开word

wdDoc.Range.Find.Execute FindText:="{1}", ReplaceWith:="标题---test-replage", Replace:=1 ‘replace为1 替换一次,2替换所有
wdDoc.Range.Find.Execute FindText:="{2}", ReplaceWith:="test----2"

If Dir(newPdfPath) = "" Then

MkDir (newPdfPath)
End If

wdDoc.ExportAsFixedFormat newPdfPath & filename, 17 ‘ wdExportFormatPDF 是17

wdDoc.Close

Set wdDoc = Nothing
ExcelToWordToPdf = newPdfPath & filename

End Function

时间: 2024-08-04 14:14:35

vba -------------vba 导出word到pdf 发邮件的相关文章

杂项收集,包括-发邮件、二维码生成、文件下载、压缩、导出excel

本篇就最近工作解决的问题做个代码收集.包括以下几个方面:发邮件.二维码生成.文件下载.压缩.导出excel.有一种可用的解决方法就好,不求全面,不求原理. 1.发邮件: 命名空间:System.Net.Mail程序集:System(在 system.dll 中) tips: MailMessage 类的实例用于构造可使用 SmtpClient 类传输到 SMTP 服务器以便传递的电子邮件. 若要指定电子邮件的发件人.收件人和内容,请使用 MailMessage 类的关联属性.一般需要注意的有 发

发邮件 和 excel导出中文文件名

/** * 发邮件 * @param email * @param subject * @param body * @throws UnsupportedEncodingException */ public static void sendEmail(String email, String subject, String body) throws UnsupportedEncodingException,NoSuchProviderException,MessagingException,E

Java使用IText(VM模版)导出PDF,IText导出word(二)

===============action=========================== //退款导出word    public void exportWordTk() throws IOException{         Long userId=(Long)ServletActionContext.getContext().getSession().get(Constant.SESSION_USER_ID);        //获取生成Pdf需要的一些路径        Strin

[原创]java导出word的5种方式

在网上找了好多天将数据库中信息导出到word中的解决方案,现在将这几天的总结分享一下.总的来说,java导出word大致有5种解决方案: 1:Jacob是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁.通过Jacob实现了在Java平台上对微软Office的COM接口进行调用. 优点:调用微软Office的COM接口,生成的word文件格式规范. 缺点:服务器只能是windows平台,不支持unix和linux,且服务器上必须安装微软Office. 2:Ap

iText导出word入门

最近一个项目需要导出word文档,网上了解了一下,发现poi导出excel比较好,但是导出word就力不从心了,大家都比较推荐iText,于是试了试,感觉还不错. 我用的是2.1.7版本. 1. 使用maven导入依赖 <dependency> <groupId>com.lowagie</groupId> <artifactId>itext</artifactId> <version>2.1.7</version> <

iOS中打电话、打开网址、发邮件、发短信等

常用小功能 小功能简介 iOS中的很多小功能都是非常简单的,几行代码就搞定了,比如打电话.打开网址.发邮件.发短信等 打电话-方法1 最简单最直接的方式:直接跳到拨号界面 NSURL *url = [NSURL URLWithString:@"tel://10010"]; [[UIApplication sharedApplication] openURL:url]; 缺点 电话打完后,不会自动回到原应用,直接停留在通话记录界面 打电话-方法2 拨号之前会弹框询问用户是否拨号,拨完后能

3-IOS-小功能(打电话、发短信、发邮件)

iOS中的很多小功能都是非常简单的,几行代码就搞定了,比如打电话.打开网址.发邮件.发短信等 一.打电话 1>最简单最直接的方式:直接跳到拨号界面NSURL *url = [NSURL URLWithString:@"tel://10010"];[[UIApplication sharedApplication] openURL:url];缺点:电话打完后,不会自动回到原应用,直接停留在通话记录界面 2>拨号之前会弹框询问用户是否拨号,拨完后能自动回到原应用NSURL *u

Mac如何自动发邮件给kindle推送文档

买过kindle的人一定对于它推送的服务印象深刻,只要你的kindle联网在,即便它被放在家里,你也可以在办公室给它发送书籍,等你回家就会发现,书籍已经自动下载好了,在不同平台下(Mac,windows等)都有相应的Send to kindle应用程序,有些程序是不支持中国亚马逊账户的,但我们可以采用通用的方式,通过邮件推送,可能有些人觉得发邮件很麻烦,但如果能实现自动发送邮件,你是否还这样觉得呢 首先需要准备如下几点 kindle绑定一个Amazon账号 在Amazon账户的个人文档设置里添加

打电话,发短信,发邮件,app跳转

1.打电话 - (IBAction)callPhone1:(id)sender { NSURL *url = [NSURL URLWithString:@"tel://18500441739"]; [[UIApplication sharedApplication] openURL:url]; } - (IBAction)callPhone2:(id)sender { NSURL *url = [NSURL URLWithString:@"telprompt://185004