Outlook 2003 で、自動的に bcc に送るには?

Outlook 2003 で、自動的に bcc を送るには、以下のコードをメニュー|ツール|マクロ|Visual Basic Editor (ALT+F11)のプロジェクトエクスプローラの中で、Project → Microsoft Office Outlook Objects → ThisOutlookSession のウィンドウに貼り付ける。青字の部分は、bcc に送るメールアドレスを記入する。Outlook のマクロ実行のセキュリティは、ツール→マクロ→セキュリティのところを、「中」にしておかけねばならない。こうすると Outlook を起動するごとにマクロを有効にするかどうかのダイアログボックスが出るが、仕方がない。 以下のコードは、「 in Microsoft Outlook 2000 or later versions">To automatically add an e-mail address as a Bcc to all outgoing messages in Microsoft Outlook 2000 or later versions」 より無断転載。 さて、bcc に送るというのは、どういうことを意味するのだろうか?現在では、GMail に代表されるように、無料の大容量オンラインメールサービスが提供されている。GMail にアカウントを作り、自分の送るすべてのメールを bcc で GMail に送っておけば、バックアップのみならず、何かトラブルに巻き込まれたときに第三者が受け取ったメールとして GMail 内に保存される。証拠はできるだけ残しておくべきなのだ。 ちなみに、GMail の場合は、メールアドレスの「@」の前のアカウント名の部分に「+」や「.(ピリオド)」といった記号を使えることをご存知だろうか?たとえば perltips@gmail.com というアドレス名であれば、bcc 先のアドレスを perltips+bcc@gmail.com としても、GMail 側では perltips@gmail.com として処理されるのだ。もちろんこのアドレスにフィルタをかけることもできる。ピリオドについては無視される。アカウント名の部分のどの文字と文字の間にもピリオドを置くことができる。
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)

    Dim objRecip As Recipient
    Dim strMsg As String
    Dim res As Integer
    Dim strBcc as String

    ' #### USER OPTIONS ####
    ' address for Bcc -- must be SMTP address or resolvable
    ' to a name in the address book
    strBcc = "someone@somewhere.dom"

    On Error Resume Next
    Set objRecip = Item.Recipients.Add(strBcc)
    ' handle case of user canceling Outlook security dialog
    If Err = 287 Then
        strMsg = "Could not add a Bcc recipient " & _
          "because the user said No to the security prompt." & _
          " Do you want still to send the message?"
        res = MsgBox(strMsg, vbYesNo + vbDefaultButton1, _
                "Security Prompt Cancelled")
        If res = vbNo Then
            Cancel = True
        Else
            objRecip.Delete
        End If
        Err.Clear
    Else
        objRecip.Type = olBCC
        objRecip.Resolve
        If Not objRecip.Resolved Then
            strMsg = "Could not resolve the Bcc recipient. " & _
              "Do you want still to send the message?"
            res = MsgBox(strMsg, vbYesNo + vbDefaultButton1, _
                    "Could Not Resolve Bcc Recipient")
            If res = vbNo Then
                Cancel = True
            End If
        End If
    End If

    Set objRecip = Nothing
End Sub
トラックバック URL: https://perltips.twinkle.cc/trackback/183
Posted on 2007-03-19 by yas |
https://www.microsoft.com/japa
https://www.microsoft.com/japan/technet/archive/community/columns/5min/5m... にあるように、Office についている SelfCert.exe を使えば、「マクロ実行のセキュリティは、ツール→マクロ→セキュリティのところを、中」にしておかねばならない」は回避されますよ。
Posted by 匿名さん (未認証ユーザ) on 2009/06/23(火) 18:30