『セル参照をできないようにしたい』(vo)
お世話になります。10年ほど前、何度もここで学ばせていただきました。結局病んで退職してしまいましたが青春でした。
質問です。特定の列を非表示にして再表示できないようにパスワードをかけたファイルがあり、表示されている所は勿論誰でも見れるようにしていますが、少しExcelが分かる人なら別シートを開いてそのファイルの非表示のセル参照をすれば何が書いてあるかわかってしまいます。もしくはctrl+Gでジャンプしても分かると思います。それらができないようにする方法はありますか?
< 使用 Excel:Excel2019、使用 OS:unknown >
うーん難しいでしょうかねえ。
シートの保護、ブックの保護(新規シートの作成を抑止)したところで、 別のブックから、そのブックが参照できてしまうので、 シートを開示することは、読み取りを暗に認めることと同じ、ということなんでしょうか。
たしかに平文でなくしてしまうのも一案でしょうが、 もしそれが計算に影響しているものであれば、暗号化は難しいでしょう。 計算の秘密部分はユーザー定義関数化して、VBProjectをロックしてパスワードを掛ける手もありますが、 そのパスワードそのものが一説によると脆弱なものという話も聞きます(真偽不明です)。
以上のことが無理なら、 ・PDFで開示して、 ・必要な入力(や修正)は別途の手段(そのための別ブックの提出を求める) ということになるのかもしれません。泣
(xyz) 2025/06/24(火) 11:38:53
(vo) 2025/06/26(木) 13:41:07
うまくいくかわかりませんが、思いついたのは 非表示にしている列の値をローカルに保存してあるExcelブックをINDIRECTで参照するようにする とかですかね。
=INDIRECT("[C:\Users\user\data.xlsx]Sheet1!A" & ROW(A1))
とか。過去に、引き継ぎで貰ったブックがこんな感じで参照されていて そんなもん渡してくんじゃねーよ!と思った記憶があります。
他の人がブックを開いた際には その環境に指定のファイルが存在しないことになるので 非表示の列の値はすべてエラーになります。
非表示列の閲覧及び編集はローカルにデータファイルを保存している人だけになります。
「非表示の列を表示されているセルから参照していない」 という前提ですが、もし参照しているならそもそもバレバレなので提案してみました。 (デボラ) 2025/07/02(水) 19:41:22
もしくは別シートからの参照と単純にして、 xlVeryHiddenとする、とかですかね。 xlVeryHiddenの可能性を考慮できるユーザーなら、 そもそもExcel上で閲覧を制限することの脆弱さを理解しているはずなので (xml経由とか) そこは妥協ということで。 (デボラ) 2025/07/02(水) 19:57:28
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.