【发布时间】:2012-09-19 03:47:03
【问题描述】:
我需要将 MS Word 文档的页面大小从 Letter 更改为 A4,并找到了这个自动化类:http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.document_members.aspx。我需要设置哪个属性(可能是嵌套的)?我找不到与页面大小相关的任何内容。
【问题讨论】:
标签: com ms-word ui-automation
我需要将 MS Word 文档的页面大小从 Letter 更改为 A4,并找到了这个自动化类:http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.document_members.aspx。我需要设置哪个属性(可能是嵌套的)?我找不到与页面大小相关的任何内容。
【问题讨论】:
标签: com ms-word ui-automation
基于documentation you reference,可以看出Document 暴露了PageSetup property。
PageSetup 属性有一个 PaperSize property 允许您定义文档的纸张大小 - 可用纸张大小的完整列表由 WdPaperSize 枚举指定(在此处查看其成员:http://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.wdpapersize.aspx) .
所以基本上,要设置文档的纸张大小,您可以执行以下操作:
document.PageSetup.PaperSize = WdPaperSize.wdPaperA4;
为了展示如何在“完整”上下文中完成此操作,我在下面提供了一个完整示例。该示例使用 .NET 4.5、Microsoft Office 对象库 15.0 版和 Microsoft Word 对象库 15.0 版(即 MS Office 2013 附带的对象库)作为 C# 控制台应用程序实现。
using System;
using Microsoft.Office.Interop.Word;
using Application = Microsoft.Office.Interop.Word.Application;
namespace WordDocStats
{
class Program
{
static void Main()
{
// Open a doc file
var wordApplication = new Application();
var document = wordApplication.Documents.Open(@"C:\Users\Username\Documents\document.docx");
// Set paper size
document.PageSetup.PaperSize = WdPaperSize.wdPaperA4;
// Save settings
document.Save();
// Close word
wordApplication.Quit();
Console.ReadLine();
}
}
}
【讨论】: