不可能と決め付ければ不可能(question:1148943548)

 なまじ技術を持っていると、コンピュータの仕組みをなまじ知っていると、「それは無理」と一蹴したくなってしまうような質問をたまに見かける。
 …が、人力検索ではたまに不可能と決め付けないことをスタートラインにして素晴らしい回答が寄せられる場合があって、そんなときは大変勉強になったと思う。
 question:1148943548は、残念ながら不可能な風味で終わってしまった質問。

でも、ちょっと考えると何とかなるかも知れないと思う

  • 確か、excelVBAに対して解除不能なロック(ソース閲覧/編集不可)をかけるツールがあった筈(うちの職場に出回っているexcelのファイルの幾つかがこの方法でロックされていた)
  • ファイルを開くときに、VBAを有効にしないとデータを閲覧不可能にすることくらいも多分出来るだろう
    • 極端な話、VBAのソースの中に全てのデータをハードコーディングして、FileOpenのイベント関数でセルに値を入れれば良い
    • そんなVBAのコードを直接書くのは正気の沙汰ではないが、セルに入力されている内容をVBAのソースに落とすツールを作れば良い
  • ファイルを開くときにVBAを有効にすることを強いることに成功しさえすれば、後は多分何でも出来る
    • 何らかの方法で正規の配付先のコンピュータ上で開かれているかどうかをVBAで判定すれば、コピーor/and再配布では望まぬヒトに閲覧されるのをガードするのも可能
    • システム時計を見て、マクロの挙動を変えることも出来るだろう。自分自身を含むブックを削除するのにはテクニックが要るかも知れないが
    • 多分、常駐的なマクロでファイルメニューを無効にしたりも出来なくはないのでは?

だが上記の方法は多分、誰かが勉強になると感心してくれるようなものではない

 最終的には必ずハッキングされる訳で、「電子データを流出させたら後は受信者の思うまま」の域を抜本的には脱し切れていない訳だ。