過去ログ

                                Page     750
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼ユーザーフォームの”×”ボタンについて  taka 03/2/15(土) 20:55
   ┗Re:ユーザーフォームの”×”ボタンについて  りん 03/2/15(土) 21:27
      ┗Re:ユーザーフォームの”×”ボタンについて  ぴかる 03/2/15(土) 21:44
         ┗Re:ユーザーフォームの”×”ボタンについて  taka 03/2/16(日) 15:20

 ───────────────────────────────────────
 ■題名 : ユーザーフォームの”×”ボタンについて
 ■名前 : taka
 ■日付 : 03/2/15(土) 20:55
 -------------------------------------------------------------------------
   基本的なことなのかもしれませんが、ご教授御願いします。
ユーザーフォームの右上の“×”マークをクリックすると
ユーザーフォームが閉じられるだけだと思いますが、
これをクリックした時にダイアログで“上書きしますか?”、“はい”、“いいえ”
というのを表示し、どちらを選んでも
エクセルを終了出来るようにしたいのですが、
こんなことは可能でしょうか?
 ───────────────────────────────────────  ■題名 : Re:ユーザーフォームの”×”ボタンについて  ■名前 : りん <rin_doggie@hotmail.com>  ■日付 : 03/2/15(土) 21:27  -------------------------------------------------------------------------
   taka さん、こんばんわ。

>ユーザーフォームの右上の“×”マークをクリックすると
>ユーザーフォームが閉じられるだけだと思いますが、
>これをクリックした時にダイアログで“上書きしますか?”、“はい”、“いいえ”
>というのを表示し、どちらを選んでも
>エクセルを終了出来るようにしたいのですが、

フォームのQueryCloseイベントを使います。
Private Sub CommandButton1_Click()
  'コマンドボタンで閉じる時は保存・終了しないのを試すために配置
  Me.Hide
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
  If CloseMode = 0 Then
   If MsgBox("上書きしますか?", vbYesNo) = vbYes Then _
      ThisWorkbook.Save
   'エクセル終了
   Application.Quit
  End If
End Sub
 ───────────────────────────────────────  ■題名 : Re:ユーザーフォームの”×”ボタンについて  ■名前 : ぴかる  ■日付 : 03/2/15(土) 21:44  -------------------------------------------------------------------------
   takaさん、りんさん、こんばんは。

夜勤中のぴかるです。設備故障がない限り、今晩はどっぷりマクロにつかるつもりです。
りんさんよりちょっち遅れましたが、せっかく作ったので私のも掲載させてもらいます。

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
  
Dim タイトル As String
Dim スタイル As String
Dim メッセージ As String
Dim YESNO As String
  
  If CloseMode <> vbFormCode Then      
    メッセージ = "終了させるでぇ〜!" & vbLf & _
          "上書きさせるか?。"
    スタイル = vbYesNo + vbQuestion + vbDefaultButton1 + vbApplicationModal
    タイトル = " 【 保存どうする? 】"
    YESNO = MsgBox(メッセージ, スタイル, タイトル)
    
    If YESNO = vbYes Then
      ActiveWorkbook.Save
    End If
    Application.DisplayAlerts = False '警告メッセージオフにする
    Application.Quit
  End If

End Sub
 ───────────────────────────────────────  ■題名 : Re:ユーザーフォームの”×”ボタンについて  ■名前 : taka  ■日付 : 03/2/16(日) 15:20  -------------------------------------------------------------------------
   りんさん、ぴかるさん ありがとうございます。
みなさんほんとにすごいですね!
私はまだVBA初心者なのでまた分からないことがあったら
ご教授よろしくお願いしますm(__)m
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 750