• ベストアンサー

エクセルでツールバーの中の名前をつけて保存を表示しない

エクセルで作ったファイルを人に公開する時に、ツールバーの中にある名前をつけて保存を表示されないようにできませんでしょうか? 一見してないように見えればそれでよいのですが、ツールバーをコントロールするようなマクロとかないでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • takana_
  • ベストアンサー率44% (21/47)
回答No.5

#4です これで試してみてください。。 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If SaveAsUI = True Then Call MsgBox("このファイルは保存できません") Cancel = True End If End Sub

TAM3TAM7
質問者

お礼

ありがとうございました。 今まで何度も色んな形で質問しましたが、回答がありませんでした。 助かりました。

その他の回答 (4)

  • takana_
  • ベストアンサー率44% (21/47)
回答No.4

#3です メッセージを出力したほうがより親切でしょう。 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Call MsgBox("このファイルは保存できません") Cancel = True End Sub

TAM3TAM7
質問者

補足

ありがとうございます!大発見です。 ただ、実際は名前をつけて保存のみ禁止させたいのですが、そういった方法はありませんでしょうか? 再三すみません。よろしくお願い致します。

  • takana_
  • ベストアンサー率44% (21/47)
回答No.3

VBAのマクロでプロジェクトから「ThisWorkbook」を選択し、 以下のマクロを入力してください。 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Cancel = True End Sub

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 >ツールバーの中にある「名前をつけて保存」を表示されないようにできませんでしょうか? それは、保存をさせない目的なのですか?それとも、ツールバーの中の「名前を付けて保存」の表示だけを消すのですか?表示だけなら、以下のようになります。 Sub Test1()  Application.CommandBars("Standard").FindControl(, 3).Visible = _  Not Application.CommandBars("Standard").FindControl(, 3).Visible End Sub こうすれば、トグルになります。なお、ID番号で指定するか、名称で指定するかどちらかですが、名称は、日本語バージョンに限ってしまいます。また、Controls のインデックスの番号は任意ですし、バージョンによって変わってしまいます。(Excel 2007 は別ですが)

TAM3TAM7
質問者

補足

保存させないのが目的です。 マクロで表示させないようにすれば保存できないようにできるかな、と思ったのですが、表示よりツールバーを復元できてしまうのですね…。 困りました。

  • hige_082
  • ベストアンサー率50% (379/747)
回答No.1

操作をマクロの記録で記録しました Macro1が、名前をつけて保存を表示しない Macro2が、名前をつけて保存を表示する Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2009/1/10 ユーザー名 : ' ' Application.CommandBars("File").Controls(5).Delete End Sub Sub Macro2() ' ' Macro2 Macro ' マクロ記録日 : 2009/1/10 ユーザー名 : ' ' Application.CommandBars("File").Controls.Add Type:=msoControlButton, ID:=748, Before:=5 End Sub それとも、操作自体が分からないのか? 参照してください http://www.excel7.com/tool_bar.htm#index5

関連するQ&A