0

職場で企業の Exchange に接続された Outlook for Mac を使用せざるを得ず、小さな AppleScript を組み合わせて、監視システムから受信する電子メール メッセージの件名を変更しました。デフォルトでは、それらは信じられないほどの長さであり、人間が読めるものではありません。私はそれを修正しようとしています。

スクリプトは機能しますが、何らかの奇妙な理由で、自分でテスト メッセージを送信するとすべてがうまく機能しますが、監視システムからの実際のメッセージが届くと、すべての変更が元に戻ります! メッセージがメールボックスに届いたとき、件名はまさに希望どおりですが、3 ~ 5 秒以内に元の件名に戻ってしまいます。

私は AppleScript について何も知りませんし、このような問題のトラブルシューティングをどこから始めればよいかわかりません。

私がやろうとしていることが実行可能かどうか、誰かが見て教えてください。

on replaceText(find, replace, subject)
    set prevTIDs to text item delimiters of AppleScript
    set text item delimiters of AppleScript to find
    set subject to text items of subject

    set text item delimiters of AppleScript to replace
    set subject to "" & subject
    set text item delimiters of AppleScript to prevTIDs

    return subject
end replaceText

tell application "Microsoft Outlook"
    set theMessages to the current messages
end tell

repeat with theMsg in theMessages
    tell application "Microsoft Outlook"
        set mysubject to get the subject of theMsg
        if mysubject contains "[Subscription:Spectrum CTO] SPECTRUM - " then
            set mysubject to my replaceText("[Subscription:Spectrum CTO] SPECTRUM - ", "", mysubject)
            set mysubject to my replaceText("Alarm Title: ", "", mysubject)
            set mysubject to my replaceText("Severity: ", "", mysubject)
            set mysubject to my replaceText("Model Name:", "-", mysubject)
            set subject of theMsg to the mysubject as string
        end if
    end tell
end repeat
4

2 に答える 2

1

メッセージを変更する唯一の行は

set subject of theMsg to the mysubject as string

Exchange に問題があるようです。別のメールが届いたときに、その件名を設定してみましたか?

于 2012-08-29T05:07:59.603 に答える
0

わかりました、問題は追加することで解決しました

delay(3)

直前

set subject of theMsg to the mysubject as string

于 2012-08-29T18:47:25.293 に答える