- ベストアンサー
EXCEL VBAを使用して印刷及びコピー禁止をしたい
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 VBAで作っているなら、ついでに、以下のように、ThisWorkbook モジュールで、設定したらよいかと思います。 'ThisWorkbook モジュール Private Const PSW As String = "aaa" 'パスワード Private Sub Workbook_BeforePrint(Cancel As Boolean) '印刷時の時のパスワード Dim Ret As String Ret = Application.InputBox("パスワードを入れてください", "パス入力", Type:=2) If StrComp(Ret, PSW, vbBinaryCompare) <> 0 Then Cancel = True End If End Sub Private Sub Workbook_Open() 'オープンの時にパスワード設定させる With Worksheets("Sheet1") .Unprotect Password:=PSW .Protect Password:=PSW, UserInterFaceOnly:=True .EnableSelection = xlNoSelection End With ThisWorkbook.Protect Password:=PSW, Structure:=True, Windows:=True With Application.CommandBars("CELL").Controls.Add _ (Type:=msoControlButton, Temporary:=True) .BeginGroup = True .Caption = "コピープロテクト_解除" .OnAction = "ThisWorkbook.CopyUnProtect" End With End Sub Sub CopyUnProtect() 'マウスの右クリックメニュー、パスワード解除とロックをさせる Dim Ret As String With Worksheets("Sheet1") If .EnableSelection = xlNoSelection Then Ret = Application.InputBox("パスワードを入れてください", "パス入力", Type:=2) If StrComp(Ret, PSW, vbBinaryCompare) = 0 Then .Unprotect PSW .EnableSelection = xlUnlockedCells Beep End If Else .Protect Password:=PSW, UserInterFaceOnly:=True .EnableSelection = xlNoSelection Beep End If End With End Sub
関連するQ&A
- エクセル 書きこみ禁止のコピー
エクセルで在庫表を作成し、数量のみを入力すれば、自動計算で在庫品総額が出るものを作製しました。その後、複数の人間が使用する為、「数式の入れてあるセルを消してしまう」といったトラブルがあり、「特定のセルへの書き込み禁止する」方法を知り実践していて思ったのですが、シート数だけで50近いし、各シートのページ数も多いところは20ページくらいあります。 これをひとつひとつ、書き込み禁止にしていくのはかなり面倒です。 最初に書き込み禁止にした完成形をコピーして作成すれば問題無かったのですが・・・・・。 何か良い方法はありますでしょうか?エクセル VBAとか使わないと無理でしょうか?ちなみにマクロの知識は全くありません。
- 締切済み
- オフィス系ソフト
- エクセル VBA
エクセル VBA コマンドボタン(印刷)をクリックするとSHeet1・SHeet2が 2つ印刷出来るような設定にしたいです。 普通は、SHeet1をコピーして Sheet2の画面を開いてコピーという手順を ボタン押すと、SHeet1・SHeet2が印刷されるようにしたいのですが・・・・ ちなみに印刷設定は出来ています。 このような ことはマクロで出来るのでしょうか? 記述を教えて下さい!
- ベストアンサー
- その他MS Office製品
- エクセルのVBAで、異なるブック間でのコピー&ペースト
こんばんは。 エクセルのVBAで、異なるブック間でのコピー&ペーストに関しての質問です。 現在アクティブになっているシートのB4セルをコピーして、 現在開いているシートのブックとは異なる特定の ブック(”Book1")の特定のシート(”Sheet1”)のC5セルに貼り付けたい場合、 ●●●の部分に何と表現すればよいか教えてください。 Range("B4").Copy Destination:=●●● よろしくお願いいたします。
- 締切済み
- Visual Basic
- Excelの書込保護と同時にコピーも禁止する
シートの保護で入力場所以外をロックしましたが、そのシートをコピーするといくらでも修正(改ざん)できます。 いじられたくないシートなので、更にシートのコピー自体を禁止する方法がどうしても分からず困っています。 皆様の知恵を拝借願えませんでしょうか。 Excel 2000 professionalを使っています。
- ベストアンサー
- オフィス系ソフト
- Excelのシートを印刷不可(禁止)にするにはどうしたら?
同様の質問があると思うのですが、どうもうまくいきません。 Windows2000 Excel2000 で下記をコピーして入れてみたのですが、 印刷禁止にならないのです。 もしかすると、マクロを使えていないのかも知れません。 誰か、“猿”でもわかるぐらい、Excelシートの印刷禁止の方法を 優しく解説して頂けないでしょうか? 宜しくお願い致します。 (特にマクロをどう使ったらいいのかわかっていないです) Private Sub Workbook_BeforePrint(Cancel As Boolean) MsgBox "このExcelシートは、印刷できません", vbExclamation Cancel = True End Sub
- ベストアンサー
- オフィス系ソフト
- Excel VBAでシートのコピーをできなくするには
Excel VBAで シートのコピー及びシートの新規挿入を出来なくする事はできるでしょうか? どなたかご教示お願いいたします。
- 締切済み
- オフィス系ソフト
- コピー印刷防止について
エクセルデータなどを印刷したものをコピー機でコピーすると、「コピー禁止」など浮かびあがらせたいのですが、うまい方法はありますか? 特殊な紙かプリンタを使わず、フリーソフトなどあれば助かるのですが・・。 ぜひ、教えてください。
- ベストアンサー
- ネットワーク
- エクセル(VBA)のブック間でのコピーペーストについて
こんにちは。VBA入門レベルのものですが、質問させてください。 ブックAとブックBを開いた状態にし、 ・ブックA⇒VBAを組む&データ貼付け先 ・ブックB⇒データコピー元 ブックBの特定セル(例:D10)からブックAの特定セル(例:E12)にコピー⇒貼付 する方法を探しています。 なお、ブックBは、ブック名とシート名が都度変わるので、「ブックAではない方の開いているエクセルファイルからデータをコピーし、ブックAに貼付ける」の構文にしたいです。 また、コピペの他に数式(イコール)で飛ぶ方式でもかまいません。 この内容でのVBAの記述方法が分かる方、どなたか教えて頂けますでしょうか。 すみませんがよろしくお願いいたします。 ※エクセル2003です。
- ベストアンサー
- オフィス系ソフト
- VBAでファイルのシートをコピーしたい。
VBAでファイルのシートをコピーしたい。 現在、FileCopyでEXCELファイルをコピーしていますが、特定のシートだけコピーしたいのですが、、 (現在の一部です) FileCopy fs.FoundFiles(i), "C:\集計" どのように書き換えればよいのでしょうか? 宜しくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- excel vba シートがなければコピーしたい
excel vba で教えてください sheet名0を雛形に、使用者が1 2 3のsheet名でコピーして利用できるようにしたい。1はあるのでコピーを作らない。2はないのでsheet名0をコピーして作るといったように現在sheet2があるや否やで作成するや否やを判断してsheet copyをしたい。 すべてのsheet を名前をしらべつつ判断したいのです 教えてください
- ベストアンサー
- Visual Basic