Outlook VBA调整

问题描述 投票:0回答:1

完全来说,我对编写VBA编码一无所知。我雇了一个人在Outlook中编写代码,可以将其设置为突出显示电子邮件时执行以下操作的宏。

FW电子邮件从剪贴板插入已复制的项目,然后粘贴到“收件人”(复制的电子邮件地址)中从主题行删除固件:删除原始邮件上方的所有内容,包括原始电子邮件信息/日期/地址等。

当我运行此宏时,它会完成所有此操作,但它会在正文的第一个单词“ Hello Name”上方留下空白行。我如何删除空行,以便“ Hello Name”位于电子邮件的最顶部或。当我运行宏时,是否将Hello Name一起删除?下面是代码。

Sub ForwardFromClipboard2()

Dim tmpEmail As MailItem
Dim fwEmail As MailItem



 For Each Item In Application.ActiveExplorer.Selection
        If TypeName(Item) = "MailItem" Then

        Set tmpEmail = Item.Forward
        tmpEmail.Subject = Item.Subject
        tmpEmail.To = GetClipBoardText

        tmpEmail.Display
        RemoveSign (tmpEmail.Subject)

        Set tmpEmail = Nothing
        End If
    Next
End Sub

Sub RemoveSign(MySubject As String)
Dim objOL As Application
Dim objDoc As Object
Dim objSel As Object

Set objOL = Application
Set objDoc = objOL.ActiveInspector.WordEditor
Set objSel = objDoc.Application.Selection

' delete signature
If objDoc.Bookmarks.Exists("_MailOriginal") Then
Set objBkm = objDoc.Bookmarks("_MailOriginal")
objSel.Start = 0
objSel.End = objBkm.Start
objDoc.Windows(1).Selection.Delete
End If

' delete FROM:, TO:, SUBJECT:
Dim search As String
  search = "Subject:"
  Dim search2 As String
  search2 = MySubject

  For Each para In objDoc.Paragraphs

      Dim txt As String
      txt = para.Range.Text

      If InStr(txt, search) Or InStr(txt, search2) Then
          para.Range.Delete
          Exit For
      End If

  Next
End Sub

Function GetClipBoardText() As String
   Dim DataObj As MSForms.DataObject
   Set DataObj = New MSForms.DataObject

   On Error GoTo Whoa

   DataObj.GetFromClipboard

   myString = DataObj.GetText(1)
   GetClipBoardText = myString

   Exit Function
Whoa:
   GetClipBoardText = ""
End Function

完全来说,我对编写VBA编码一无所知。我雇了一个人在Outlook中编写代码,可以将其设置为突出显示电子邮件时执行以下操作的宏。固件电子邮件...

outlook-vba
1个回答
0
投票

您可以根据需要使用HTMLBody或Word对象模型来编辑消息正文。 Word对象模型提供Delete类的Range方法,该方法删除指定数量的字符或单词。有关更多信息,请参见Chapter 17: Working with Item Bodies

© www.soinside.com 2019 - 2024. All rights reserved.