• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マクロ無効時に特定のシートを表示させない方法)

マクロ無効時に特定のシートを表示させない方法

このQ&Aのポイント
  • EXCEL[2010]上で印刷不可をマクロ(Visual Basic)設定したファイルを作成しております。しかし、困ったことに、ファイルを開く時にマクロを無効化されてしまうと、印刷が可能となってしまうことに気が付きました。そのため、「エクセル無効で開く場合は、sheet1(=何も情報を記載しない)を開き、有効で開いた場合にのみsheet2(=情報あり)を表示する」設定ができないものか悩んでおります。
  • 過去の質問でも挙がっておりましたので、参考に試行錯誤してみたもののうまくいきません。どなたかお助けいただけないでしょうか
  • ちなみに、印刷不可の設定については、以下のとおり書いております。Private Sub Workbook_BeforePrint(Cancel As Boolean) MsgBox "このExcelシートは、印刷できません", vbExclamation Cancel = True End Sub お手数をおかけします。勉強不足と重々承知しておりますが、何卒ご教示いただければ幸いです。

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

  • ベストアンサー
  • dogs_cats
  • ベストアンサー率38% (278/717)
回答No.1

下記サイトにマクロを有効しないとシート編集が出来ないようにする方法が記載されていますので参考にされては如何でしょう。 http://www.saka-en.com/office/vba-open-the-macro-enabled-forcibly/

yuitarebuu
質問者

お礼

dogd_cats様 リンクのご紹介ありがとうございます。 まさにこの方法です! 実際に(私のスキルで)できるか試してみようと思います。 まずはお礼まで。ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.3

にしても難問ですね ブックを閉じる前、詰まり後処理前、 シートを見せている時に 別名保存されるのは 防げるのですか? 保存され マクロ無効で開かれたら 丸見えですよね? いや~ 確かに難問ですね 複数シートあれば 隠しても探されたら ばれるし 万全じゃないですよね? やはり VBAの介入がなくても ネイティブなエクセルの機能で 必ず自動的に 見れない状態に 戻る仕掛けが 必要ですよね? 難問ですね

yuitarebuu
質問者

お礼

Nouble様 ご回答ありがとうございます。 実情をお話ししますと、本件エクセルファイルは社内規定上、印刷不可の“設定”としなければならないものなのです。。。 閲覧者が善意且つそこまで詳しい方ではないため、ファイル名に「印刷厳禁」とでも書いておけばよいとは思うのですが・・・。 なので、ご配慮いただいたレベルまでは現状必要ないかとはおもいますので、 (1)マクロ無効時はsheet2(=情報あり)にパスワード設定 (2)マクロ有効時はsheet2(=情報あり)を表示+印刷不可設定 の線でできないか検討してみたいと思います。 (そもそもできないことをやろうとしているのかもしれませんが…。)

全文を見る
すると、全ての回答が全文表示されます。
  • Nouble
  • ベストアンサー率18% (330/1783)
回答No.2

出来るかは 私も勉強不足で 解らないのですが、 アイディアで よければ シート2に 難解なパスワードブロックをかけて 閲覧不可にし、併せて隠す マクロでパスワードを解除し 閲覧だけしてもらう 保存は禁止する シート1に 変更したい内容を記載してもらい マクロのみで 変更、保存可、 と、する できますかね?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excel 特定のシートを印刷不可にする方法

    教えてください。 Excelで、特定のシートを印刷不可にする方法はありますでしょうか? Book全体で印刷不可にする方法は、以下 '========================== Private Sub Workbook_BeforePrint(Cancel As Boolean) Cancel = True '※1 タイトル = "ペーパーレス運動実施中!" スタイル = 48 'vbexclamation メッセージ = "印刷しないでください" 応答 = MsgBox(メッセージ, スタイル, タイトル) End Sub '========================== で可能なことは認識しています。 よろしくお願いします。

  • Excelのシートを印刷不可(禁止)にするにはどうしたら?

    同様の質問があると思うのですが、どうもうまくいきません。 Windows2000 Excel2000 で下記をコピーして入れてみたのですが、 印刷禁止にならないのです。 もしかすると、マクロを使えていないのかも知れません。 誰か、“猿”でもわかるぐらい、Excelシートの印刷禁止の方法を 優しく解説して頂けないでしょうか? 宜しくお願い致します。 (特にマクロをどう使ったらいいのかわかっていないです) Private Sub Workbook_BeforePrint(Cancel As Boolean) MsgBox "このExcelシートは、印刷できません", vbExclamation Cancel = True End Sub

  • エクセルのsheet1つだけの印刷制御について

    win xp office2003を使用しています。 全てのsheetの印刷制御は、下記の方法でできるのはわかっているのですが..... ************************************************* Private Sub Workbook_BeforePrint(Cancel As Boolean) MsgBox "このExcelシートは、印刷できません", vbExclamation Cancel = True End Sub ************************************************* 1つのシートだけを印刷できないようにするにはどうしたら良いでしょうか?

  • エクセルの特定シート(複数)を印刷不可にするVBA

    教えてください。VBA超初心者です。 エクセルで、特定の複数のシート(指定シート)を印刷不可にする方法はありますでしょうか? いろいろと調べてみたところ、特定シート(一つ)を指定する場合はわかりました。 BBシート印刷不可。 ========================== Private Sub Workbook_BeforePrint(Cancel As Boolean) If ActiveSheet.Name <> "BB" Then Exit Sub MsgBox "印刷できません" Cancel = True End Sub '========================== できれば、3つあるシートのうち、 AAシートは印刷可能。 BBシートとCCシートは、印刷不可。 としたいのです。 ご伝授いただけると助かります。よろしくお願いします。

  • エクセル マクロ使用時の読み込み設定について

    いつもお世話になります。 先ほど、マクロについて教えて頂き、動作は可能となり喜んでいましたが、エクセルのファイルを開く際、 「セキリュティ警告」にて「マクロを無効とする」「マクロを有効とする」「詳細」 のメッセージが表示されます。 「マクロを無効とする」を選んだ場合、マクロが無効となってしまうので、これを他者に選択されると「印刷設定を禁止」したマクロが意味をなさなくなってしまいます。 何か、良い方法ありますでしょうか?宜しくお願い致します。 ちなみに、マクロは Private Sub Workbook_BeforePrint(Cancel As Boolean) z = "1111" x = InputBox("印刷注意 パスワード") If x = z Then Else Cancel = True End If End Sub にて、閲覧時に「パスワードを入力しないと印刷できない設定」の部分で入力しています。

  • 印刷したくない列を非表示にするマクロなのですが、

    印刷したくない列を非表示にするマクロなのですが、 印刷後、あらためて列を再表示する必要があり大変手間です。 印刷後も自動で再表示する方法をご教示いただきたく存じます。 Private Sub Workbook_BeforePrint(Cancel As Boolean) Columns("A:C").Select Selection.EntireColumn.Hidden = True End Sub

  • エクセルのマクロを有効にしないと表示しないようにする方法

    エクセルでマクロを有効にしないと、シートが表示されないように設定したいのですが、下記の様に(ほかの方の投稿から)入力すると三行目がエラーになります。素人なので、よくわかりません。どのようにしたら、マクロを有効にしないと全てのシートを表示しないようにできるのでしょうか? ご教授いただけますでしょうか Private Sub Workbook_BeforeClose(Cancel As Boolean) Sheets(\"Sheet1\").Visible = False Sheets(\"Sheet2\").Visible = False ActiveWorkbook.Protect Password:=\"error123\" End Sub Private Sub Workbook_Open() ActiveWorkbook.Unprotect Password:=\"error123\" Sheets(\"Sheet1\").Visible = True Sheets(\"Sheet2\").Visible = True Sheets(\"Sheet1\").Select End Sub

  • 選択しているシート印刷時にメッセージを表示させたい

    こんな感じになるかと思うのですが、 Private Sub Workbook_BeforePrint(Cancel As Boolean) MsgBox "メッセージ" With ActiveWorkbook.Sheets("sheet1") end sub 新しくシートを作り直すと、シート名with ActiveWorkbookのところで選択でいないため、 エラーになってしまいます。 この部分を現在選択しているシートに変えるにはどのようにすれば可能でしょうか。 お時間ある時教えていただければ幸いです。 よろしくお願い致します。

  • エクセル マクロ 印刷禁止設定について

    いつもお世話になっております。 職場の当該部署で作成している「エクセル」でのファイルが、他部署でも閲覧できるネットワーク環境にあるのですが、「当該部署では印刷が可能であるが、他部署は閲覧のみで印刷は不可」という設定にしたく、質問させて頂きました。 理想は、印刷時に「パスワード」を入力することで印刷が可能になる設定 にしたく、ネットで色々情報を探しましたところ、下記のようなマクロがありました。 Private Sub Workbook_BeforePrint(Cancel As Boolean) Password = "1111" x = InputBox("印刷注意 パスワード") If x = Password Then Else Cancel = True End If End Sub 試した所、「印刷」をおすと「印刷注意 パスワード」の表示があり、下に入力があるため「1111」と入力をするんですが、印刷できずそのまま元のエクセル画面に戻ってしまいます。 私が理想としている マクロとは違うのでしょうか?何か、良いマクロがあればご教授頂ければ幸いです。宜しくお願い致します。

  • エクセルにおけるマクロ設定ボタンからのみの印刷方法

     いつもお世話になっております。  エクセル(Office2016)において、マクロ設定ボタンからのみ印刷する方法をお聞きいたします。  マクロには印刷に関係した内容が登録されており、未入力箇所や規定内容以外を入力した場合はメッセージを表示させて印刷を中止し、入力項目が全て条件に合致している場合のみ、印刷がなるようにしています。  しかし、「ファイル」→「印刷」などから印刷するとエラーチェックがならず誤った内容で印刷され、誤った資料が提出されてしまいます。  インターネットで調べたところ、下記の方法で印刷が中止できることを知りました。 ------------------------------------------------------------------------------ Private Sub Workbook_BeforePrint(cansel As Boolean) MsgBox "印刷ボタンから印刷してください" Cancel = True End Sub ------------------------------------------------------------------------------  しかし、上記モジュールを「ThisWorkbook」に登録すると「ファイル」→「印刷」などからの印刷だけでなく、マクロボタンからも印刷できなくなってしまいました。  そこでお聞きしたいのですが、「ファイル」→「印刷」などからの印刷はできないようにし、マクロボタンからのみ印刷できるようにする方法はありますでしょうか。  また、「ファイル」→「印刷」などから印刷しようとした際には、エラーメッセージに「印刷ボタンから印刷してください。」のメッセージを表示させたいと思います。  どうぞご教示くださいますようお願いいたします。

専門家に質問してみよう