1

次のコードがあります

Sub RemoveInvalidChar(myMail As MailItem)


If myMail.Subject <> vbNullString Then
        strname = myMail.Subject
   Else

End If
strname = Replace(strname, "&", "and")

End Sub

基本的に、 & char を単語に置き換えて、ルールを使用したいと考えています。うまくいかないようです。

4

3 に答える 3

1

myMail.Subject を新しい文字列に設定していません。以下の行を追加します。

myMail.Subject = strname 

ただし、myMailByRef を送信していることを確認してください。

于 2013-08-22T10:32:11.283 に答える
0

enderland - 昨日、なんとか答えにたどり着きましたが、結果を投稿できませんでした。

mymail.save がありませんでした

とにかく、私のコードは以下にあり、動作します。Ltrim は、件名の前にあるスペースを削除するだけです。

Sub RemoveInvalidChar(myMail As MailItem)

    Dim strname As String
    Dim sreplace As String

    sreplace = "and"
    strname = LTrim(myMail.Subject)

    strname = Replace(strname, "&", sreplace)
    myMail.Subject = strname
    myMail.Save

End Sub
于 2013-08-23T13:30:03.717 に答える
0
Sub RemoveInvalidChar(myMail As MailItem)


If myMail.Subject <> vbNullString Then
        'set the actual subject to a new subject

        myMail.Subject= Replace(myMail.Subject, "&", "and")
        'get in the habit of saving email when you change it via vba
        'as there will be a lot of cases where you get burned for this
        myMail.Save
End If

End Sub

これが機能しない場合は、ブレークポイントを追加し、実際にルールを介して適切にマクロを呼び出していることを確認してください。

于 2013-08-22T13:48:48.417 に答える