• ベストアンサー

エクセルのツールバーの上書き保存のアイコンを無効にしたい

いつもお世話になります。初心者ですのでよろしくお願いします。 複数の人で使用する共有のエクセルファイルがあります。 このファイルはデータ入力し印刷する目的のものですので、使用後上書き保存をさせたくないのですが、誤ってツールバーの上書き保存のアイコンを押してしまう人が何人もいます。 そこで、ツールバーの上書き保存のアイコンを押しても保存しないように設定したいのですが、できますでしょうか? よろしくお願いします。

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

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

haasan99 さまへ Wendy02 です。すみません。早くも#5の修正です。 キーの入り口が消えても、出ていたままになるので、それは、ちょっと格好が悪いです。 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) If ThisWorkbook.Worksheets("Sheet1").Range("A100").Value = 123 Then Application.EnableEvents = False Range("A1").Select '←ここを加えます。 ThisWorkbook.Save Application.EnableEvents = True ThisWorkbook.Worksheets("Sheet1").Range("A100").ClearContents Exit Sub End If Application.DisplayAlerts = False Cancel = True Application.DisplayAlerts = True End Sub それから、上記のコートがあっても、保存したという擬似情報は必要です。右上の「×」ボタンの時に、ないと都合が悪いです。 Private Sub Workbook_BeforeClose(Cancel As Boolean) ThisWorkbook.Saved = True End Sub

haasan99
質問者

お礼

Wendy02さま、ご親切な回答をいただき大変ありがとうございました。 私自身、とても勉強になりました。 できることなら、郷土の名産でもお礼に差し上げたいところですが、ここはポイントでご了承ください。m(-.-)m

その他の回答 (5)

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

こんにちは。 >ただ、コードの上半分だけでいいみたいです。全部コピーすると「End Withに対する>Withがありません」のエラーになりました。 ごめんなさい。 End With は、余分でした。 ちょっと、別の組み合わせも考えていましたもので、残し忘れしてしまいました。 >もし、よろしければ、保存時だけ、保存はされないような方法も教えていただければ幸いです。 Private Sub Workbook_BeforeClose(Cancel As Boolean)  Application.CommandBars("Standard").FindControl(, 3).Enabled = True  ThisWorkbook.Saved = True '←これを加える End Sub ThisWorkbook.Saved = True  意味は、保存しました、という擬似情報を与えることで、保存しないようにすることです。 次は、隠し技ですが、 ある一定の条件以外は、保存そのものが出来ないようにしてしまいます。100%保存できないと、設定も保存できなくなるので、一定のキーワードを入れれば、保存できるわけです。 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)  If ThisWorkbook.Worksheets("Sheet1").Range("A100").Value = 123 Then   '↑ここのキーコードを入れます。例:Sheet1 A100 に 123 と入れる。    Application.EnableEvents = False    ThisWorkbook.Save    Application.EnableEvents = True    ThisWorkbook.Worksheets("Sheet1").Range("A100").ClearContents    Exit Sub  End If  Application.DisplayAlerts = False  Cancel = True  Application.DisplayAlerts = True End Sub もしも、プロジェクトをロックしたら、設定した人しか保存方法は分りません。読み取り専用になっていません。ちょうど、ExcelのEasterEggのカギに似ています。(未だ、私は開け方を知りませんが。) 前回のThisWorkbook の場所にこのコード(Private ~ End Sub)を貼り付けます。 使い方: 上記では、Sheet1のA100 に、123 というキーを入れた時だけ、保存できます。キーは、ワークシート上には残りません。キーの入れる場所は、お好きなところに。 この設定自体が分らなくなったら、マクロを使えないように、セキュリティを「上」にしてください。

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

こんにちは。 以下のようにしてみたらいかがでしょうか? Alt +  F11 (Altを押しながらF11)を押すと、Visual Basic Editor 画面が出てきます。 左上側にプロジェクトエクスプローラの窓の中に、ThisWorkbook があったら、それをダブルクリックして、開けます。もし、窓が出ていないようでしたら、Ctrl + R を押すと通常左側に出てきます。 そして、以下のコードを貼り付けます。 Private Sub Workbook_Open()  Application.CommandBars("Standard").FindControl(, 3).Enabled = False End Sub Private Sub Workbook_BeforeClose(Cancel As Boolean)  Application.CommandBars("Standard").FindControl(, 3).Enabled = True End With End Sub 再び、Alt + F11 で、画面を閉じ保存します。このブックを再びオープンしたときには、アイコンは使えなくなっています。閉じるとまた元に戻ります。 このブックを開けている間は、上書き保存のアイコンは、灰色になって使えません。 ただし、メニューのファイルから行うことはできますから、保存自体が出来ないようになっているわけではありません。 他にも、読み取り専用ではなく、保存時だけ、保存はされないようにも出来ます。もし、よかったら、そちらもお教えします。

haasan99
質問者

