引言


在学习编程的过程中,常常会使用word来做笔记,下面我将对如何利用word宏来进行代码的排版进行说明


1.工具

  我用的是word2007,word2003和word2010操作也差不多

2.基本操作

  从visual studio、QT、Android studio复制代码到word时,通常都会自带高光的,直接复制粘贴到word就行了。
  但是作为一个精致的程序媛,怎么可能只满足这么点要求呢,我们通常看到的代码除了高光,还有灰色的背景和代码行号,下面才是我想介绍的重点了。
  话不多说,为了不耽搁各位时间,先上图,看完图感兴趣的就接着看,觉得没什么用的看完图就可以先撤退了。

图1

图2
  
  通常复制到word中的代码如图1所示,利用VBA进行word宏的编写可以为
代码添加行号和灰色背景

3.实现方法

  打开word,利用Alt +F11,可以进入VBA,然后在“Normal -> 模块”,右键选择“插入模块”就行了,然后进行代码编写。(Normal是Word打开时会自动载入的一个模板文件,把宏放在这里,可以保证在任意一个Word文档中都能调用。)

部分代码

 '统计行数Dim wordCount, lineCountSet myRange = Selection.RangelineCount = myRange.ComputeStatistics(Statistic:=wdStatisticLines) 
    '插入1*2的表格ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=1, NumColumns:= _2, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _wdAutoFitFixedWith Selection.Tables(1)If .Style <> "网格型" Then.Style = "网格型"End If.ApplyStyleHeadingRows = True.ApplyStyleLastRow = False.ApplyStyleFirstColumn = True.ApplyStyleLastColumn = False.ApplyStyleRowBands = True.ApplyStyleColumnBands = FalseEnd With
    '设置代码行号   For i = 1 To lineCount - 1Selection.ParagraphFormat.LineSpacingRule = wdLineSpaceExactlySelection.ParagraphFormat.LineSpacing = 12Selection.Font.Size = 11Selection.Font.Color = BlackSelection.Font.Name = TahomaSelection.TypeText Text:=iSelection.TypeParagraph '换行              NextSelection.TypeText Text:=lineCount
   Selection.Tables(1).Select' 背景色为morning的配色方案,RGB为(229,229,229)With Selection.Tables(1)With .Shading.Texture = wdTextureNone.ForegroundPatternColor = wdColorAutomatic.BackgroundPatternColor = 15066597End With.Borders(wdBorderLeft).LineStyle = wdLineStyleNone.Borders(wdBorderRight).LineStyle = wdLineStyleNone.Borders(wdBorderTop).LineStyle = wdLineStyleNone.Borders(wdBorderBottom).LineStyle = wdLineStyleNone.Borders(wdBorderVertical).LineStyle = wdLineStyleNone.Borders(wdBorderDiagonalDown).LineStyle = wdLineStyleNone.Borders(wdBorderDiagonalUp).LineStyle = wdLineStyleNone.Borders.Shadow = False.AutoFitBehavior (wdAutoFitContent)  '自动调整大小End WithWith Options.DefaultBorderLineStyle = wdLineStyleSingle.DefaultBorderLineWidth = wdLineWidth050pt.DefaultBorderColor = wdColorAutomaticEnd With' 段落无首行缩进,行间距为固定值12磅With Selection.ParagraphFormat.LeftIndent = CentimetersToPoints(0).RightIndent = CentimetersToPoints(0).SpaceBefore = 0.SpaceBeforeAuto = False.SpaceAfter = 0.SpaceAfterAuto = False.LineSpacingRule = wdLineSpaceExactly.LineSpacing = 12.KeepWithNext = False.KeepTogether = False.PageBreakBefore = False.NoLineNumber = False.Hyphenation = True.FirstLineIndent = CentimetersToPoints(0).OutlineLevel = wdOutlineLevelBodyText.CharacterUnitLeftIndent = 0.CharacterUnitRightIndent = 0.CharacterUnitFirstLineIndent = 0.LineUnitBefore = 0.LineUnitAfter = 0.MirrorIndents = False.TextboxTightWrap = wdTightNone.AutoAdjustRightIndent = True.DisableLineHeightGrid = False.FarEastLineBreakControl = True.WordWrap = True.HangingPunctuation = True.HalfWidthPunctuationOnTopOfLine = False.AddSpaceBetweenFarEastAndAlpha = True.AddSpaceBetweenFarEastAndDigit = True.BaseLineAlignment = wdBaselineAlignAutoEnd WithSelection.Font.Size = 11Selection.Font.Name = Tahoma' 清除原有的段落底纹Selection.ParagraphFormat.Shading.BackgroundPatternColor = wdColorAutomatic

  先选中需要进行处理的代码,然后点击word中开发工具,点击宏,运行即可。
  也可以通过word选项,自定义,添加宏快捷键,运行时只需要先选中代码,然后点击快捷键。
  详情可以去我上传的资源下载哦。
