如何在word 2003文档的开头插入空白页

时间:2012-09-13 07:08:09

标签: c# ms-word office-interop

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

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

例如:

带有项目符号点的原始文件:

  
      
  1. a
  2.   
  3. B'/ LI>   
  4. C
  5.   
  6. d
  7.   

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

  
  1. Hello world
      
      -----
      
  2.   
  3. 一个
  4.   
  5. B'/ LI>   
  6. C
  7.   
  8. 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”不起作用。

3 个答案:

答案 0 :(得分:0)

我不确定这是否适用于Word 2003.我已经尝试过这个用于Word 2010.我的想法是重置段落的样式。考虑你的代码:

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

par.Reset();

查看this页面。希望这对你有帮助。

考虑换行,我建议尝试使用'\r''\r\n'符号。或者如Pat提议的那样,您可以尝试 Environment.NewLine 。在Word 2010中,您的代码也可以正常工作,我的意思是使用\n

答案 1 :(得分:0)

我克服了这个问题,将两个文件合并为空白,一个是原始的。

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

How To: Merge Multiple Microsoft Word Documents in C#

答案 2 :(得分:0)

尝试通过插入符号“\ f \ r \ n”来插入分页符。然后将第一段的Style设置为“Normal”。

例如:

 Range docRange = doc.Range();
 docRange.Text = docRange.Text.Insert(0, "\f\r");
 docRange.Paragraphs.First.set_Style(WdBuiltinStyle.wdStyleNormal);