2017-02-01 6 views
-1

私はテストの情報を追加することができることを、私は、次のWord文書を持っている範囲を選択し、ソート

アウトラインビュー(レベル2):図

の内容

リストの

表を略語

  1. セクション名

1.1テスト-01

1.2テスト-08

1.3テスト-02

等...

テストは常に順番に行われていないと私はソートします1.1,1.2,1.3などとなるので、次のようになります。

  1. セクション名

1.1テスト-01

1.2テスト-02

1.3テスト-08

等...

これは私がこれまで持っているものです。

word_doc.ActiveWindow.ActivePane.View.Type = Word.WdViewType.wdOutlineView; 
word_doc.ActiveWindow.View.ShowHeading(2); 

ここでは、文書の最後まで1.1を選択する必要があります。どのようにして...

word_app.Selection.Sort (false, ref FieldNumber, Word.WdSortFieldType.wdSortFieldAplphanumeric, Word.WdSortOrder.wdSortOrderAscending, ref missing, ...etc.) 

word_app.ActiveWindow.ActivePane.View.Type = Word.WdViewType.wdPrintView; 

ブックマークスタートを1.1の見出しとブックマークストップの最後に作成しました。私は今、すべてのヘルプはここ

答えて

0

:-)理解されるであろう

object oBookmarkStart = "Bookmark_Start"; 
object oStart = word_doc.Bookmarks.get_Item(ref oBookmarkStart).Range.Start; 

object oBookmarkStop = "Bookmark_Stop"; 
object oStop = word_doc.Bookmarks.get_Item(ref oBookmarkStop).Range.Start; 

Word.range rngBKMARKSelection = word_doc.Range(ref oStart, ref oStop); 

...ソート機能が完了したときにしかしbookmarkerstartがもはや存在しないだろう、次の行でテキストを選択することができますです解決策(ベストではないかもしれませんが、機能します):

word_doc.wordctive.ActivePane.View.Type = Word.WdViewType.wdOutlineView; ShowWeadow(2); word_doc.ActiveWindow.View.ShowHeading(2);

word_app.Selection.Find.set_Style(word_doc.Styles [styleHeading2]); word_app.Selection.Find.Execute();

オブジェクトoBookmarkStart = "\ StarOfSelection"; オブジェクトoStart = word_doc.Bookmarks.get_Item(ref oBookmarkStart).Range.Start;

オブジェクトoBookmarkStart = "\ EndOfDoc"; オブジェクトoStop = word_doc.Bookmarks.get_Item(refBookmarkStop)。範囲。開始;

Word.Range rngBKMarkSelection = word_doc.Range(ref oStart、ref oStop); rngBKMarkSelection.Select();

word_app.Selection.Sort(偽、REF FieldNumber、Word.WdSortFieldType.wdSortFieldAplphanumeric、Word.WdSortOrder.wdSortOrderAscending、refが欠落している、...など。)

word_app.ActiveWindow.ActivePane.View.Type = Word.WdViewType.wdPrintView;

0

私は頭の上からC#を入力していますので、構文が正しいことを保証するものではありませんが、そうでない場合は次の例から派生させることができます。私のクイックテストによると、RANGEはソート後に保持されます。だから、あなたがする必要があるすべては(新しい)しおり再作成です:

object oRngBookmark = rngBKMARKSelection; 
Word.Bookmark bkm = word_doc.Bookmarks.Add("sortedRange", ref oRngBookmark); 
+0

おかげで多くのことを、私はそれが最善の方法ではないかもしれませんが、それはのために働く...言葉で事前定義のブックマークを使用する方法を発見しました今すぐ:-) –

+0

おそらく、あなたがマイクロ秒単位で物事を測定すれば、私が提案した方が速いでしょう。しかし、アクションが何度も繰り返さなければ、あなたは確かに違いに気付かないでしょう:-) –

関連する問題