下载资源

利用VBA在Word中排出漂亮的代码相关推荐

  1. 如何在Word中排出漂亮的代码

    引言 学数学和计算机,当然还是用LaTeX排版技术文章更方便.但有时候还是迫不得已需要用Word写作,另外Word其实也有Word的好处,比如细节上的修改要比LaTeX方便. 从Matlab高亮代码复 ...

  2. 如何在Word中排出漂亮的代码,去除回车符,去除拼写检查

    这位博主写到很到位,这里补充一下在VBA里用模块的部分. https://blog.csdn.net/code4101/article/details/41802715 1.放代码的方式是贴纯文本. ...

  3. 如何在Word中添加漂亮的代码块 | 很全的方法整理和比较

    文章目录 一.网上已有的方法 二.推荐方法 一.网上已有的方法 网上已有的方法总结下来主要有以下几种: planetB | Syntax Highlight Code In Word Document ...

  4. 利用VBA实现word文档手写体打印

    利用VBA实现word文档手写体打印 一.缘起 二.实现 1.下载手写字体 2.导入书写字体 3.效果展示 4.利用VBA优化 5.优化后效果 三.附件 1.A4纸打印效果 2.信纸打印效果 3.完整 ...

  5. 利用VBA将excel中链接转换为图片形式存放在指定的单元格中

    利用VBA将excel中链接转换为图片形式存放在指定的单元格中 VBA代码如下 Private Declare Function URLDownloadToFile Lib "urlmon& ...

  6. 通过VBA将word中的表格导入到excel中

    通过VBA将word中的表格导入到excel中 由于项目需要,需要将word中的表格按照格式导入到excel中,所以通过在word中写VBA程序的方式将word的内容导出到excel中. 1.添加&q ...

  7. 在word中使用notepad++实现代码的语法高亮

    转载自:http://blog.csdn.net/woohello/article/details/7621651 有时写文档时需要将代码粘贴到word中,但直接粘贴到word中的代码虽能保持换行与缩 ...

  8. 如何用vba在word中快速移动或选中内容区域?

    转自:http://www.exceloffice.net/archives/1598 在word中经常需要操作特定位置的文本内容,定位文本内容就显得尤为重要. 在word vba中Range. Se ...

  9. 如何用word写书_如何用vba在word中添加打勾的方框?

    最近在做word vba项目,遇到个需求,需要根据条件判断批量输出打√的方框和不打√的方框,类似如下图所示: 本来以为是个很容易的事情,没想到阻碍不小. 首先,我们先看看如何在word文档中手动输入带 ...

最新文章

  1. Go 学习笔记(21)— 标准库 os 操作文件(新建、打开、写入、读取、删除、关闭文件)
  2. R语言ggplot2可视化分组的重叠图实战:grouped overlay plot
  3. 利用watch在小程序中实现全局状态共享
  4. Asp.net core使用IIS在windows上进行托管
  5. 【BZOJ 1877】 [SDOI2009]晨跑(费用流)
  6. *dev=filp-private_data;这一句的理解
  7. @Param注解注意事项(小的细节)
  8. 11.m进制转十进制
  9. java bean对象属性复制,将一个对象的属性值赋值给另一个对象,对象之间的复制方法
  10. 8.String、StringBuffer、enum枚举
  11. 高性能Javascript HTML集合访问的学习笔记
  12. “让我陪你走到人生的尽头。” | 也许AI能提供更好的临终关怀
  13. 专科python应届生工资多少-应届生自学Python两个月,为什么找不到工作?
  14. Ubuntu14.04 64位安装iNode客户端
  15. 【安信可IDE 1.5模板专题1】安信可windows一体化环境IDE V1.5 版本降临,体积更小,兼容新旧版本SDK编译
  16. echart自定义动画_echarts动画效果
  17. TEST语言编译器--语法分析
  18. python启动netron
  19. CentOS7环境下 人大金仓kes86数据库安装过程
  20. Matlab中interp2和interpn的差异

热门文章

  1. WORD插入摄氏华氏度及换算
  2. Linux安装水星MW150US
  3. GitHub标星8k!java正则数字
  4. 筷子兄弟的病毒营销,只用了一首歌!
  5. alpha shapes提取边界原理及详细步骤
  6. 建立枚举类型Weekday,假设今日为星期二,计算10天后为星期几。
  7. 一个IT前辈的JIRA使用心得
  8. JAVA实验二:设计一个教师类Teacher(属于cn.net.sdkd包)实现接口进行排序等
  9. 计算机编程课程顺序_您可以在2月开始免费在线编程和计算机科学课程
  10. 如果早晚都要死去,为什么还要活着?