Word一键居中所有图片

新建一个宏,贴入如下代码,执行即可。如果文章中图片较多可能会卡顿。
Sub centerPictures()
Dim shpIn As InlineShape, shp As Shape
For Each shpIn In ActiveDocument.InlineShapes
shpIn.Select
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
Next shpIn
For Each shp In ActiveDocument.Shapes
shp.Select
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
Next shp
End Sub

For something that turns out to be super-easy, there was not one place on the web that I could find this information. I needed to programmatically center all images in a Word document using Visual Basic for Applications (VBA). I searched high and low, and while I could find how to loop through all images, I couldn’t find how to center them. Then I turned to the macro writer’s best friend: the macro recorder. Duh! :blush:

It actually took me longer to find a document with pictures than it did to record the macro, see what it did, add it to my loops (see below), and test it.

You’ll notice that there are two loops in the code. That is so that it picks up inline figures as well wrapped figures.

Word中行末空格不显示

今天在弄一个申请书的时候遇到了一个小问题,某一行行末需要空格留白加下划线。但是右对齐之后发现输入的空格全都跑到页面之外了,而且无法添加下划线,加了也没用。纠结了半天,在微软的帮助中心找到了答案。

http://support.microsoft.com/kb/97793/zh-cn

这是Word的一个特性,在 Word 中,您不能应用下划线字符格式设置为只包含空格行。如果您尝试将应用这种类型的格式设置为空格字符,下划线不显示或打印。

如果实在需要的话,使用以下过程之一来扩展行上文本的末尾的下划线:

  • 要停止的下划线的行结尾处键入至少一个非换行空格。若要键入非换行空格,请按 CTRL + SHIFT + 空格键。

    -或者-

  • 在您要停止的下划线的位置设置一个右对齐制表位。应用下划线格式选项卡。

    -或者-

  • 设置带有实线,下划线引线右对齐的制表位。要执行此操作,请单击在制表符对话框 (格式菜单) 中选择引线 4 选项按钮。

如果您应用隐藏和下划线字符的格式设置为文本,下划线格式将显示在屏幕上,但它既不在打印预览中显示和打印。

在PPT和Word中添加带有语法高亮的代码块

问题很简单,我想在ppt中添加带有语法高亮的程序代码,搞了几天,总算找到了比较好的解决方法了。

详细的要求如下:

1.代码带有语法高亮。

2.结果是矢量图,也就是说可以随便缩小放大的,因此别拿直接对代码截图来忽悠我。

3.最好带有行号。

 

方法一:

下载软件SciTE,下载地址:http://www.fauskes.net/nb/syntaxms/

这个软件是我从网上搜到的,外国人写的。效果如下:

0_1318335729CRmh

不过要把带有语法高亮的格式拷贝到ppt里有点麻烦,把代码复制到这个软件内,然后用Copy as RTF复制,再粘到Word里面,然后再在ppt里面选择性粘贴为带格式文本。

当然这种方法不满足条件3。

PPT里的效果如下:

0_13183357924zyj

好吧,其实我想说一开始我看到大段的英文就很头疼,我简单看了下,没有看到在ppt里面需要额外的步骤,直接粘贴了,结果当然很失望,于是继续找其他的方法。

 

 

以下两个应该是我自己原创的吧。

方法二:

首先使用notepad++打印源代码的话可以获得带有完整语法高亮的代码,我一般打印成pdf,但是pdf在PPT里面虽然能够直接插入,但是pdf一般都是一整页A4,如果代码比较短的话需要对pdf重新进行裁剪,还是比较麻烦的。

这个方法不满足条件2,虽然在pdf里面内容是矢量的,但是我发现在PowerPoint里面插入pdf后放大时出现了模糊。

 

方法三:

继续想,本质上我想要一个矢量图,所以我就想到了eps格式,把pdf另存为eps后就直接能够在PPT里面像插入图片一样插入代码了。编辑是也可以直接像编辑图片一样,比较方便,可以随意裁剪。

这种方法基本能够满足上述三个条件了。

效果如下:

0_1318335993rYrE

 

最后总结一下,整体的思路分为两个方向:

a)将代码自动转换成带有格式的文本。方法一是这个路子,另外一个流产的方法是生成html代码然后插入到PPT里,但是这个我没有试成功。

b)将代码转换成带有语法高亮的矢量图。方法二、三都是这个思路,虽然方法二在实际插入到PPT中时失去了矢量图的特性。而将代码转换成带语法高亮的图片则是依靠Notepad++强大的打印功能。

 

个人推荐方法三,因为我不是很喜欢SciTE里的语法高亮,而Notepad++提供了各种语法高亮方案,可以自定义输出,并且可以输出行号。

 

 

10月18日更新

找到了一个比SciTE更加强大的软件HightLight,官网是:http://www.andre-simon.de/

这款软件可以把源码输出成各种不同格式,例如tex、html等。我最初就是想找在Latex下的代码高亮而找到的。

0_1318930764lQin

就看这个界面就知道非常强大了……支持自动调整格式、添加行号、n多配色方案,字体设置等等……

 

不过需要注意的是,上述软件均对中文支持不好!!!代码有中文注释的话一律会被转换成乱码。建议转换前去掉注释或者干错习惯写英文注释。