エクセル保存を制限する方法

このQ&Aのポイント
  • 自宅でExcel2002VBA、職場でExcel2003VBAを使用している場合、エクセルファイルの保存を制限する方法について教えてください。
  • 職場で原紙ファイルに書き込み保存してしまう人がいるため、読み取り専用モードで原紙ファイルを開く手順を設けていますが、名前を変えて保存することができてしまいます。エクセル保存を行えないように制限する方法はありますか?
  • 保存を含めてすべての操作ができないようにする方法があれば、教えてください。
回答を見る
  • ベストアンサー

エクセル保存出来ない様にするには。

エクセル保存出来ない様にするには。 お世話になります。 自宅でExcel2002VBA、職場でExcel2003VBAを使用しています。 職場で原紙ファイルに書き込み保存してしまう人がいる為、その対策として ボタンを設けて読取専用モードで、原紙ファイルを開く手順にしています。 Workbooks.Open Filename:=totoFullName, ReadOnly:=True 確かに上書き保存は出来ませんが、名前を変えて保存しますかメッセージが表示され保存可能な状態になってしまいます。 名前を変えて保存を含め、全ての保存が出来ない用にする方法がありましたら 教えて頂きたくよろしくお願いします。

  • tt246
  • お礼率91% (116/127)

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

  • ベストアンサー
noname#145943
noname#145943
回答No.1

マイクロソフトエクセル(excel)-テンプレートとして保存する事でひな形として活用出来る http://ag5.net/~nino/excel-6.html これなら本体はいつも上書きされることはありません。

tt246
質問者

お礼

お返事ありがとうございます。 早速試してみました。使えそうです。 これで職場の様子を見たいと思います。

その他の回答 (1)

回答No.2

原紙ファイルのブックに対し読み取り専用にする方法 1. ファイル - 名前を付けて保存 2. ツール - 全般オプション 3. 書き込みパスワードを設定する (ついでにバックアップファイルを作成するにしておくといいかも) 原紙ファイルのファイルに対し読み取り専用にする方法 Excelファイルを右クリック - プロパティ [レ]読み取り専用 にチェック

tt246
質問者

お礼

お返事ありがとうございます。 職場では、 原紙ファイルの書式をメンテしている人 原紙ファイルを使用している人 VBAで環境を作っている私 の調整が上手くいくか検討してみます。

