JS中VBA脚本操作代码

设置段落和字体格式

//LineSpacingRule设置段落的行间距类型,值为枚举字典表

word.Selection.ParagraphFormat.LineSpacingRule = 4;

 

// LineSpacing间距,单位磅,当LineSpacingRule为5时,值为行数

word.Selection.ParagraphFormat.LineSpacing = 5;

// 对齐方式,值为枚举字典表

word.Selection.ParagraphFormat.Alignment = 2;

  

// 字号,单位磅

word.Selection.Font.Size = 16;

// 字体

word.Selection.Font.Name = "仿宋_GB2312";

清除格式

word.Selection.ClearFormatting();

插入文字

// 插入括号内的内容,可以是变量,会应用ClearFormatting之前设置的格式

word.Selection.TypeText("内容");

插入图片

word.Selection.InlineShapes.AddPicture('${url}/static/image/heb/国土党组呈.png');

换行word.Selection.TypeParagraph();

插入浮动图片

// RelativeHorizontalPosition和RelativeVerticalPosition是设置浮动图片的位置,是相对于什么部分,值对应枚举字典表

var shpPic = word.ActiveDocument.Shapes.AddPicture('${url}/static/image/heb/国土函.jpg');

shpPic.RelativeHorizontalPosition = 1;

shpPic.RelativeVerticalPosition = 1;

shpPic.Left = 2;

shpPic.Width = 595.35;

shpPic.Top = 2;

 

 

插入浮动文本框

// RelativeHorizontalPosition和RelativeVerticalPosition和浮动图片的一致

// 然后设置文字内容和格式,格式的设置参照前面格式设置

// shpLabel.Line是文本框的边框,Visible = 0是边框不可见

var shpLabel = word.ActiveDocument.Shapes.AddLabel(1, 370, 25, 60, 10);

shpLabel.RelativeHorizontalPosition = 1;

shpLabel.RelativeVerticalPosition = 1;

shpLabel.TextFrame.TextRange.Text = "请示〔" + ${dispatchYear} + "〕XX号";

shpLabel.TextFrame.TextRange.Font.Name = "黑体";

shpLabel.TextFrame.TextRange.Font.Size = 16;

var shpLineFormat = shpLabel.Line;

shpLineFormat.Visible = 0;

插入页码

// 打开页脚视图

word.WordBasic.ViewFooterOnly();

// 添加页码模块

word.ActiveDocument.AttachedTemplate.BuildingBlockEntries.Add("PageNumbers", 26, "BookPages", word.Selection.Range);

// 添加页码值

word.Selection.Range.Fields.Add(word.Selection.Range, -1, "Page", 1);

word.Selection.Range.Fields.Update();

// NumberStyle 设置页码格式为"- 1 -"效果 

word.Selection.HeaderFooter.PageNumbers.NumberStyle = 57;

word.Selection.HeaderFooter.PageNumbers.RestartNumberingAtSection = 0;

// 控制第一页是否需要页码

var hideFirstPageNum = 1;

if (hideFirstPageNum == 1) {

        // StartingNumber 起始页码值为2

        word.Selection.HeaderFooter.PageNumbers.StartingNumber = 2;

        // ShowFirstPageNumber 设置不显示第一页页码

        word.Selection.HeaderFooter.PageNumbers.ShowFirstPageNumber = 0;

        // 切换到下一个页脚区域,并设置页码居中显示,加try避免只有一页的情况切换报错

        try {

                word.ActiveDocument.ActiveWindow.ActivePane.View.NextHeaderFooter(); 

                 word.Selection.HeaderFooter.PageNumbers.Item(1).Alignment = 1; 

         } catch (e) {}

} else {

        word.Selection.HeaderFooter.PageNumbers.StartingNumber = 1;

        word.Selection.HeaderFooter.PageNumbers.ShowFirstPageNumber = 1;

        word.Selection.HeaderFooter.PageNumbers.Item(1).Alignment = 1;

}

// 设置字体

word.Selection.WholeStory();

word.Selection.Range.Font.Size = 14;

word.Selection.Range.Font.Name = "宋体";

word.Selection.Range.ParagraphFormat.Alignment = 1;

// 关闭页脚视图,回到正常视图

word.ActiveDocument.ActiveWindow.ActivePane.View.SeekView = 0;

