[编程语言][.NET Office][Word]设置布局
文字方向
纸张大小
属性: Document.PageSetup.PaperSize
注释: 设置Document.PageSetup.PageHeight或Document.PageSetup.PageWidth属性会将Document.PageSetup.PaperSize属性更改为
| 枚举值 | 枚举名称 | 描述 |
|---|---|---|
| 0 | wdPaper10x14 | |
| 1 | wdPaper11x17 | |
| 2 | wdPaperLetter | |
| 3 | wdPaperLetterSmall | |
| 4 | wdPaperLegal | |
| 5 | wdPaperExecutive | |
| 6 | wdPaperA3 | |
| 7 | wdPaperA4 | |
| 8 | wdPaperA4Small | |
| 9 | wdPaperA5 | |
| 10 | wdPaperB4 | |
| 11 | wdPaperB5 | |
| 12 | wdPaperCSheet | |
| 13 | wdPaperDSheet | |
| 14 | wdPaperESheet | |
| 15 | wdPaperFanfoldLegalGerman | |
| 16 | wdPaperFanfoldStdGerman | |
| 17 | wdPaperFanfoldUS | |
| 18 | wdPaperFolio | |
| 19 | wdPaperLedger | |
| 20 | wdPaperNote | |
| 21 | wdPaperQuarto | |
| 22 | wdPaperStatement | |
| 23 | wdPaperTabloid | |
| 24 | wdPaperEnvelope9 | |
| 25 | wdPaperEnvelope10 | |
| 26 | wdPaperEnvelope11 | |
| 27 | wdPaperEnvelope12 | |
| 28 | wdPaperEnvelope14 | |
| 29 | wdPaperEnvelopeB4 | |
| 30 | wdPaperEnvelopeB5 | |
| 31 | wdPaperEnvelopeB6 | |
| 32 | wdPaperEnvelopeC3 | |
| 33 | wdPaperEnvelopeC4 | |
| 34 | wdPaperEnvelopeC5 | |
| 35 | wdPaperEnvelopeC6 | |
| 36 | wdPaperEnvelopeC65 | |
| 37 | wdPaperEnvelopeDL | |
| 38 | wdPaperEnvelopeItaly | |
| 39 | wdPaperEnvelopeMonarch | |
| 40 | wdPaperEnvelopePersonal | |
| 41 | wdPaperCustom |
纸张方向
属性: Document.PageSetup.Orientation
| 枚举值 | 枚举名称 | 描述 |
|---|---|---|
| 0 | wdOrientPortrait | 纵向 |
| 1 | wdOrientLandscape | 横向 |
页边距
属性:
- Document.PageSetup.TopMargin
- Document.PageSetup.BottomMargin
- Document.PageSetup.LeftMargin
- Document.PageSetup.RightMargin
栏
属性:
- Document.PageSetup.TextColumns.Count
- Document.PageSetup.TextColumns.EvenlySpaced
- Document.PageSetup.TextColumns.FlowDirection
- Document.PageSetup.TextColumns.LineBetween
- Document.PageSetup.TextColumns.Spacing
- Document.PageSetup.TextColumns.Width
函数: - Document.PageSetup.TextColumns.SetCount(int NumberColumns)
- Document.PageSetup.TextColumns.Add(ref object Width, ref object Spacing, ref object EvenlySpaced)
- Document.PageSetup.TextColumns.GetEnumerator()
每栏的属性:
- MSWord.TextColumn.Width
- MSWord.TextColumn.SpaceAfter
获取栏数
通过获取属性Document.PageSetup.TextColumns.Count即可。
设置或取消分割线
如果设置属性Document.PageSetup.TextColumns.LineBetween为True(-1),则显示分割线。
如果设置属性Document.PageSetup.TextColumns.LineBetween为False(0),则隐藏分割线。
设置栏的方向
如果设置Document.PageSetup.TextColumns.FlowDirection属性为MSWord.WdFlowDirection.wdFlowLtr,则栏从左到右。
如果设置Document.PageSetup.TextColumns.FlowDirection属性为MSWord.WdFlowDirection.wdFlowRtl,则栏从右到左。
设置栏宽度和栏间距
栏宽相等
需要注意下面两个问题:
- SetCount()函数是按照当前Spacing的值重新分配栏宽度的。
- Width和Spacing这两个的值是按照最后分配的那个属性的值来确定另一个属性的值的。
设置等宽栏有三种方法:
- 如果需要将页面分成指定数目的等宽栏时,可以调用SetCount()函数。但是需要在调用SetCount()之前设置Spacing的值,或者在调用SetCount()之后设置Width的值。
- 如果需要将当前页面的栏设置成等宽的,只需设置Width属性或Spacing属性。
- 设置EvenlySpaced属性的值为True(-1),也可以将当前页面的栏设置成等宽的。需要注意的是,EvenlySpaced的值是依据第一栏的SpaceAfter属性的值来设置Spacing属性的值,然后再依据Spacing属性的值来确定栏的宽度Width属性的值的。
栏宽不相等
- 可以通过调用Add()函数添加一个新栏。需要注意的是Add()函数的第三个参数EvenlySpaced的值永远需要传入False(0)。此时,会将EvenlySpaced属性的值设置为False(0)。
- 如果需要改变某一栏的宽度或栏间距,可以通过foreach语句遍历,或是通过调用GetEnumerator()函数得到IEnumerator来遍历,以获取到指定列的栏的TextColumn对象,然后再设置其Width属性或SpaceAfter属性。需要注意的是,最后一栏之后是没有栏间距的,故不能对其设置SpaceAfter属性。
分隔符
通过调用MSWord.Range.InsertBreak(ref object Type)函数实现,参数可以传入MSWord.WdBreakType枚举中的任何一个
| 枚举值 | 枚举名称 | 描述 |
|---|---|---|
| 2 | wdSectionBreakNextPage | 分节符在下一页。 |
| 3 | wdSectionBreakContinuous | 新节不包含相应分页符。 |
| 4 | wdSectionBreakEvenPage | 使下一节从下一偶数页开始的分节符。如果分节符落入偶数页,则 Word 将下一奇数页留为空白。 |
| 5 | wdSectionBreakOddPage | 使下一节从下一奇数页开始的分节符。如果分节符落入奇数页,则 Word 将下一偶数页留为空白。 |
| 6 | wdLineBreak | 换行符。 |
| 7 | wdPageBreak | 插入点处的分页符。 |
| 8 | wdColumnBreak | 插入点处的分栏符。 |
| 9 | wdLineBreakClearLeft | 换行符。 |
| 10 | wdLineBreakClearRight | 换行符。 |
| 11 | wdTextWrappingBreak | 结束当前行,并强制文字在图片、表格或其他项目的下方继续。文字将在下一个空行(且该空行不包含与左边距或右边距对齐的表格)上继续。 |
行号
属性:
wordDocument.PageSetup.LineNumbering.Active
wordDocument.PageSetup.LineNumbering.CountBy
wordDocument.PageSetup.LineNumbering.DistanceFromText
wordDocument.PageSetup.LineNumbering.RestartMode
wordDocument.PageSetup.LineNumbering.StartingNumber
设置是否显示行号
如果将Document.PageSetup.LineNumbering.Active属性设置为True(-1),则将显示行号;如果将该属性设置成False(0),则不显示行号。
设置显示行号的间隔数
Document.PageSetup.LineNumbering.CountBy属性指示行号间隔数。如果其值为5,则在5的整数倍显示行号。
设置行号位置
Document.PageSetup.LineNumbering.DistanceFromText属性指示行号的右边缘和左边的缘与文档文字之间的距离。
设置排序方式
Document.PageSetup.LineNumbering.RestartMode属性指示行号的排序方式。该属性的值可被赋值为MSWord.WdNumberingRule枚举类型,其枚举值可为:
| 枚举值 | 枚举名称 | 描述 |
|---|---|---|
| 0 | wdRestartContinuous | 连续分配编号。 |
| 1 | wdRestartSection | 重设每一节的节号。 |
| 2 | wdRestartPage | 重设每一页的页码。 |
设置起始行号
Document.PageSetup.LineNumbering.StartingNumber属性指示起始行号。其值必须介于 1 和 32767 之间。
本文详细介绍如何使用.NET Office库中的Word组件进行文档布局和格式设置,包括设置文字方向、纸张大小、纸张方向、页边距、栏数、栏宽及间距、行号显示与设置等。同时,讲解了如何利用属性和函数调整文档结构,如分隔符的使用,以及如何设置或取消栏间的分割线。
1337

被折叠的 条评论
为什么被折叠?



