带有图像的Outlook邮件签名脚本(.vbs)

时间:2015-02-27 11:47:44

标签: vbscript ms-word outlook signature watermark

我实际上是在使用vbscript在Outlook上生成签名,这应该是这样的;

enter image description here

正在成功获取所有数据并且格式似乎没问题,因为我一直在使用表并将数据放在相应的单元格中以避免重叠和所有数据。

这是我的代码;

' Instantiation
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Add()
Set objSelection = objWord.Selection
Set objEmailOptions = objWord.EmailOptions
Set objSignatureObject = objEmailOptions.EmailSignature
Set objSignatureEntries = objSignatureObject.EmailSignatureEntries

Details = "Details Details Details Details Details Details Details Details"

' Add logo 
Set objRange = objDoc.Range()
objDoc.Tables.Add objRange, 4, 2
Set objTable = objDoc.Tables(1)
objTable.Columns(0).Width = 900
objTable.Columns(1).Width = 100

' Full Name
objTable.Rows(1).Cells.Merge
objTable.Rows(1).Height = 5
objTable.Cell(1, 1).Range.Font.Color = RGB(15,0,250)
objTable.Cell(1, 1).Range.Font.Name = "Monotype Corsiva"
objTable.Cell(1, 1).Range.Font.Bold = true
objTable.Cell(1, 1).Range.Font.Size = 16 
objTable.Cell(1, 1).Range.Text = strFirstName & " " &  strLastName 

' Title
objTable.Rows(2).Cells.Merge
objTable.Rows(2).Height = 5
objTable.Cell(2, 1).Range.Font.Color = RGB(15,36,62)
objTable.Cell(2, 1).Range.Font.Name = "Monotype Corsiva"
objTable.Cell(1, 1).Range.Font.Bold = true
objTable.Cell(2, 1).Range.Font.Size = 12
objTable.Cell(2, 1).Range.Text = strTitle

' Details
objTable.Rows(3).Cells.Merge
objTable.Rows(3).Height = 15
objTable.Cell(3, 1).Range.Font.Color = RGB(15,36,62)
objTable.Cell(3, 1).Range.Font.Name = "Calibri"
objTable.Cell(3, 1).Range.Font.Size = 8 
objTable.Cell(3, 1).Range.Text = Details  

' Images
objTable.Rows(4).Height = 15
If (strGender = "M") Then
    objTable.Cell(4, 1).Range.InlineShapes.AddPicture "C:\Scripts\Logon\Male.jpg"
Else
    objTable.Cell(4, 1).Range.InlineShapes.AddPicture "C:\Scripts\Logon\Female.jpg"
End if

' Logo
objTable.Cell(4, 2).Range.InlineShapes.AddPicture "C:\Scripts\Logon\logoSignatureNew.jpg"
objTable.Cell(4, 2).Range.ParagraphFormat.Alignment = 2

objSelection.EndKey END_OF_STORY  
Set objSelection = objDoc.Range() 

objSignatureEntries.Add "Signature", objSelection
objSignatureObject.NewMessageSignature = "Signature"

objDoc.Saved = true
objDoc.Close
objWord.Quit

截至目前,产出如下; enter image description here

任何人都可以帮我在文字周围添加气球吗?我不知道如何添加图像和send to back或使用某种水印。

任何帮助将不胜感激。 感谢您的期待。

1 个答案:

答案 0 :(得分:-1)

Outlook外观对象模型提供了三种使用项主体的主要方法:

  1. 身体 - 原始文本。
  2. HTMLBody - HTML标记。
  3. Word编辑器。 Inspector类的WordEditor属性返回表示邮件正文的Document类的实例。
  4. 最后两个可用于完成工作。您可以在MSDN中的Chapter 17: Working with Item Bodies文章中找到所有这些内容。