お礼

ご回答ありがとうございました。 おっしゃるとおり、ツールバーの上書き保存のアイコンが灰色になって使えなくなりました。これだと私の希望どおりです。 ただ、コードの上半分だけでいいみたいです。全部コピーすると「End Withに対するWithがありません」のエラーになりました。初心者ですので何のことやらわかりません(+.+) もし、よろしければ、保存時だけ、保存はされないような方法も教えていただければ幸いです。

  • rokusan18
  • ベストアンサー率42% (6/14)
回答No.3

こんにちは。 操作は簡単ですよ。 シートを保護するには上書き保存用のパスワード設定をするのが良いかと思います。 手順です。 設定したいエクセルシートを開きます。    ↓ ツールバーのファイルから名前をつけて保存を指定。    ↓ その際にツールバー右にあるツールから全般オプションを選択。    ↓ 保存オプションのウインドが開き書き込みパスワードの設定が出来ます。 これで上書きからシートを保護できると思います。

haasan99
質問者

お礼

ご回答ありがとうございます。参考になりました。 できればパスワードを利用しない方法があればと思います。

  • komet163
  • ベストアンサー率51% (22/43)
回答No.2

VBA でブックにそういった機能を盛りこむことはできますが、 ファイルのプロパティを開いて、「読み取り専用」に設定するのが普通です。

haasan99
質問者

お礼

ご回答ありがとうございます。 できれば保存のダイアログは出したくないのですが…

  • muushuke
  • ベストアンサー率39% (151/387)
回答No.1

方法その1 そのファイルを読取専用の属性にする。 ファイルを右クリックし、プロパティを開きます。 読取専用というチェックボックスがありますのでこれにチェックを入れます。 すると上書き保存しようとしても名前を付けて保存のダイアログが出るので、もとのファイルが上書きされることはありません。 方法その2 ファイルをテンプレートにする。 そのファイルを開き、名前を付けて保存する。 そのときにファイルの種類をテンプレート(*.xlt)にする。 すると上書き保存しようとしたときにやはり名前を付けて保存のダイアログが出ますので上書きされることはありません。 直接の解決方法ではありませんが参考になればと思います。

haasan99
質問者

お礼

早速のご回答ありがとうございます。 できれば保存のダイアログも出したくないのですが… 参考にさせていただきます。

