Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : 指定なし)
Workbook_BeforePrintでセルの保護
投稿日時: 19/09/05 11:28:26
投稿者: ngc1955

EXCELの帳票があるとします。印刷したものを使います。あるセルのテキストはどうしてもユーザーに書き換得られないようにするには場合、通常はセルのロックを使いますが、これを使わずにWorkbook_BeforePrintイベントでそのセルを最初に書き戻すという方法を考えました。それでも、こうすれば書き換えられてしまうとか、なにか落とし穴はありますか。

回答
投稿日時: 19/09/05 12:35:30
投稿者: simple

マクロ無効で起動されるリスクがあると思います。
通常の方法では何か都合の悪いことがあるのか、後学のために教えて下さい。

回答
投稿日時: 19/09/05 12:50:20
投稿者: WinArrow
投稿者のウェブサイトに移動

当該ブックをどのように開くかに依存しますが
 
読取専用に設定しておく
とか
読取専用で開く
とか
そうすれば、当該ブックを上書きされることはないと思います。
 
 

投稿日時: 19/09/05 13:58:25
投稿者: ngc1955

WinArrowさん。ありがとうございます。読み取り専用は実に強固だと思います。今回は入力許可した個所も多いので残念です。
 
simpleさん。Excelのロックって、ロックしない箇所を指定して全体をロックしますでしょ。
縦横のリストのガイダンスに近いような帳票は良いのですが、昔ながら手書き踏襲の書式は、結構間違えるのです。
入力できなければならないところにロックがかかってしまって、業務ストップというのは恥ずかしいながら過去何度かあります。
 
それから、これは以前VBAで正常に動作していた帳票に一部のセルにロックをかけたら、これがどんな現象だったか忘れてしまいましたが、大変苦労して結局解決できず結局トラウマーになっております。
 
それで、マクロを無効で起動ってなんてシンプルに突破されてしまうのでしょう!。完全な落とし穴でした。
ありがとうございました
 

回答
投稿日時: 19/09/05 15:14:23
投稿者: simple

ロックの箇所を間違えたは愛嬌で済みますが、
ユーザーにしてみたら、予告もなしに突然に勝手に変えられるわけですから、
大げさに言えば、ユーザーの信頼を損なうリスクもあるでしょう。
 
変更しようとした際に、保護されていると警告を受けるなら納得もするが、
印刷直前にすり替えられてしまうわけですよね。
予測可能性がまったくありません。
 
他の部分にも、勝手にすり替えられるところがあるかもしれないと
疑心暗鬼になります。ユーザーだって、それなりに意思に基づいて入力したわけです。
 
あなたの案は、信頼性に欠けると判断されてクレームがつきませんか?
そうしたことはお互いにとって得策ではないと考えます。
 
私は、普通に、保護をきちんと掛けたほうが得策と思います。
ユーザーにとっては、あなたの昔のトラウマは説得力がまったく無いと思われます。
 
# ちょっと力が入りすぎてしまったようです。
# ごめんなさいね。
# 余り技術に頼らずに、王道を行ってください。

投稿日時: 19/09/05 16:36:11
投稿者: ngc1955

> ちょっと力が入りすぎてしまったようです。
 
いいえ。ごもっともです。VBAプログラマとユーザーの信頼関係に貴重なアドバイスをいただきました。
 
ただ、今回の場合は印刷書式でAAA社と入るところで、実はこのVBA付きの帳票はのAAA社にライセンスしたものなのです。
 
そのコピーをAAA社さんが知り合いのBBB社さんに渡し、BBB社さんが社名だけ書き換えて使うという事例に対抗して考案しました。まあsimpleさんが想像したのとはむしろ逆のケースですね。
 
これまたプログラマとユーザーの信頼関係なのですが、高度なライセンス認証のコードも書けないものでどんなものかなと・・。
 
すみません。発想が安易でした。ちなみにVBAが入っていても丁寧に吟味してセルをロックすればこの事案に関しては落とし穴はないと考えてよいですか。
 
 

投稿日時: 19/09/05 16:53:58
投稿者: ngc1955

>ちなみにVBAが入っていても丁寧に吟味してセルをロックすれば
この事案に関しては落とし穴はないと考えてよいですか。
 
なお、AAA社名が入るところは全部VBAのコードでセルに書き込みます。

回答
投稿日時: 19/09/05 19:32:43
投稿者: simple

コメントありがとうございました。
 
Excelのパスワード(保護に使用するを含む)はそれほど堅牢ではなく、
プロがその気になれば破られるという話を聞いたことがあります。
実際、アンダーグラウンドでは、パスワード解読の手法も出回っているそうです。
 
従って、その印刷書式にいかほどの新奇性、重要性があるか不明ですが、
これで変更されない、絶対安全という保証は無いと思います。
そもそも外部に複製を作られれば、自由に改竄ができるのではないでしょうか。
Excelを提供する限り、そういうリスクはゼロにできないと思います。
それではこれで失礼します。

投稿日時: 19/09/05 20:57:16
投稿者: ngc1955

simpleさん何度も回答もありがとうございました。大変勉強になりました。

投稿日時: 19/09/05 20:58:50
投稿者: ngc1955

すみません。回答済みににするの忘れました。