Sub myMailReplyOne()
  Rem *----*----*    *----*----*    *----*----*    *----*----*
  Rem 返信メール作成定型文挿入処理
  Rem 記録者:Hitrock Camellia Shinopy
  Rem 言語:Outlook VBA
  Rem 機能...
  Rem   開いている受信トレイアイテム(一通)を元に、
  Rem   定型文を挿入して、返信メールを作成する。
  Rem 注記...
  Rem   受信トレイアイテムを開く前に、マクロを実行しておくほうが便利。
  Rem   受信トレイのアイテムを開いた状態で処理が有効。
  Rem 履歴...
  Rem   第1版:2005/10/14:作成。
  Rem *----*----*    *----*----*    *----*----*    *----*----*
  '
  Dim blln As Balloon
  Dim bttn As Long
  Dim bllnID As Long
  Rem *----*----*    *----*----*    *----*----*    *----*----*
  '
  Rem 初期処理を実行させる。
  bttn = -888
  Call myMailReplyOneBttn(blln, bttn, bllnID)
End Sub ' myMailReplyOne *----*----*    *----*----*    *----*----*    *----*----*

Sub myMailReplyOneBlln(myPage As Variant)
  Rem *----*----*    *----*----*    *----*----*    *----*----*
  Rem バルーン表示処理
  Rem *----*----*    *----*----*    *----*----*    *----*----*
  '
  Dim myTitle As String
  Dim myPageMax As Integer
  Dim myText As String
  Rem *----*----*    *----*----*    *----*----*    *----*----*
  '
  myTitle = "myMailReplyOne"
  myPageMax = 3
  '
  Assistant.Visible = True
  '
  With Assistant.NewBalloon
    .Animation = msoAnimationIdle
    .BalloonType = msoBalloonTypeButtons
    .Icon = msoIconAlertQuery
    Rem *----*----*    *----*----*
    Rem 見出し表示
    myText = myTitle & vbCr
    myText = myText & "定型文" & " " & "返信" & " " & "処理" & vbCr
    myText = myText & myPage & "/" & myPageMax & "頁" & vbCr
    .Heading = myText
    .Text = "選択して下さい。"
    Rem *----*----*    *----*----*
    Rem ラベル表示
    Select Case myPage
      Case 1
        .Labels(1).Text = "入荷済み"
        .Labels(2).Text = "未入荷"
        '.Labels(3).Text = ""
        '.Labels(4).Text = ""
        '.Labels(5).Text = ""
        .Button = msoButtonSetNextClose
       Case 2
        .Labels(1).Text = "検品中"
        '.Labels(2).Text = ""
        '.Labels(3).Text = ""
        '.Labels(4).Text = ""
        '.Labels(5).Text = ""
        .Button = msoButtonSetBackNextClose
      Case 3
        .Labels(1).Text = "出荷済み"
        .Labels(2).Text = "未出荷"
        '.Labels(3).Text = ""
        '.Labels(4).Text = ""
        '.Labels(5).Text = ""
        .Button = msoButtonSetBackClose
    End Select
    Rem *----*----*    *----*----*
    .Mode = msoModeModeless
    .Callback = "myMailReplyOneBttn"
    .Show
  End With
End Sub ' myMailReplyOneBlln *----*----*    *----*----*    *----*----*    *----*----*

Sub myMailReplyOneBttn(blln As Balloon, bttn As Long, bllnID As Long)
  Rem *----*----*    *----*----*    *----*----*    *----*----*
  Rem 各ボタン処理
  Rem *----*----*    *----*----*    *----*----*    *----*----*
  '
  Dim myTitle As String
  Dim myMail As MailItem
  Dim myText As String
  Dim myBody As String
  Dim myAns As Long
  '
  Static myPage As Variant
  Rem *----*----*    *----*----*    *----*----*    *----*----*
  '
  Select Case bttn
    Case msoBalloonButtonClose, msoBalloonButtonCancel
      blln.Close
      Assistant.Visible = False
      Exit Sub
    Case msoBalloonButtonNext
      blln.Close
      myPage = myPage + 1
      Call myMailReplyOneBlln(myPage)
      GoTo myMailReplyOneBttnSubExit
    Case msoBalloonButtonBack
      blln.Close
      myPage = myPage - 1
      Call myMailReplyOneBlln(myPage)
      GoTo myMailReplyOneBttnSubExit
    Case -888 ' 初期処理
      Call myMailReplyOneInit(myPage)
      Call myMailReplyOneBlln(myPage)
      Exit Sub
  End Select
  '
  On Error Resume Next
  If TypeName(ActiveInspector.CurrentItem) <> "MailItem" Then Exit Sub
  '
  myTitle = "myMailReplyOne"
  '
  Set myMail = ActiveInspector.CurrentItem
  Rem *----*----*    *----*----*    *----*----*    *----*----*
  '
myMailReplyOneBttnSubEntry:
  Select Case bttn
    Case 1 To 5
      myText = "[ " & myMail.SenderName & " ]様へ" & vbCr
      myText = myText & "[ " & myMail.Subject & " ]を" & vbCr
      myText = myText & "[ " & blln.Labels(bttn).Text & " ]の回答で" & vbCr
      myText = myText & "返信します。"
      With Assistant.NewBalloon
        .Animation = msoAnimationIdle
        .Icon = msoIconAlert
        .Button = msoButtonSetOkCancel
        .Heading = myTitle & vbCr & "[返信の確認]"
        .Text = myText
        myAns = .Show
      End With
      '
      myMail.Close olDiscard
      If myAns <> msoBalloonButtonOK Then GoTo myMailReplyOneBttnSubExit
  End Select
  Application.ActiveExplorer.WindowState = olMinimized
  '
  Rem 定型文
  myText = myMail.SenderName & " 様、" & vbCrLf
  myText = myText & "御照会の件、下記の通り回答いたします。"
  myText = myText & vbCrLf & vbCrLf
  '
  Select Case bttn
    Case 1 To 5
      myText = myText & "下記の物件は、"
      myText = myText & blln.Labels(bttn).Text & "です。" & vbCrLf
      myText = myText & "以上" & vbCrLf
  End Select
  Rem *----*----*    *----*----*    *----*----*    *----*----*
  '
  With myMail.Reply
    Rem 重要度・フラグ
    ' .Importance = olImportanceHigh  ' olImportanceHigh olImportanceLow olImportanceNormal
    ' .FlagRequest = "御確認ください。"
    '
    Rem CC・件名
    .CC = myMail.CC
    .Subject = "Re:" & myMail.Subject
    '
    Rem 本文
    .Body = myText & vbCrLf
    Rem 受信トレイアイテムの本文を引用する。
    myBody = ">" & myMail.Body
    myBody = Replace(myBody, vbCrLf, vbCrLf & ">")
    .Body = .Body & myBody
    '
    Rem 返信メールを表示する。/保存する。
    .Display ' .Close olDiscard
    .Send ' 返信メールを送信する。
  End With
  '
myMailReplyOneBttnSubExit:
  Assistant.Visible = True ' 次のボタン押下に備える。
  Assistant.Animation = msoAnimationIdle
  Application.ActiveExplorer.WindowState = olNormalWindow
  '
  Set myMail = Nothing
End Sub ' myMailReplyOneBttn *----*----*    *----*----*    *----*----*    *----*----*

Sub myMailReplyOneInit(myPage As Variant)
  If TypeName(myPage) = "Empty" Then
    myPage = 1
  End If
End Sub ' myMailReplyOneInit *----*----*    *----*----*    *----*----*    *----*----*
inserted by FC2 system