c语言程序中如何建立新文档,如何:使用 Visual C 使 Microsoft Word 自动创建新文档#...

在 "代码" 窗口中,替换以下代码:

private void button1_Click(object sender, System.EventArgs e)

{

}

带有

private void button1_Click(object sender, System.EventArgs e)

{

object oMissing = System.Reflection.Missing.Value;

object oEndOfDoc = "\\endofdoc"; /* \endofdoc is a predefined bookmark */

//Start Word and create a new document.

Word._Application oWord;

Word._Document oDoc;

oWord = new Word.Application();

oWord.Visible = true;

oDoc = oWord.Documents.Add(ref oMissing, ref oMissing,

ref oMissing, ref oMissing);

//Insert a paragraph at the beginning of the document.

Word.Paragraph oPara1;

oPara1 = oDoc.Content.Paragraphs.Add(ref oMissing);

oPara1.Range.Text = "Heading 1";

oPara1.Range.Font.Bold = 1;

oPara1.Format.SpaceAfter = 24; //24 pt spacing after paragraph.

oPara1.Range.InsertParagraphAfter();

//Insert a paragraph at the end of the document.

Word.Paragraph oPara2;

object oRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;

oPara2 = oDoc.Content.Paragraphs.Add(ref oRng);

oPara2.Range.Text = "Heading 2";

oPara2.Format.SpaceAfter = 6;

oPara2.Range.InsertParagraphAfter();

//Insert another paragraph.

Word.Paragraph oPara3;

oRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;

oPara3 = oDoc.Content.Paragraphs.Add(ref oRng);

oPara3.Range.Text = "This is a sentence of normal text. Now here is a table:";

oPara3.Range.Font.Bold = 0;

oPara3.Format.SpaceAfter = 24;

oPara3.Range.InsertParagraphAfter();

//Insert a 3 x 5 table, fill it with data, and make the first row

//bold and italic.

Word.Table oTable;

Word.Range wrdRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;

oTable = oDoc.Tables.Add(wrdRng, 3, 5, ref oMissing, ref oMissing);

oTable.Range.ParagraphFormat.SpaceAfter = 6;

int r, c;

string strText;

for(r = 1; r <= 3; r++)

for(c = 1; c <= 5; c++)

{

strText = "r" + r + "c" + c;

oTable.Cell(r, c).Range.Text = strText;

}

oTable.Rows[1].Range.Font.Bold = 1;

oTable.Rows[1].Range.Font.Italic = 1;

//Add some text after the table.

Word.Paragraph oPara4;

oRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;

oPara4 = oDoc.Content.Paragraphs.Add(ref oRng);

oPara4.Range.InsertParagraphBefore();

oPara4.Range.Text = "And here's another table:";

oPara4.Format.SpaceAfter = 24;

oPara4.Range.InsertParagraphAfter();

//Insert a 5 x 2 table, fill it with data, and change the column widths.

wrdRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;

oTable = oDoc.Tables.Add(wrdRng, 5, 2, ref oMissing, ref oMissing);

oTable.Range.ParagraphFormat.SpaceAfter = 6;

for(r = 1; r <= 5; r++)

for(c = 1; c <= 2; c++)

{

strText = "r" + r + "c" + c;

oTable.Cell(r, c).Range.Text = strText;

}

oTable.Columns[1].Width = oWord.InchesToPoints(2); //Change width of columns 1 & 2

oTable.Columns[2].Width = oWord.InchesToPoints(3);

//Keep inserting text. When you get to 7 inches from top of the

//document, insert a hard page break.

object oPos;

double dPos = oWord.InchesToPoints(7);

oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range.InsertParagraphAfter();

do

{

wrdRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;

wrdRng.ParagraphFormat.SpaceAfter = 6;

wrdRng.InsertAfter("A line of text");

wrdRng.InsertParagraphAfter();

oPos = wrdRng.get_Information

(Word.WdInformation.wdVerticalPositionRelativeToPage);

}

while(dPos >= Convert.ToDouble(oPos));

object oCollapseEnd = Word.WdCollapseDirection.wdCollapseEnd;

object oPageBreak = Word.WdBreakType.wdPageBreak;

wrdRng.Collapse(ref oCollapseEnd);

wrdRng.InsertBreak(ref oPageBreak);

wrdRng.Collapse(ref oCollapseEnd);

wrdRng.InsertAfter("We're now on page 2. Here's my chart:");

wrdRng.InsertParagraphAfter();

//Insert a chart.

Word.InlineShape oShape;

object oClassType = "MSGraph.Chart.8";

wrdRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;

oShape = wrdRng.InlineShapes.AddOLEObject(ref oClassType, ref oMissing,

ref oMissing, ref oMissing, ref oMissing,

ref oMissing, ref oMissing, ref oMissing);

//Demonstrate use of late bound oChart and oChartApp objects to

//manipulate the chart object with MSGraph.

object oChart;

object oChartApp;

oChart = oShape.OLEFormat.Object;

oChartApp = oChart.GetType().InvokeMember("Application",

BindingFlags.GetProperty, null, oChart, null);

//Change the chart type to Line.

object[] Parameters = new Object[1];

Parameters[0] = 4; //xlLine = 4

oChart.GetType().InvokeMember("ChartType", BindingFlags.SetProperty,

null, oChart, Parameters);

//Update the chart image and quit MSGraph.

oChartApp.GetType().InvokeMember("Update",

BindingFlags.InvokeMethod, null, oChartApp, null);

oChartApp.GetType().InvokeMember("Quit",

BindingFlags.InvokeMethod, null, oChartApp, null);

//... If desired, you can proceed from here using the Microsoft Graph

//Object model on the oChart and oChartApp objects to make additional

//changes to the chart.

//Set the width of the chart.

oShape.Width = oWord.InchesToPoints(6.25f);

oShape.Height = oWord.InchesToPoints(3.57f);

//Add text after the chart.

wrdRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;

wrdRng.InsertParagraphAfter();

wrdRng.InsertAfter("THE END.");

//Close this form.

this.Close();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值