编程中word所有属性
word⽂档⼯程变量的
//合并单元格
table.Cell(2, 2).Merge(table.Cell(2, 3));
//单元格分离
object Rownum = 2;
object Columnnum = 2;
table.Cell(2, 2).Split(ref Rownum, ref Columnnum);
//单元格对齐⽅式
WApp.Selection.Cells.VerticalAlignment =Microsoft.Office.Interop.Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;
dys
//插⼊表⾏
table.Rows.Add(ref missing);
//分页 object ib = Microsoft.Office.Interop.Word.WdBreakType.wdPageBreak;
WApp.Selection.InrtBreak(ref ib);
//换⾏
WApp.Selection.TypeParagraph();
⼆、word⽂档设置
WApp.ActiveDocument.PageSetup.LineNumbering.Active =0;//⾏编号
WApp.ActiveDocument.PageSetup.Orientation =Microsoft.Office.Interop.Word.WdOrientation.wdOrientPortrait;//页⾯⽅向
WApp.ActiveDocument.PageSetup.TopMargin =WApp.CentimetersToPoints(float.Par("2.54"));//上页边距
WApp.ActiveDocument.PageSetup.BottomMargin = WApp.CentimetersToPoints(float.Par("2.54"));/
/下页边距
WApp.ActiveDocument.PageSetup.LeftMargin = WApp.CentimetersToPoints(float.Par("3.17"));//左页边距
WApp.ActiveDocument.PageSetup.RightMargin = WApp.CentimetersToPoints(float.Par("3.17"));//右页边距
WApp.ActiveDocument.PageSetup.Gutter = WApp.CentimetersToPoints(float.Par("0"));//装订线位置
WApp.ActiveDocument.PageSetup.HeaderDistance = WApp.CentimetersToPoints(float.Par("1.5"));//页眉
WApp.ActiveDocument.PageSetup.FooterDistance = WApp.CentimetersToPoints(float.Par("1.75"));//页脚
WApp.ActiveDocument.PageSetup.PageWidth = WApp.CentimetersToPoints(float.Par("21"));//纸张宽度
WApp.ActiveDocument.PageSetup.PageHeight = WApp.CentimetersToPoints(float.Par("29.7"));//纸张⾼度
WApp.ActiveDocument.PageSetup.FirstPageTray = Microsoft.Office.Interop.Word.WdPaperTray.wdPrinterDefaultBin;//纸张来源
WApp.ActiveDocument.PageSetup.OtherPagesTray = Microsoft.Office.Interop.Word.WdPaperTray.wdPrinterDefaultBin;//纸张来源
WApp.ActiveDocument.PageSetup.SectionStart = Microsoft.Office.Interop.Word.WdSectionStart.wdSectionNewPage;//节的起始位置:新建页
WApp.ActiveDocument.PageSetup.OddAndEvenPagesHeaderFooter = 0;//页眉页脚-奇偶页不同
WApp.ActiveDocument.PageSetup.DifferentFirstPageHeaderFooter = 0;//页眉页脚-⾸页不同
WApp.ActiveDocument.PageSetup.VerticalAlignment = Microsoft.Office.Interop.Word.WdVerticalAlignment.wdAlignVerticalTop;//页⾯垂直对齐⽅式 WApp.ActiveDocument.PageSetup.SuppressEndnotes =0;//不隐藏尾注
WApp.ActiveDocument.PageSetup.MirrorMargins = 0;//不设置⾸页的内外边距
WApp.ActiveDocument.PageSetup.TwoPagesOnOne = fal;//不双⾯打印
WApp.ActiveDocument.PageSetup.BookFoldPrinting =fal;//不设置⼿动双⾯正⾯打印
WApp.ActiveDocument.PageSetup.BookFoldRevPrinting =fal;//不设置⼿动双⾯背⾯打印
WApp.ActiveDocument.PageSetup.BookFoldPrintingSheets = 1;//打印默认份数
WApp.ActiveDocument.PageSetup.GutterPos = Microsoft.Office.Interop.Word.WdGutterStyle.wdGutterPosLeft;//装订线位于左侧
WApp.ActiveDocument.PageSetup.LinesPage = 40;//默认页⾏数量
WApp.ActiveDocument.PageSetup.LayoutMode = Microsoft.Office.Interop.Word.WdLayoutMode.wdLayoutModeLineGrid;//版式模式为 “只指定⾏⽹格”
三、光标移动
//移动光标
//光标下移3⾏上移3⾏
object unit = Microsoft.Office.Interop.Word.WdUnits.wdLine;
object count = 3;
WApp.Selection.MoveEnd(ref unit,ref count);
WApp.Selection.MoveUp(ref unit, ref count, ref missing);
//Microsoft.Office.Interop.Word.WdUnits说明
//wdCell A cell.
//wdCharacter A character.
//wdCharacterFormatting Character formatting.
//wdColumn A column.
//wdItem The lected item.
//wdLine A line. //⾏
/
/wdParagraph A paragraph.
//wdParagraphFormatting Paragraph formatting.
//wdRow A row.
//wdScreen The screen dimensions.
//wdSection A ction.
//wdSentence A ntence.
//wdStory A story.
//wdTable A table.
//wdWindow A window.
//wdWord A word.
//录制的vb宏
/董事长助理 英文
/ ,移动光标⾄当前⾏⾸
// Selection.HomeKey unit:=wdLine
// '移动光标⾄当前⾏尾
// Selection.EndKey unit:=wdLine
// '选择从光标⾄当前⾏⾸的内容
// Selection.HomeKey unit:=wdLine, Extend:=wdExtend
// '选择从光标⾄当前⾏尾的内容
// Selection.EndKey unit:=wdLine, Extend:=wdExtend
// '选择当前⾏
// Selection.HomeKey unit:=wdLine
// Selection.EndKey unit:=wdLine, Extend:=wdExtend
/
/ '移动光标⾄⽂档开始
// Selection.HomeKey unit:=wdStory
// '移动光标⾄⽂档结尾
// Selection.EndKey unit:=wdStory
// '选择从光标⾄⽂档开始的内容
// Selection.HomeKey unit:=wdStory, Extend:=wdExtend
// '选择从光标⾄⽂档结尾的内容
// Selection.EndKey unit:=wdStory, Extend:=wdExtend
// '选择⽂档全部内容(从WholeStory可猜出Story应是当前⽂档的意思)
// Selection.WholeStory
// '移动光标⾄当前段落的开始
/
/ Selection.MoveUp unit:=wdParagraphthe boss
// '移动光标⾄当前段落的结尾
// Selection.MoveDown unit:=wdParagraph
// '选择从光标⾄当前段落开始的内容
// Selection.MoveUp unit:=wdParagraph, Extend:=wdExtend
// '选择从光标⾄当前段落结尾的内容
// Selection.MoveDown unit:=wdParagraph, Extend:=wdExtend
// '选择光标所在段落的内容
// Selection.MoveUp unit:=wdParagraph
// Selection.MoveDown unit:=wdParagraph, Extend:=wdExtend
// '显⽰选择区的开始与结束的位置,注意:⽂档第1个字符的位置是0
/
/ MsgBox ("第" & Selection.Start & "个字符⾄第" & Selection.End & "个字符")jordana
// '删除当前⾏
// Selection.HomeKey unit:=wdLine
// Selection.EndKey unit:=wdLine, Extend:=wdExtend
// Selection.Delete
// '删除当前段落
// Selection.MoveUp unit:=wdParagraph
// Selection.MoveDown unit:=wdParagraph, Extend:=wdExtend
// Selection.Deletepayattentionto
//表格的光标移动
//光标到当前光标所在表格的地单元格
WApp.Selection.Tables[1].Cell(1, 1).Select();
//unit对象定义
object unith = Microsoft.Office.Interop.Word.WdUnits.wdRow;//表格⾏⽅式
object extend = Microsoft.Office.Interop.Word.WdMovementType.wdExtend;/**////extend对光标移动区域进⾏扩展选择
object unitu = Microsoft.Office.Interop.Word.WdUnits.wdLine;//⽂档⾏⽅式,可以看成表格⼀⾏.不过和wdRow有区别
object unitp = Microsoft.Office.Interop.Word.WdUnits.wdParagraph;//段落⽅式,对于表格可以选择到表格⾏后的换车符,对于跨⾏合并的⾏选择,我能找到的最简单⽅式
object count=1;//光标移动量
下⾯代码演⽰对于存在合并单元格的选择操作.合并单元格的选择问题⼀直是word的bug.部分object对象参照上⾯代码
上⾯这个是表格合并样式.要如何才能选择2⾏标题栏尼.看下⾯代码
//定位到表格第1单元格
WApp.Selection.Tables[1].Cell(1, 1).Select();
//定位到第1个单元格第1个字符前
WApp.Selection.HomeKey(ref unith, ref missing);
//扩展到⾏尾,选择表第1⾏
WApp.Selection.EndKey(ref unith, ref extend);
teint//定义表格标题的⾏数量,titlerow为参数
object strtitlerow=titlerow-1;
//移动光标选择第1⾏的末尾段落标记
WApp.Selection.MoveDown(ref unitp, ref count, ref extend);
//选择下⼀⾏,因为合并的原因,如表格标题最后列是合并,只选择了2⾏的部分
WApp.Selection.MoveDown(ref unitu, ref strtitlerow, ref extend);
//扩展到该⾏的末端,保证合并⾏能全部选择到
WApp.Selection.EndKey(ref unith, ref extend);
//复制选择内容到剪贴板
WApp.Selection.Copy();
//下⾯是移动光标到任何位置并粘贴内容.我程序中⽬的是到表格换页的时候⾃动插⼊下⼀页的表头.
WApp.Selection.Tables[1].Cell(System.Convert.ToInt32(strRownum), 1).Select();
WApp.Selection.HomeKey(ref unith, ref missing);
WApp.Selection.Paste();
四、段落格式设定
//段落格式设定
WApp.Selection.ParagraphFormat.LeftIndent = WApp.CentimetersToPoints(float.Par("0"));//左缩进
WApp.Selection.ParagraphFormat.RightIndent = WApp.CentimetersToPoints(float.Par("0"));//右缩进
ancestor
WApp.Selection.ParagraphFormat.SpaceBefore =float.Par("0");//段前间距
WApp.Selection.ParagraphFormat.SpaceBeforeAuto =0;//
WApp.Selection.ParagraphFormat.SpaceAfter = float.Par("0");//段后间距
WApp.Selection.ParagraphFormat.SpaceAfterAuto = 0;//
WApp.Selection.ParagraphFormat.LineSpacingRule = Microsoft.Office.Interop.Word.WdLineSpacing.wdLineSpaceSingle;//单倍⾏距
WApp.Selection.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphJustify;// 段落2端对齐 WApp.Selection.ParagraphFormat.WidowControl = 0;//孤⾏控制
WApp.Selection.ParagraphFormat.KeepWithNext = 0;//与下段同页
WApp.Selection.ParagraphFormat.KeepTogether = 0;//段中不分页
WApp.Selection.ParagraphFormat.PageBreakBefore = 0;//段前分页
WApp.Selection.ParagraphFormat.NoLineNumber = 0;//取消⾏号
WApp.Selection.ParagraphFormat.Hyphenation = 1;//取消段字
WApp.Selection.ParagraphFormat.FirstLineIndent = WApp.CentimetersToPoints(float.Par("0"));//⾸⾏缩进
WApp.Selection.ParagraphFormat.OutlineLevel = Microsoft.Office.Interop.Word.WdOutlineLevel.wdOutlineLevelBodyText;
WApp.Selection.ParagraphFormat.CharacterUnitLeftIndent = float.Par("0");
WApp.Selection.ParagraphFormat.CharacterUnitRightIndent = float.Par("0");
WApp.Selection.ParagraphFormat.CharacterUnitFirstLineIndent = float.Par("0");
WApp.Selection.ParagraphFormat.LineUnitBefore = float.Par("0");
WApp.Selection.ParagraphFormat.LineUnitAfter = float.Par("0");
WApp.Selection.ParagraphFormat.AutoAdjustRightIndent = 1;
WApp.Selection.ParagraphFormat.DisableLineHeightGrid =0;
WApp.Selection.ParagraphFormat.FarEastLineBreakControl =1;
WApp.Selection.ParagraphFormat.WordWrap = 1;
WApp.Selection.ParagraphFormat.HangingPunctuation = 1;
WApp.Selection.ParagraphFormat.HalfWidthPunctuationOnTopOfLine = 0;
WApp.Selection.ParagraphFormat.AddSpaceBetweenFarEastAndAlpha = 1;
shikaiWApp.Selection.ParagraphFormat.AddSpaceBetweenFarEastAndDigit = 1;
WApp.Selection.ParagraphFormat.BaLineAlignment = Microsoft.Office.Interop.Word.WdBalineAlignment.wdBalineAlignAuto;
五、字体格式设定
//字体格式设定
WApp.Selection.Font.NameFarEast = "华⽂中宋";
WApp.Selection.Font.NameAscii = "Times New Roman";
WApp.Selection.Font.NameOther = "Times New Roman";
WApp.Selection.Font.Name = "宋体";
WApp.Selection.Font.Size = float.Par("14");
WApp.Selection.Font.Bold = 0;
WApp.Selection.Font.Italic = 0;
WApp.Selection.Font.Underline = Microsoft.Office.Interop.Word.WdUnderline.wdUnderlineNone;
WApp.Selection.Font.UnderlineColor = Microsoft.Office.Interop.Word.WdColor.wdColorAutomatic;
WApp.Selection.Font.StrikeThrough =0;//删除线
WApp.Selection.Font.DoubleStrikeThrough = 0;//双删除线
WApp.Selection.Font.Outline =0;//空⼼
WApp.Selection.Font.Emboss = 0;//阳⽂
WApp.Selection.Font.Shadow = 0;//阴影
WApp.Selection.Font.Hidden = 0;//隐藏⽂字
WApp.Selection.Font.SmallCaps = 0;//⼩型⼤写字母
WApp.Selection.Font.AllCaps = 0;//全部⼤写字母
WApp.Selection.Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorAutomatic;
WApp.Selection.Font.Engrave = 0;//阴⽂
WApp.Selection.Font.Superscript = 0;//上标
WApp.Selection.Font.Subscript = 0;//下标
WApp.Selection.Font.Spacing = float.Par("0");//字符间距
WApp.Selection.Font.Scaling = 100;//字符缩放
中秋节 英语WApp.Selection.Font.Position = 0;//位置
WApp.Selection.Font.Kerning = float.Par("1");//字体间距调整
WApp.Selection.Font.Animation = Microsoft.Office.Interop.Word.WdAnimation.wdAnimationNone;//⽂字效果
WApp.Selection.Font.DisableCharacterSpaceGrid =fal;
WApp.Selection.Font.EmphasisMark = Microsoft.Office.Interop.Word.WdEmphasisMark.wdEmphasisMarkNone;
六、终于找到了获取光标位置的东东。那⾥找到的忘了,感谢提供的⽼⼤。放到这⾥供⼤家参考。
有了这个和上⾯内容,相信⼤家对word⽂档的控制应该到了随⼼所欲的地步,爽啊
获取的c#语法 //get_Information
<_Information(WdInformation.wdActiveEndPageNumber)
//关于⾏号-页号-列号-位置torontostar
//information 属性
//返回有关指定的所选内容或区域的信息。variant 类型,只读。
//expression.information(type)
//expression 必需。该表达式返回⼀个 range 或 lection 对象。
//type long 类型,必需。需要返回的信息。可取下列 wdinformation 常量之⼀:
//wdactiveendadjustedpagenumber 返回页码,在该页中包含指定的所选内容或区域的活动结尾。如果设置了⼀个起始页码,并对页码进⾏了⼿⼯调整,则返回调整过的页码。
//wdactiveendpagenumber 返回页码,在该页中包含指定的所选内容或区域的活动结尾,页码从⽂档的开头开始计算⽽不考虑对页码的任何⼿⼯调整。 //wdactiveendctionnumber 返回节号,在该节中包含了指定的所选内容或区域的活动结尾。
/
/wdatendofrowmarker 如果指定的所选内容或区域位于表格的⾏结尾标记处,则本参数返回 true。
//wdcapslock 如果⼤写字母锁定模式有效,则本参数返回 true。
//wdendofrangecolumnnumber 返回表格列号,在该表格列中包含了指定的所选内容或区域的活动结尾。
//wdendofrangerownumber 返回表格⾏号,在该表格⾏包含了指定的所选内容或区域的活动结尾。
//wdfirstcharactercolumnnumber 返回指定的所选内容或区域中第⼀个字符的位置。如果所选内容或区域是折叠的,则返回所选内容或区域右侧紧接着的字符编号。
//wdfirstcharacterlinenumber 返回所选内容中第⼀个字符的⾏号。如果 pagination 属性为 fal,或 draft 属性为 true,则返回 - 1。
//wdframeislected 如果所选内容或区域是⼀个完整的图⽂框⽂本框,则本参数返回 true。
//wdheaderfootertype 返回⼀个值,该值表明包含了指定的所选内容或区域的页眉或页脚的类型,如下表所⽰。值页眉或页脚的类型
//- 1 ⽆
//0 偶数页页眉
//1 奇数页页眉
//2 偶数页页脚
//3 奇数页页脚
//4 第⼀个页眉
//5 第⼀个页脚
//wdhorizontalpositionrelativetopage 返回指定的所选内容或区域的⽔平位置。该位置是所选内容或区域的左边与页⾯的左边之间的距离,以磅为单位。如果所选内容或区域不可见,则返回 - 1。
//wdhorizontalpositionrelativetotextboundary 返回指定的所选内容或区域相对于周围最近的正⽂边界的左边的⽔平位置,以磅为单位。如果所选内容或区域没有显⽰在当前屏幕,则本参数返回 - 1。
//wdinclipboard 有关此常量的详细内容,请参阅 microsoft office 98 macintosh 版的语⾔参考帮助。
//wdincommentpane 如果指定的所选内容或区域位于批注窗格,则返回 true。
//wdinendnote 如果指定的所选内容或区域位于页⾯视图的尾注区内,或者位于普通视图的尾注窗格中,则本参数返回 true。
//wdinfootnote 如果指定的所选内容或区域位于页⾯视图的脚注区内,或者位于普通视图的脚注窗格中,则本参数返回 true。
//wdinfootnoteendnotepane 如果指定的所选内容或区域位于页⾯视图的脚注或尾注区内,或者位于普通视图的脚注或尾注窗格中,则本参数返回true。详细内容,请参阅前⾯的 wdinfootnote 和 wdinendnote 的说明。
//wdinheaderfooter 如果指定的所选内容或区域位于页眉或页脚窗格中,或者位于页⾯视图的页眉或页脚中,则本参数返回 true。
//wdinmasterdocument 如果指定的所选内容或区域位于主控⽂档中,则本参数返回 true。
//wdinwordmail 返回⼀个值,该值表明了所选内容或区域的的位置,如下表所⽰。值位置
//0 所选内容或区域不在⼀条电⼦邮件消息中。
//1 所选内容或区域位于正在发送的电⼦邮件中。
//2 所选内容或区域位于正在阅读的电⼦邮件中。
//wdmaximumnumberofcolumns 返回所选内容或区域中任何⾏的最⼤表格列数。
//wdmaximumnumberofrows 返回指定的所选内容或区域中表格的最⼤⾏数。
//wdnumberofpagesindocument 返回与所选内容或区域相关联的⽂档的页数。
//wdnumlock 如果 num lock 有效,则本参数返回 true。
//wdovertype 如果改写模式有效,则本参数返回 true。可⽤ overtype 属性改变改写模式的状态。
//wdreferenceoftype 返回⼀个值,该值表明所选内容相对于脚注、尾注或批注引⽤的位置,如下表所⽰。值描述
//— 1 所选内容或区域包含、但不只限定于脚注、尾注或批注引⽤中。
//0 所选内容或区域不在脚注、尾注或批注引⽤之前。
//1 所选内容或区域位于脚注引⽤之前。
//2 所选内容或区域位于尾注引⽤之前。
//3 所选内容或区域位于批注引⽤之前。
//wdrevisionmarking 如果修订功能处于活动状态,则本参数返回 true。
//wdlectionmode 返回⼀个值,该值表明当前的选定模式,如下表所⽰。值选定模式
//0 常规选定
//1 扩展选定
//2 列选定
//wdstartofrangecolumnnumber 返回所选内容或区域的起点所在的表格的列号。
//wdstartofrangerownumber 返回所选内容或区域的起点所在的表格的⾏号。
//wdverticalpositionrelativetopage 返回所选内容或区域的垂直位置,即所选内容的上边与页⾯的上边之间的距离,以磅为单位。如果所选内容或区域没有显⽰在屏幕上,则本参数返回 - 1。
//wdverticalpositionrelativetotextboundary 返回所选内容或区域相对于周围最近的正⽂边界的上边的垂直位置,以磅为单位。如果所选内容或区域没有显⽰在屏幕上,则本参数返回 - 1。
//wdwithintable 如果所选内容位于⼀个表格中,则本参数返回 true。
//wdzoompercentage 返回由 percentage 属性设置的当前的放⼤百分⽐。