// 切换到页脚视图

word.WordBasic.ViewFooterOnly();

// NumberStyle设置编码样式,57是- 1 -样式

word.Selection.HeaderFooter.PageNumbers.NumberStyle = 57;

// 禁用章节开始时页码重新编码

word.Selection.HeaderFooter.PageNumbers.RestartNumberingAtSection = 0;

// 设置奇偶页不同

// 由于该效果是双页打印,需要设置奇偶页不同,所以会多设置一个页码的效果

// 如果不需要奇偶页不同,只设置一页的效果就好

word.ActiveDocument.PageSetup.OddAndEvenPagesHeaderFooter = -1;

// 控制第一页是否需要页码,1表示第一页不显示页码,0表示第一页显示页码

var hideFirstPageNum = 1;

if (hideFirstPageNum == 1) {

// 设置页码值从2开始

word.Selection.HeaderFooter.PageNumbers.StartingNumber = 2;

// 设置不显示第一页页码,让页码从第二页开始

word.Selection.HeaderFooter.PageNumbers.ShowFirstPageNumber = 0;

// 尝试设置第二页和第三页的页码字体、字号、对其方式和左右缩进

// try为了避免只有一页报错的情况

try {

// 切换到下一个页脚,进入页脚视图时是在第一页的页脚(切换后当前是第二页)

word.ActiveDocument.ActiveWindow.ActivePane.View.NextHeaderFooter();

// 设置字体

// 选择整个页脚内容

word.Selection.WholeStory();

// 设置字号为14磅

word.Selection.Range.Font.Size = 14;

// 设置字体为宋体

word.Selection.Range.Font.Name = "宋体";

// 设置对其方式为左对齐

word.Selection.Range.ParagraphFormat.Alignment = 0;

// 设置段前缩进1个字符

word.Selection.Range.ParagraphFormat.CharacterUnitLeftIndent = 1;

// 设置段后缩进1个字符

word.Selection.Range.ParagraphFormat.CharacterUnitRightIndent = 1;

// 切换到下一个页脚(切换后当前是第三页)

word.ActiveDocument.ActiveWindow.ActivePane.View.NextHeaderFooter();

// 设置字体

// 选择整个页脚内容

word.Selection.WholeStory();

// 设置字号为14磅

word.Selection.Range.Font.Size = 14;

// 设置字体为宋体

word.Selection.Range.Font.Name = "宋体";

// 设置对其方式为左对齐

word.Selection.Range.ParagraphFormat.Alignment = 2;

// 设置段前缩进1个字符

word.Selection.Range.ParagraphFormat.CharacterUnitLeftIndent = 1;

// 设置段后缩进1个字符

word.Selection.Range.ParagraphFormat.CharacterUnitRightIndent = 1;

} catch (e) {}

} else {

// 设置页码值从1开始

word.Selection.HeaderFooter.PageNumbers.StartingNumber = 1;

// 设置显示第一页页码,让页码从第一页开始

word.Selection.HeaderFooter.PageNumbers.ShowFirstPageNumber = 1;

// 设置字体(当前是第一页页脚)

word.Selection.WholeStory();

word.Selection.Range.Font.Size = 14;

word.Selection.Range.Font.Name = "宋体";

word.Selection.Range.ParagraphFormat.Alignment = 2;

word.Selection.Range.ParagraphFormat.CharacterUnitLeftIndent = 1;

word.Selection.Range.ParagraphFormat.CharacterUnitRightIndent = 1;

// try为了避免只有一页报错的情况

try {

// 切换到下一个页脚(切换后当前是第二页)

word.ActiveDocument.ActiveWindow.ActivePane.View.NextHeaderFooter();

// 设置字体

word.Selection.WholeStory();

word.Selection.Range.Font.Size = 14;

word.Selection.Range.Font.Name = "宋体";

word.Selection.Range.ParagraphFormat.Alignment = 0;

word.Selection.Range.ParagraphFormat.CharacterUnitLeftIndent = 1;

word.Selection.Range.ParagraphFormat.CharacterUnitRightIndent = 1;

} catch (e) {}

}

// 关闭页脚视图,回到正常的文档视图

word.ActiveDocument.ActiveWindow.ActivePane.View.SeekView = 0;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值