ワードドキュメント内の1つのワードにパスワードを設定することは可能ですか?Word 2007のシングルワード用パスワード保護
私が望むのは、私たちのIT構造からシステム文書を書くことです。私は同様に文書にパスワードを入れたい。今私は、文書の中のパスワードにロックを解除するために "マスター"パスワードを入力する必要があります。パスワードを入力しないと、文書内のパスワードは見えなくなるか、そうでなければなりません。
これは可能ですか?
ワードドキュメント内の1つのワードにパスワードを設定することは可能ですか?Word 2007のシングルワード用パスワード保護
私が望むのは、私たちのIT構造からシステム文書を書くことです。私は同様に文書にパスワードを入れたい。今私は、文書の中のパスワードにロックを解除するために "マスター"パスワードを入力する必要があります。パスワードを入力しないと、文書内のパスワードは見えなくなるか、そうでなければなりません。
これは可能ですか?
はい、可能です。この作業を行うには、Word固有の文書保護とその隠しテキスト属性、およびVBAトリックの組み合わせを使用する必要があります。
まず、文書内のすべてのパスワードを隠しテキストとしてフォーマットします。 (慣れていない人には、表示/非表示機能がtrueに設定されている場合にのみ非表示のテキストが表示されます)
次に、非表示のテキストが表示されないようにするコードを追加し、文書を開くたびに:
Private Sub Document_Open()
AddProtection
End Sub
Sub AddProtection()
With ActiveDocument
.ActiveWindow.View.ShowAll = False
.ActiveWindow.View.ShowHiddenText = False
.Application.Options.PrintHiddenText = False
.Protect Type:=wdAllowOnlyReading, NoReset:=True, Password:="DesiredPassword"
End With
End Sub
いつもWordユーザーは隠し文字を表示できるため、この機能を制御する必要もあります。ほとんどのメニューとリボンコマンドは、インターセプトされたコマンドに名前が付けられたサブルーチンを含むモジュールを作成することによってインターセプトできます。最後に
Sub ShowAll()
If ActiveDocument.ProtectionType = wdAllowOnlyReading Then
'Do nothing
Else 'restore the Ribbon's toggle function
If ActiveDocument.ActiveWindow.View.ShowAll = True Then
ActiveDocument.ActiveWindow.View.ShowAll = False
Else
ActiveDocument.ActiveWindow.View.ShowAll = True
End If
End If
End Sub
、我々はユーザーにパスワードの入力を求めるようにいくつかのコードを追加して、正しく入力されている場合、表示:サブShowAll
に名前を付けることは、私たちは、この機能を制御し、唯一のパスワードが入力されて隠されたテキストを表示することができます以前は隠されたテキスト:
Sub RemoveProtection()
Dim strPassword As String
strPassword = InputBox("Enter document password.")
ActiveDocument.Unprotect Password:=strPassword
If ActiveDocument.ProtectionType = wdNoProtection Then
ActiveDocument.ActiveWindow.View.ShowHiddenText = True
End If
End Sub
すべてのVBAコードを入力すると、IDEでモジュールを右クリックしプロジェクトのプロパティを選択し、[保護]タブで別のパスワードを割り当てます。これにより、パワーユーザーは埋め込みパスワードを取得したり、コードを変更したりすることがなくなります。
これで済むのは、WordでQATボタンを作成して(このドキュメントでのみ表示される)、RemoveProtection
サブを割り当てることです。文書が開かれるたびに、パスワードは隠され、編集から保護されますが、QATボタンをクリックして正しいパスワードを入力することで明らかになります。
EDIT私が最初にこの質問に答え
は、私はその言葉がすべて表示オプションからseparateleyオンにすることができます隠しテキストオプションを持って考えることができませんでした。さらに、隠し文字を印刷オプションで印刷することもできます。上記のAddProtection
にコードを追加して、これらの設定を無効にしました。手動ですべてのフォーマットマークにまたは隠しテキストオプションを表示を変更することで、隠されたテキストを明らかに表示 |オプション|
さらなる試験はまた、Word 2007のユーザーは手動でオフィスオーブに行くことができることを明らかにしました。これを避けるには、リボンのカスタマイズを作成してドキュメントにロードする必要があります。
最後に、このようなタスクを達成するためにWordを自分の意志に曲げるのは楽しいことですが、保護のレベルはパスワードを別々に暗号化してから明らかにする前に解読するほど良くはありませんWordの文書パスワード機能を使用して文書の全内容を暗号化することもできます。