Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5951 / 13646 ツリー ←次へ | 前へ→

【48022】エクセルデータを開いた時に… 初心者 07/3/30(金) 20:33 質問[未読]
【48026】Re:エクセルデータを開いた時に… りん 07/3/31(土) 8:24 回答[未読]
【48027】Re:エクセルデータを開いた時に… 初心者 07/3/31(土) 8:59 お礼[未読]
【48029】Re:エクセルデータを開いた時に… りん 07/3/31(土) 9:17 回答[未読]
【48031】Re:エクセルデータを開いた時に… 初心者 07/3/31(土) 10:14 お礼[未読]

【48022】エクセルデータを開いた時に…
質問  初心者  - 07/3/30(金) 20:33 -

引用なし
パスワード
   みなさん こんばんわ。
教えて頂きたいのですが、エクセルデータを開いてシートが出てくる前にメッセージボックス?を出す事は、可能なのでしょうか。
マクロを含んだシートを開く時に、「このファイルはマクロを含んでます…」と出てきて「はい」「いいえ」「キャンセル」のどれかを押さない限りシートが出てこないように、同じような事を別の言葉を入れてしたいのですが、ご教授下さい。
宜しくお願いします。

【48026】Re:エクセルデータを開いた時に…
回答  りん E-MAIL  - 07/3/31(土) 8:24 -

引用なし
パスワード
   初心者 さん、おはようございます。

>マクロを含んだシートを開く時に、「このファイルはマクロを含んでます…」と出てきて「はい」「いいえ」「キャンセル」のどれかを押さない限りシートが出てこないように、同じような事を別の言葉を入れてしたいのですが、ご教授下さい。

Thisworkbookに、以下を記述して保存してから開いてみてください。

Private Sub Workbook_Open()
  Dim resp As Integer, aa As String
  Select Case MsgBox("選んでみてね", vbYesNoCancel + vbQuestion)
   Case vbYes
     aa = "[はい]をクリック"
   Case vbNo
     aa = "[いいえ]をクリック"
   Case vbCancel
     aa = "[キャンセル]をクリック"
   Case Else
     aa = "なぜかその他"
  End Select
  MsgBox aa, vbInformation, ThisWorkbook.Name
End Sub

標準モジュールに以下のように記述しても同じです。
Private Sub Auto_Open()
  Dim resp As Integer, aa As String
  Select Case MsgBox("選んでみてね", vbYesNoCancel + vbQuestion)
   Case vbYes
     aa = "[はい]をクリック"
   Case vbNo
     aa = "[いいえ]をクリック"
   Case vbCancel
     aa = "[キャンセル]をクリック"
   Case Else
     aa = "なぜかその他"
  End Select
  MsgBox aa, vbInformation, ThisWorkbook.Name
End Sub

こんな感じです。
ただし、マクロの警告→分岐メッセージボックスです。

【48027】Re:エクセルデータを開いた時に…
お礼  初心者  - 07/3/31(土) 8:59 -

引用なし
パスワード
   りん さん おはようございます。

何度も助けて頂き、ありがとうございます。
大変申し訳ないのですが、「いいえ」を選んだ時開いたデータを閉じる事は、可能なのでしょうか。
宜しくお願いします。

【48029】Re:エクセルデータを開いた時に…
回答  りん E-MAIL  - 07/3/31(土) 9:17 -

引用なし
パスワード
   初心者 さん、おはようございます。

>大変申し訳ないのですが、「いいえ」を選んだ時開いたデータを閉じる事は、可能なのでしょうか。

Private Sub Workbook_Open()
  Dim resp As Integer
  Select Case MsgBox("選んでみてね", vbYesNo + vbQuestion)
   Case vbYes
     MsgBox "続行", vbInformation, ThisWorkbook.Name
   Case vbNo
     ThisWorkbook.Saved = True '念のため
     '
     If MsgBox("[いいえ]をクリックしたので終了します", vbExclamation + vbYesNo, "エクセルも終了?") = vbYes Then
      Application.Quit
     Else
      ThisWorkbook.Close False
     End If
  End Select
End Sub

こんな感じです。

【48031】Re:エクセルデータを開いた時に…
お礼  初心者  - 07/3/31(土) 10:14 -

引用なし
パスワード
   りん さん おはようございます。

本当にありがとうございます。思い通りの制御をしてくれます。
何度もありがとうございました。
また、わからない事があれば質問させて頂きたいと思いますので、その時も宜しくお願いします。

5951 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free