1、根据关键词自动格式化文本

有时候我们需要将文本中的某些关键词以特定格式呈现,这时候手动逐个修改可能比较费时费力。我们可以利用宏自动根据关键词进行格式化。

代码:

Sub FormatKeywords()

Dim rng As Range

Dim findStr As String


Set rng = ActiveDocument.Range


'指定关键词和格式

findStr = "关键词"

With rng.Find

.Text = findStr

Do While .Execute

rng.Font.Bold = True

rng.Font.Size = 12

Loop

End With

End Sub


在这个宏中,我们使用了Range对象和Find对象来查找文档中的关键词,并将其格式化为粗体字和12号字体。可以根据需要自定义关键词和格式。

2、批量替换表格中的数据

如果需要对表格中的某些数据进行批量替换,可以使用宏自动完成。

代码:

Sub ReplaceTableData()

Dim tbl As Table

Dim cell As Cell


Set tbl = ActiveDocument.Tables(1)


For Each cell In tbl.Range.Cells

'指定被替换的值和替换后的值

If cell.Range.Text = "原始值" Then

cell.Range.Text = "替换后的值"

End If

Next cell

End Sub


在这个宏中,我们使用了Table对象和Cell对象来遍历表格中的所有单元格,并查找指定的原始值进行替换。可以根据需要自定义表格编号、被替换的值和替换后的值。

3、批量生成邮件

如果需要向多个收件人发送类似的邮件,可以使用宏批量生成。

代码:

Sub GenerateEmails()

Dim objOutlook As Object

Dim objMail As Object

Dim rng As Range

Dim strRecipient As String

Dim strSubject As String

Dim strBody As String


Set objOutlook = CreateObject("Outlook.Application")

Set rng = ActiveDocument.Range


'指定收件人、主题和正文

strRecipient = "收件人1@abc.com; 收件人2@abc.com"

strSubject = "邮件主题"

strBody = "邮件正文"


With rng.Find

.Text = "替换文本"

Do While .Execute

Set objMail = objOutlook.CreateItem(0)

objMail.To = strRecipient

objMail.Subject = strSubject

objMail.Body = strBody

objMail.Send

Loop

End With

End Sub


在这个宏中,我们使用了Outlook对象模型来创建邮件,并使用Find对象查找指定的替换文本进行批量替换