関連するQ&A

  • エクセルのマクロでファイルを自動で保存するには?

    こんにちは。お世話になります。 エクセルのVBAマクロ文の書き方でお知恵を拝借したいと思います。 さて、私のかかる業務でエクセルファイルで営業実績を出しています。 COBOLで作ったファイルをCSVにインポートして そのCSVの値を別のエクセルファイルで引っ張るという手順を踏んでいますが、 それをマクロで動かすとエクセル上で『保存しますか?』と聞いてきます。 答えは『はい(Y)』で確定しているので、その命令文さえ組み込められればいいのですが、 その命令文の書き方が判りません。 (解決したいVBAマクロの命令文) Workbooks.Open Filename:="D:\(Aファイル).csv" Workbooks.Open Filename:="D:\(Aファイルの値を引っ張るBファイル).xls" ThisWorkbook.Saved = True (ここで聞いてくる注意に自動で『Y』を入れたいと思っています。) ActiveWindow.Close ActiveWindow.Close 以上、お知恵を拝借したく、お願いいたします。

  • Excelの上書き保存を禁止させる

    Excelで原紙として一つファイルを作ったのですが、 それを上書きできないようにはできないでしょうか。 原紙はそのままで、 名前を付けて保存は構わないのですが、上書きされてしまうと 原紙がめちゃくちゃになってしまうので困っています 何がいい方法はないでしょうか

  • サーバー上のブックを開けない時(エクセルVBA)

    ネットワーク障害などでサーバー上のエクセルブックが開けない時、かなり待たされてから次のメッセージが出ます。 実行時エラー'1004' 'Open'メソッドは失敗しました。'Workbooks'オブジェクト しかもその間、Ctrl-Breakも受け付けてくれません。 正確に待ち時間は計ったわけではありませんが、10分くらいでしょうか。 なんとかこれを回避して、早い時間にエラーメッセージを出してコントロールを戻すことはできないでしょうか? 以下のVBAでオープンしています。 Workbooks.Open Filename:=myFileName, Readonly:=True よろしくお願い申し上げます。

  • Excel VBAで異なるファイル間のコピー

    異なるファイル間で値のみをコピーしたいです。下記の様な感じです。 hoge1.xlsのA1からA10のセルの値のみをhoge2.xlsのB1からB10へコピーする。 以下の様に書いてみたのですが、数式がコピーされてしまいます。 VBAをやったことがなく、今ネットで30分ほど見て書いてみたので 根本的に理解していません。簡単な書き方を教えていただきたいです。 Sub test() Dim Fname As String Fname = "hoge1.xls" Workbooks.Open Filename:=Fname, ReadOnly:=True Dim range1 As Range Set range1 = Worksheets("Sheet1").Range("A1:A10") range1.Copy Destination:=Workbooks("hoge2.xls").Worksheets("Sheet1").Range("B1:B10") End Sub また、ファイルを開いたり閉じたりは必要なのでしょうか? Workbooks.Open Filename:=Fname, ReadOnly:=True を書かずに、いきなり Set range1 = Workbooks("hoge1.xls").Worksheets("Sheet1").Range("A1:A10") はダメなのでしょうか?? よろしくお願いします。

  • 【VBA】ファイルを開く→シートをコピー→保存

    VBAを使って、複数ファイルを一気に編集したいです。 あるフォルダ内に、複数のエクセルブックと VBAを登録したブックが入っています。 VBAの内容としては、 (1)フォルダ内のエクセルファイルをすべて開く (2)各ファイル1ページ目のシートを複製(コピー)する (3)上書き保存して閉じる (4)VBAを登録したブックを閉じる です。 下記のように書いてみたのですが、まったく動かないので どこが間違っているかのアドバイスをいただければと思います。 ----------------------------------------------------- Sub test() Dim Myfile, Filepath As String Filepath = ThisWorkbook.Path 'フォルダ名取得 Myfile = Dir(Filepath & "\") 'フォルダ内のファイル名取得 Do While Myfile <> "" Workbooks.Open Filename:=Filepath & "\" & Myfile Workbooks(Myfile).Activate Sheets(1).Select Sheets(1).Copy after:=Sheets(1) Workbooks(Myfile).Close SaveChanges:=True Myfile = Dir() Loop ThisWorkbook.Close SaveChanges:=True End Sub ----------------------------------------------------- よろしくお願いいたします。

  • VBAでファイルを閉じる時に、他のエクセルファイルを閉じるには?

    VBAで、 Private Sub Workbook_Open() Workbooks.Open FileName:="バス時刻表.xls",ReadOnly:=True End Sub で、バス時刻表.xlsを自動的にオープンした後、 閉じる時に、 Private Sub Workbook_BeforeClose(Cancel As Boolean) Workbooks("バス時刻表.xls").Close End Sub で記述したら、エラーとなります。 どのようにすればいいのでしょうか? よろしくお願いします。

  • Excel VBA 自身を非表示にした時の解除方法

    Excel2010でVBAのコードデバッグ中に Excelアプリケーションのウインドウの中に Excelブック(シート)が表示されなくなってしまったため 一度、Excelアプリケーションを終了して 再びデバッグ中のExcelブックを開いたのですが それでも Excelアプリケーションのウインドウだけが表示されて、 開きたいExcelブック(シート)は表示されません。 おそらく、VBAのコードの中の Set wb = Workbooks.Open(fileName:=filePass, ReadOnly:=True) ActiveWindow.Visible = False の ActiveWindow.Visible = False のコードが 自分自身を非表示にしてしまったのではないかと思われます。 イミディエイトウィンドウに ActiveWindow.Visible = True と入力してもウインドウが表示されていないので エラーになります。 どのようにすれば非表示の状態から 表示の状態に戻すことができるのでしょうか。

  • Excelだけ保存をするときに上書きできません

    もう1年になりますがExcelだけ上書きできません。「上書き保存」にしても「Excel1」が「Excel11」となって名前を入れて保存になってしまいます。保存をしていた「Excel1」のファイルをクリックし表示しただけで「Excel11」になってしまうのはどうしたらいいですか?

  • excell2007におけるVBAの変更点

    次のvbaがexcell2007ではエラーとなります。どうしてなのでしょうか。 If Workbooks(fileName$).ReadOnly = True Then またこのようなことが掲載されているwebまたは本を教えていただきたく思っています。 よろしくお願いします。

  • エクセルVBAでFileNameを使用してブックを開き又は保存する方法

    現在の構文は以下の通り作成し使用しています。 Dim FileName1 FileName1="\\C\台帳.xls" Workbooks.Open FileName1 で目的のブックを開きます。  更新等の作業をした後ブックを保存する場合 Workbooks("台帳.xls").Close Savechanges:=true  で保存していますが、 (1)「FileName1」を使用して保存する方法を教えて頂きたいのですが可能でしょうか。 (2)同時に「FileName1」を使用してブックをアクティブにしたりセレクトする方法も教えて頂きたいのです。 ブックをセーブ・アクティブ・セレクトするたびにブックの名前をいちいち入力していますが、「FileName1」を使用してブック名の入力手間を減らしたいのです。

専門家に質問してみよう