エクセルマクロの読み込み設定とはどのように使用しますか?

このQ&Aのポイント
  • エクセルのマクロを使用する際に表示されるセキリュティ警告のメッセージについて、選択肢ごとの意味と他者に選択された場合の影響について教えてください。
  • マクロを無効とする選択肢を他者に選択されると、印刷設定を禁止したマクロが機能しなくなってしまいます。そこで、他者がマクロを無効にできないような方法はありますか?
  • エクセルのマクロを閲覧時にパスワード入力しないと印刷できない設定にする方法を教えてください。
回答を見る
  • ベストアンサー

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

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

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

その通りです。 「とりあえず」マクロを使って(一般機能じゃ出来ないので)何かを禁止したいと思いつくことは多いですが,殆どの場合,そのアプローチは良くてエンドレスのモグラ叩きゲーム,そもそも正に今回のご質問になったように「できないこと」だと気がついて終わります。 ○できること 下記にあるようにIRMを用いて印刷等を制限することができます。 http://office.microsoft.com/ja-jp/excel-help/HA001109806.aspx http://office.microsoft.com/ja-jp/word-help/HA010354260.aspx ○できること マクロに「自己署名入りデジタル証明書」を取り付けておきます。 それぞれのユーザーはブックを開き,一回署名を「信頼する」ことで,マクロのセキュリティが毎回上がってこなくなります。 http://office.microsoft.com/ja-jp/excel-help/HA001231781.aspx http://allabout.co.jp/gm/gc/297836/3/ ○できること エクセルでの配布を諦め,たとえばPDFに変えてAcrobatの機能を使い印刷を禁止します。

morimori1117
質問者

お礼

度々、ご回答ありがとうございます。 わかりやすい説明ありがとうございます。 ○できること として挙げて頂いた 「IRM]を用いてや「自己著明入りデジタル証明書」ですが、使用している会社のパソコン自体が「管理者の権限」という制限で基礎的な設定やインストールなど、大まかなことが出来なくなっていますので、現時点では、出来ないことがわかりました。 PDFが無難なのですね。 ただ、この度、マクロの勉強になり大変参考になりました。ありがとうございました。

関連するQ&A

  • エクセルVBA設定 パスワード入力しても印刷不可

    エクセルVBAでパスワードを入力しないと印刷できない設定にしました。 Private Sub Workbook_BeforePrint(Cancel As Boolean) Password = "1111" x = InputBox("印刷注意 パスワード") If x = Password Then Else Cancel = True End If End Sub パスワード【1111】を入力しても印刷できないのですが、なぜでしょう?

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

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

  • Excel 印刷禁止 マクロの作り方

    毎年の期末で担当者が変わるため、 3/31で印刷を禁止するマクロを作りましたが、 これを応用して初めての使用後、30日で印刷が出来なくなるように しようと思いましたが、なかなか出来ません。どなたか力を貸してください。 Private Sub Workbook_BeforePrint(Cancel As Boolean) Dim D As Integer D = (Now+30) - Now If D <= 0 Then Cancel = True MsgBox "30日経過しましたので、担当者へ連絡してして下さい。印刷できません", 48, " Else Cancel = False Exit Sub End If End Sub 以上 よろしくお願いします。

  • Excelのマクロで印刷制限と閲覧制限を掛ける

    Excelのマクロで印刷制限と閲覧制限を掛ける エクセルで、1つのデータに5つのシートを作成し、うち4つのシートにデータ(携帯番号のリスト)が 入っています。 このデータに、閲覧制限と印刷制限を掛けようとし、インターネットで色々探し周り何とか形にはなりました。 「Alt+F11」で開くプロジェクトにはパスワードを掛け、通常見れない状態にし、 「VBAProject」の中の5つのシートにではなく「ThisWorkbook」に以下のマクロを 入れました。 ---制限1-------------------------------------------- Private Sub Workbook_BeforePrint(Cancel As Boolean) Dim y, x, p Application.DisplayAlerts = False x = "password"                   ←←←これが印刷、プレビュー確認の為のパス y = InputBox("パスワードを入力してください", "印刷") If y <> x Then For p = 1 To Sheets.Count Sheets(p).PageSetup.PrintArea = "$IV$65536" Next p Else For p = 1 To Sheets.Count Sheets(p).PageSetup.PrintArea = "☆☆☆☆☆☆" Next p End If Application.DisplayAlerts = True End Sub --制限2--------------------------------------------- Private Sub Workbook_Open() Sheets("Sheet1").Visible = True Sheets("Sheet2").Visible = True Sheets("Sheet3").Visible = True Sheets("Sheet4").Visible = True Sheets("Sheet1").Select End Sub --制限3--------------------------------------------- Private Sub Workbook_BeforeClose(Cancel As Boolean) Sheets("Sheet1").Visible = False Sheets("Sheet2").Visible = False Sheets("Sheet3").Visible = False Sheets("Sheet4").Visible = False End Sub --------------------------------------------------- 制限2で、開く時にマクロを有効にしなければ、Sheet1~4が表示されず、 無効にすれば何も入力されていないダミーのSheet5が表示されます。 制限3では、閉じる時にSheet1~4を隠し、ダミーのSheet5のみがある状態にして 閉じるマクロです。 質問したいのは制限1の印刷の制限の所なのです。 内容は、印刷or印刷プレビュー確認時にパスワードを求め、正しければ 正常に印刷orプレビューを見れますが、間違えれば何も入力されていない 【IV65536】のセルを印刷orプレビューで確認するという内容です。 そこでマクロ内の「☆」の部分に、印刷したいセル番地($A$1:$B$20など) を指定して入れると、パスワードが正しい場合、このセル番地内だけを印刷、 プレビュー確認が出来るのですが、問題はSheet1~4が全てそのセル番地で 印刷orプレビュー確認されてしまう事です。 当然Sheet1~4の印刷したい範囲は全てバラバラなので、どれかに合わせれば どれかが印刷されない部分があったり。。。 そこで、Sheet1~4全てに入力しセル番地を変えてみましたが、上手くいかずほとほと困っております。 全くのマクロの初心者と言っていい自分ですが、こんな自分でも分かるようなマクロで この問題を解決できないでしょうか?

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

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

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

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

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

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

  • エクセルVBAのBeforePrintで

    ThisWorkbookモジュールで Private Sub Workbook_BeforePrint(Cancel As Boolean) If ActiveSheet.Name <> "Sheet1" Then Exit Sub MsgBox "BeforePrintイベント発生" End Sub を使って、Sheet1での印刷のイベントを取得できます。 ただ、指示がPrintなのかPrintPreviewなのかが取得できません。 印刷またはプレビューされる前にどちらの指示なのかを取得する方法がありますか?

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

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

  • マクロ inputbox ブランクで入力した時

    いつも回答して頂きありがとうございます。 InputBoxに何も入力せず、OKを押してしまった場合、マクロの処理を終了させたいのですが、どうしたらよろしいでしょうか?宜しくお願い致します。 Sub 名前を入力する() Dim a As Long a = Application.InputBox("班を数字で入力して下さい。", Type:=1) If a = 0 Then MsgBox "キャンセルされました。", vbOKOnly Exit Sub End If With ActiveSheet .Range("E4:F5").Value = Worksheets("名前一覧").Cells(2, a).Value End With End Sub

専門家に質問してみよう