関連するQ&A

  • Excel 上書きは可能、新規保存は不可能にしたい

    共有フォルダにあるファイルに複数人でアクセスできるようになっています。それぞれが入力して上書き保存できるようにしていますが、勝手に名前を付けて保存されてしまい困っています。上書き保存はできるけど、新規保存はできないようにマクロを組みたいと考えていますが、どのようにすればいいのでしょうか?教えてください。

  • エクセルでの上書き保存について

    こんにちは。 会社で見積書をエクセルで作っています。 会社名の入った空欄の見積書をたくさん作っておき、そこにエクセル初心者の人が入力して上書き保存という形をとりたいと思っています。 現場名はその都度変わってきますので、見積りで入力した現場名をファイル名にそのまま変更することは出来るのでしょうか? 入力する人が「名前を付けて保存」でファイル名をいちいち入力しない方法がありましたら教えてください。

  • 「印刷」アイコンと「上書き保存」アイコンを間違えて押してしまう

    EXCEL2000です。 上書き保存したい時に「上書き保存」アイコン(フロッピーのような絵)をクリックしたつもりが間違えて、「印刷」アイコン(プリンタの絵)を押してしまうことがあります。 問題は、「上書き保存」アイコンと「印刷」アイコンがとなりあっていることにあります。 この「印刷」は確認のダイアログボックスを出さずに印刷を始めるため、 紙を無駄にしてしまいます。 わざわざ確認を求めずに印刷してほしい場合もあるので、このアイコンを消したくはありません。 メニューの「ツール」―「ユーザ設定」の「オプション」で、 大きいアイコンにすれば間違えて押すことはないのでしょうが、 ものすごくうざったく感じます。 なんとかアイコンの順番を変えて、間違えて押しても印刷しないようにはできないでしょうか。 #上書きは Control+s で行う、という方針もあるにはあるんですが。。。。

  • Excelの上書き保存ができない。。。

    こんにちは。 ネットワーク上の共有フォルダのExcelを変更して保存しようとする と、名前を付けて保存のボックスが表示されてしまい、上書き保存 ができません。 同じ共有フォルダのwordやtxtでは上書き保存できます。 また、他のPCでは上書き保存できるので、私の使用しているPCの問題 なのでしょうか。。 変更保存できない為、仕事にならず、すごく困っています。 バージョンはExcel2003です。 どなたか、よろしくお願いします。

  • エクセルの「元に戻す」を上書き保存後は無効にしたい

    エクセル2007を使用しています。 2007以前のVer.でのエクセルでは上書き保存などをすると、保存した時点で「元に戻す」が不可能になっていたと思います。 しかし、2007Ver.から、上書き保存した時点よりも遡って「元に戻す」が可能になっています。 これを「保存した時点で元に戻す」を無効にすることは可能でしょうか。 (つまり「元に戻す」のアイコンがグレーアウトの状態になる) 現在での対策として、上書き保存した後に一度BOOKを閉じ再度開いていますが、たまにパソコンが重くなるなどすると非常にストレスを感じています。 質問内容がうまく伝わっておりますでしょうか。また、カテゴリはあっていますでしょうか。 なにか「元に戻す」を無効化する方法はありますでしょうか。

  • エクセルを閉じる時に保存メッセージを表示させずに保存しないで閉じるには

    いつもお世話になります。初心者ですのでよろしくお願いします。 あるエクセルファイル(定型の表、セルはブランク)で毎回違うデータを入力して印刷しています。 印刷後そのファイルを閉じる際に、ツールバーの右側の×をクリックして閉じますが、データを入力しているのでいつも「'ファイル名xls'への変更を保存しますか?」というメッセージが表示され「いいえ」を選択して閉じています。 このファイルは、データを入力して印刷することが目的なので、×をクリックしたらこのメッセージを表示させないで、データも保存せずにファイルを閉じたいのですが、そのような設定はできるでしょうか? よろしくお願いします。

  • エクセル上書き保存が出来ない

    家のパソコンエクセル2007で作成したファイルをメモリースティクで保存し、会社のパソコンエクセル2003で開くと読み込み専用になっていて上書き保存が出来ません。 ファイルの「プロパティ」から「読み取り専用」を解除しようとしても初めからチェックが入ってません。 そもそも共有出来ないのでしょうか。 以上よろしくお願いします。

  • エクセル2003の上書き保存につきまして

    よろしくお願いいたします。 エクセル2003を使用しておりますが、上書き保存を行うたびに使用しているファイルの上書きと同時にTMPファイル(おそらく一時ファイルと思われます)が作成されます。作成されたTMPファイルを削除しても特に今までのところ問題なく、もとのファイルはちゃんと上書きされております。上書き保存を10回行った時などは、もとのファイルに加えてTMPファイルが10個も作成されてしまいます。職場のエクセル2003やもう一台あるPCのエクセル2003ではこのような事は起こりません。ツールからオプションを立ち上げていろいろとやってみましたが、どうにもうまくいきません。どなたか対処方法をご存知の方がおられましたら、お忙しいところ申し訳ございませんがご回答いただければ幸いです。よろしくお願いいたします。

  • Excel ファイルが上書き保存できません。

    Win 10 home で、マイクロソフトExcel 2007 を使っています。 先日まで問題なく上書き保存できたのですが、今日、ファイルを編集後、上書き保存したところ、 「●●●への変更は共有違反のため、保存されませんでした。別のファイルに保存し直してください。」 というExcelのエラーメッセージが出てきてしまい、上書き保存することができません。 該当のエクセルファイルは、Dropbox内に保存しています。 Drobobox内の、Word ファイルや、Excel 以外のファイルは、問題なく上書き保存することができますが、Excel のみ上書き保存ができない状況です。 同じ環境で、数年間同じ作業をしていたのですが、今回、初めてこの問題が発生しました。 1つ考えられるのは、1週間くらい前に、HDDをSSDにクローンして、換装したことです。換装は問題なく完了してましたが、その後、Excel ファイルを編集することがなかったので、今日まで問題に気づきませんでした。 問題の解決方法をアドバイスいただけると助かります。 よろしくお願いいたします。

  • Excelで上書き保存時の確認をはずしたい。

    またお世話になります。 以前EXCELのマクロに付いてココで質問させて貰った物です。 皆様のおかげで無事エクセルVBAを保存時に消したいという質問 (http://okwave.jp/qa3859010.html 参照)は 解決できました!ありがとうございました。 で、質問なのですが、 通常、上書き保存をする時はファイル→上書き保存をすると 何も聞かずに保存がされると思います。 が、VBAを保存時に消したファイルに関して上書き保存をかけると ファイル’****.xls’は前回保存された後、ほかのユーザーによって変 更された可能性があります。操作を選択してください ・コピーを保存する(S) ・変更を上書きする(O) という警告?が出てきます。 現状変更を上書きするを選択して上書き保存をするようにしていますが、 なんで出てくるのでしょうか? そして、どうやったら出ないように出来るのでしょうか? マクロを保存時に消したファイルだけこの現象になり 新規で作ったファイルなどは何も警告が出ずに上書き保存が出来ます。 ちなみにツール-ブックの共有-編集の”複数のユーザーによる同時編集と、ブックの結合を許可する(A)”にチェックマークは付いていません。 過去(2005年頃に同じような質問が検索であったのですが、答えが 確定していなかったので質問させて頂きます。)

専門家に質問してみよう