3

事实上,我可以在 Word 2003 文档的开头插入一个新的空白页和一些文本。

但是问题是新的空白页面将从下一页获取格式或样式。

例如:

带有项目符号的原始文档:

  1. 一个
  2. b
  3. C
  4. d

 

使用下面的 C# 代码编辑后:

  1. 世界你好

    -----

  2. 一个
  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

我通过合并两个文件来克服这个问题,一个是空白文件,一个是原始文件。

这是解决此问题的有用文章。

如何:在 C# 中合并多个 Microsoft Word 文档

于 2012-09-14T03:26:59.607 回答
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

尝试通过插入符号“\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 回答