3

実際、Word 2003 文書の先頭に新しい空白ページとテキストを挿入することができます。

ただし、問題は、新しい空白のページが次のページからフォーマットまたはスタイルを取得することです。

例えば:

箇条書きの元のドキュメント:

  1. a
  2. b
  3. c
  4. d

 

以下の C# コードで編集した後:

  1. ハローワールド

    -----

  2. a
  3. b
  4. c
  5. d

スタイルや書式を設定せずに、新しい空白のページを挿入したいと考えています。

C#でこれを行うにはどうすればよいですか?

これは、いくつかのテキストを含む空白のページを挿入するために私が歌っている既存のコードです。

var app = new Application();
app.Visible = false;
app.DisplayAlerts = WdAlertLevel.wdAlertsNone;

var doc = app.Documents.Open(@"C:\test.doc");
object what = WdGoToItem.wdGoToLine;
object which = WdGoToDirection.wdGoToFirst;

app.Selection.GoTo(ref gotoPage, ref gotoNext, ref gotoCount, ref gotoName);

//Insert a blank page  
app.Selection.InsertNewPage();

object start = 0;
object end = 0;

var range = doc.Range(ref start, ref end);
range.Font.Size = 10;
range.Text = "Hello\n World";

doc.Save();
doc.Close();
app.Quit();

どうもありがとう。

「\n」が機能しないため、改行記号を含むテキストを挿入する方法を提案していただければ幸いです。

4

3 に答える 3

0

記号「\f\ r」を挿入して、ページ分割を挿入してみてください。そしてStyle、最初の段落のを「通常」のように設定します。

例えば:

 Range docRange = doc.Range();
 docRange.Text = docRange.Text.Insert(0, "\f\r");
 docRange.Paragraphs.First.set_Style(WdBuiltinStyle.wdStyleNormal);
于 2012-10-07T13:30:58.947 に答える
0

これがWord 2003で機能するかどうかはよくわかりません。Word 2010でこれを試しました。アイデアは、段落のスタイルをリセットすることです。あなたのコードを考慮してください:

//Insert a blank 
app.Selection.InsertNewPage();
Word.Paragraph par = doc.Paragraphs[1];

par.Reset();

このページを見てください。うまくいけば、これはあなたを助けるでしょう.

改行を考慮して、'\r'または'\r\n'記号を試すことをお勧めします。または、Pat が提案したように、 Environment.NewLineを試すことができます。Word 2010 では、コードも問題なく動作し\nます。

于 2012-09-13T09:55:14.923 に答える
0

この問題を解決するには、2 つのファイルを 1 つを空白に、もう 1 つをオリジナルにマージします。

この問題を解決するのに役立つ記事です。

方法: C# で複数の Microsoft Word ドキュメントを結合する

于 2012-09-14T03:26:59.607 に答える