1

私はWordAddinの開発にかなり慣れていません。幸いなことに、私はほとんどすべてを行うことができましたが、私が信じているいくつかの単純な問題に固執しました。

選択した範囲にプレーンテキストコントロールを動的に挿入したい。このために私は以下を使用しています:

    currentDocument = application.ActiveDocument;
    foreach(var field in myFieldsList)
    {      
         Microsoft.Office.Interop.Word.Range rng = currentDocument.ActiveWindow.Selection.Range;
         object oRng = rng;
         var contentControlPlain = application.ActiveDocument.ContentControls.Add(Microsoft.Office.Interop.Word.WdContentControlType.wdContentControlText, ref oRng);
         contentControlPlain.Tag = formField.FormFieldId.ToString();
         contentControlPlain.SetPlaceholderText(null, null, " <" + formField.FormFieldName + "> ");
         contentControlPlain.LockContentControl = (formField.TypeName.Trim() == "Blank");
    }

コードは正常に機能しているようですが、2番目のフィールドを挿入しようとすると、次のように文句を言います。

現在の選択がプレーンテキストのコンテンツコントロールを部分的にカバーしているため、このメソッドまたはプロパティは使用できません。

アドインが、前に挿入されたプレーンテキストコントロールに次のコンテンツコントロールを挿入しようとしていることを理解しています。しかし、私は他の範囲を与えようとしましたが、それを修正できませんでした。どんな助けでも大歓迎です。

ありがとう。

4

1 に答える 1

1

すべてのコンテンツコントロールの使用を追加した後

Application.Selection.Start = lastControl.Range.End+1
于 2013-02-03T19:35:47.803 に答える