こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

EXCELメニューのツールにある操作をVBAで行わせたい

EXCEL 2003のマクロ(VBA)ですが、プログラミングですので、こちらに投稿いたします。

以下の2点をVBAで実行させたく、ネットでくまなく調べているのですが、サンプルソースすら見つけられませんでした。

どなたか、ご存知の方がいらっしゃいましたら、ご教授くださいませ。
よろしくお願い致します。

------------
ツール⇒オプション⇒セキュリティ⇒□読み取り専用を推奨する
のチェックON or OFFさせた後、[OK]を実行したときと同じ操作をさせたい。

ツール⇒ブックの共有⇒□複数のユーザーによる同時編集とブックの統合を許可する
のチェックを外した後、
「このファイルの保護を解除してもよろしいですか?」のメッセージを無視し、
[はい]を実行したときと同じ操作をさせたい。

投稿日時 - 2008-07-03 16:50:09

QNo.4148522

困ってます

質問者が選んだベストアンサー

[DisplayAlerts プロパティ]について調べてみると良いでしょう。
それ以外のコードはマクロ記録がヒントになると思います。

Sub try1()
  Dim flg As Boolean
  
  flg = (MsgBox("読み取り専用推奨?", vbYesNo) = vbYes)
  With ThisWorkbook
    Application.DisplayAlerts = False
    .SaveAs .FullName, ReadOnlyRecommended:=flg
    Application.DisplayAlerts = True
  End With
End Sub

Sub try2()
  With ThisWorkbook
    If .MultiUserEditing Then
      Application.DisplayAlerts = False
      .ExclusiveAccess
      Application.DisplayAlerts = True
    End If
  End With
End Sub

投稿日時 - 2008-07-03 19:05:53

お礼

DisplayAlertsは知っておりました。
vbYesかvbNoを与えることで、メッセージボックスのボタンを制御できるわけですね。
ブック共有は、MultiUserEditingとExclusiveAccessメソッドで制御できるわけですね。
サンプルソースを見て、より理解できました。
どうも、ありがとうございました!

投稿日時 - 2008-07-03 20:00:46

ANo.2

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

メニューバーの「ツール」-「マクロ」-「新しいマクロの記録」を行なった後、
Excelのメニューツールにある操作を行なえば、その処理のマクロが作成されるので、
それを参考に調べたり修正してみたりすれば解決につながるのでは?

投稿日時 - 2008-07-03 18:59:35

お礼

読み取り専用については、マクロ記録のコードを参考にコーディングエディット可能なのですが、ブック共有は記録されないのです。
マクロ記録は便利なのですが、初歩的なコードしか生成してくれないので、判定やループ、配列など凝ったコードは己でコーディングしてやらなければならないのです。
ご回答ありがとうございました。

投稿日時 - 2008-07-03 19:54:52

あなたにオススメの質問