次の方法で共有

「編集の制限」の詳細な設定についての緊急質問です

Anonymous
2012-08-24T02:15:49+00:00

ワード2010を使っています。ファイルに手を加えられる事を防ぐため、編集の制限で文書を保護したいのですが、長文の文章を読んで下さる相手方の為に、ブックマーク機能のみ有効にしておきたいのですが、ブックマークのみ有効にして他は全て変更不可の状態に設定する…という事は可能でしょうか?

すみませんが、どなたか分かる方、教えてください。

Microsoft 365 と Office | Word | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2012-09-04T08:08:28+00:00

こんにちは。

本件に関して、すでに解決済みですのでまったくの蛇足になるのですが、「文書を比較した状態でDOSからWORDを起動する方法」で生田さんからコメントがありましたので、VBAを使ったほんの一例を紹介させていただければと思います。

(※ 文書内にVBAマクロを埋め込むことになりますので、あくまでも参考程度の情報です。)

編集の制限を掛けた文書に対して先方で"ブックマークの挿入だけ"行いたい、というのが目的だと思いますが、マクロを使うと

  1. 一時的に編集の制限を解除
  2. ブックマークを挿入
  3. 再度編集の制限実施

といったことが可能になります。

具体的な手順としては下記の通りです。

  1. 対象となるWord文書の編集の制限を解除しておきます。
  2. 下記コードをWord文書の「標準モジュール」に貼り付けます。

※ 貼り付け方は下記Webページが参考になります(Excelですが大体の手順は同じです)。

・Excel(エクセル) VBA入門:VBAコード(プログラム)の記述と実行の手順

http://www.eurus.dti.ne.jp/yoneyama/Excel/vba/vba_tejyun.html

Option Explicit

Private Const PW As String = "password" '編集の制限パスワード

Private Sub AddBookmark()

'ブックマークの挿入

  Dim s As String

  s = InputBox("選択箇所にブックマークを挿入します。" & vbCrLf & "ブックマーク名を入力してください。")

  If Len(s) < 1 Then

    MsgBox "キャンセルします。", vbExclamation + vbSystemModal

    Exit Sub

  End If

  ActiveDocument.Unprotect PW '編集の制限解除

  ActiveDocument.Bookmarks.Add Name:=s, Range:=Selection.Range 'ブックマーク挿入

  ActiveDocument.Protect Type:=wdAllowOnlyReading, Password:=PW, UseIRM:=False, EnforceStyleLock:=False '編集の制限

End Sub

Private Sub AddMacroButton()

'「アドイン」タブにマクロ実行用ボタンを追加するマクロ

'※ 一度だけ実施

'※ 実行後文書保存

  Const CommandBarName As String = "MyTool" 'コマンドバー名

  Application.CustomizationContext = ThisDocument '保存先をThisDocumentに指定

  On Error Resume Next

  Application.CommandBars(CommandBarName).Delete

  On Error GoTo 0

  With Application.CommandBars.Add(Name:=CommandBarName)

    .Visible = True

    With .Controls.Add(Type:=msoControlButton)

      .Caption = "ブックマークの挿入"

      .OnAction = "AddBookmark" 'マクロ割り当て

      .FaceId = 758

    End With

  End With

End Sub

  1. 貼り付けたコード内にある「Private Const PW As String = "password"」の「password」の部分を編集の制限で使用するパスワードに変更します。
  2. VBEから「AddMacroButton」を実行し、"ブックマークを挿入するためのマクロ(AddBookmark)"を実行するためのボタンを「アドイン」タブに追加します。
  3. ボタンが無事に追加されたら、下記Webページを参考にVBAプロジェクトを保護します。

・作成したものの保護

http://www.asahi-net.or.jp/~ef2o-inue/secur/sub07_03.html

  1. 手順1.で解除していた編集の制限を再度実施します。
  2. Word文書を保存します。

以上の手順で、編集の制限が掛かった文書でも、アドインタブに追加されたボタンからマクロ(AddBookmark)を実行することで、ブックマークの追加が行えます。

ただ、先述の通り文書にマクロを埋め込むことになりますので、ある程度のWordマクロ(VBA)に関する知識が必要になりますので、楠部さんの回答にある"コメント"で対応できるのであれば、そちらの方が良いだろうと思います。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2012-08-28T08:13:38+00:00

みなさん、こんにちは。

Sakushima さん、生田 さん、いつもコメントやアドバイスありがとうございます。

天野 礼 さん、Microsoft Answers への投稿ありがとうございます。

私も手元の PC (Windows 7 + Word 2010) で確認してみました。

「編集の制限」の「ユーザーに許可する編集の種類」に「ブックマーク」がないので、やはり Word の通常の機能のみで行うのは難しいかと思います。

ファイルを受け取った方にコメントの挿入を許可して、ブックマークの代わりに使ってもらうのはどうでしょうか。

挿入したコメントは文字検索の対象となるので、よかったらブックマークの代替方法のひとつとして検討してみてください。

※ [校閲] タブ > 変更履歴 で「最終版」に設定するとコメントを非表示にできます

他の方のコメントを参考に色々試して、よい方法を見つけてくださいね。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2012-08-25T08:27:05+00:00

ハイパーリンクと言うのは、こういうのです。

「編集の制限」の詳細な設定についての緊急質問です

上記の文字列をクリックすると、このページへ移動できると思います。

こういう機能をWord内に作ることを「ハイパーリンクを張る」と言います。

  1. Wordのドキュメントにハイパーリンク用の文字列を入力します。
  2. 入力した文字列を選択し、Ctrl+K キーを押します。
  3. 「ハイパーリンクの挿入」が開きますので、「ブックマーク」ボタンをクリックします。
  4. 設定した「ブックマーク」が見つかります。

任意の章のブックマークを選択して、「OK」ボタンをクリック。 5. 「ハイパーリンクの挿入」も「OK」ボタンで閉じます。

以上で、ハイパーリンクを張った文字列からブックマークを付けた任意の章へ飛べることでしょう。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

14 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2012-08-24T07:51:26+00:00

    うぅ…す、すみません。これはまず初めに、何をどうすれば良いのでしょうか?

    まず何を開いてどこから操作すればいいのか、全然分かりません…。

    ほとんどワード初心者です。Protect メソッドとは何でしょうか?

    すごく役立ちそうなありがたい回答を頂いているのは分かるのですが…操作法が、分かりません(>_<)…すみません。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2012-08-24T04:13:55+00:00

    マクロを使用しないと出来ないでしょう。

    文書保護からブックマーク コントロールを除外するには

    1.Protect メソッドを使用して、文書全体を保護します。

    C#VBコピー

    object noReset = false;

    object password = System.String.Empty;

    object useIRM = false;

    object enforceStyleLock = false;

    this.Protect(Word.WdProtectionType.wdAllowOnlyReading,

    ref noReset, ref password, ref useIRM, ref enforceStyleLock);

    2.文書保護から Bookmark1 を除外します。

    C#VBコピー

    this.bookmark1.Range.Editors.Add(Word.WdEditorType.wdEditorEveryone);

    +++

    参考URL

    方法 : 文書および文書の一部を保護する

    Visual Studio 2012

    http://msdn.microsoft.com/ja-jp/library/ms178793(v=vs.110).aspx

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません