多图片的Word文档减肥.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多图片的Word文档减肥

多图片的Word文档减肥(特别适用于Visio图片)我在日常工作中,大部分的Word文档都会配有很多图片。包括例如Visio绘制的UML图,界面截图。 图多了之后,Word文件会很大。以前,对这类Word文档减肥,我都是采用图片压缩: 选中文档中一幅图片 右键-设置图片格式-图片-压缩-选“文档中所有图片”-更改分辨率为“Web/屏幕”-下边全选中 点确定。 但是这种方法只对截图和粘贴进来的图片文件有效,对Visio这种ole对象无效。 于是又发现了这种方法对Visio图减肥(Word2003可用,2000不可): 选中一幅Visio插图 Ctrl+X 剪切 菜单-编辑-选择性粘贴(Edit - Paste special) 选“图片(PNG)”格式。 对每一幅Visio图片都如此操作,保存后,Word文档显著变小。 PNG是一种无损压缩格式,适合于保存有大面积色块的图像,例如UML图和软件屏幕截图。这个性质类似于GIF,但是效果更好。而且根据我试验的结果,把Visio图形按上述办法转换为GIF效果很差,线条变得断断续续。而选用PNG效果不错,但是要注意先手动将Visio图调整到所需要的大小,转换为PNG后再改变大小的话效果也会变差。 对于这种大量重复性的机械劳动,当然要让电脑自己来完成。只需用VBA,遍历文档中的Visio图形,剪切,选择性粘贴为PNG即可。 通过查看Word的VBA Reference和调试,知道了Word文档中的Visio属于InlineShape而不是Shape,可以用ActiveDocument.InlineShapes得到所有InlineShape的集合。但是InlineShape有很多种,以他们的Type属性区分,包括: wdInlineShapeEmbeddedOLEObject wdInlineShapeHorizontalLine wdInlineShapeLinkedOLEObject wdInlineShapeLinkedPicture wdInlineShapeLinkedPictureHorizontalLine wdInlineShapeOLEControlObject wdInlineShapeOWSAnchor wdInlineShapePicture wdInlineShapePictureBullet wdInlineShapePictureHorizontalLine wdInlineShapeScriptAnchor 从名字来看,wdInlineShapeEmbeddedOLEObject 和wdInlineShapePicture 类型应该被转换,其它的似乎不宜转换为PNG。 再找到PasteSpecial方法,它通过一个参数DataType来设定粘贴的类型 wdPasteBitmap wdPasteDeviceIndependentBitmap wdPasteEnhancedMetafile wdPasteHTML wdPasteHyperlink wdPasteMetafilePicture wdPasteOLEObject wdPasteRTF wdPasteShape wdPasteText 这里边竟没有PNG!……先蒙一个试试,在程序中写: ??? Selection.PasteSpecial DataType:=wdPastePNG 没有效果。嗯,我先手动做一遍,录一个宏,看看Word是怎么用VBA来完成的。 结果发现,DataType被直接设成了14,没有使用常量。 好,那我也这么写。这是最后的代码,存到了Normal.dot中: Sub ConvertAllVisioToPNG() ??? For Each oneShape In ActiveDocument.InlineShapes ??????? If oneShape.Type = wdInlineShapeEmbeddedOLEObject Or _ ??????? oneShape.Type = wdInlineShapePicture Then ??????????? oneShape.Select ??????????? Selection.Cut ??????????? Selection.PasteSpecial DataType:=14 ??????? End If ??? Next End Sub [添加方法] Word中Alt+F11打开VBA编辑器,左边选Normal - Microsoft Word对象 - 双击ThisDocument。右边粘贴入上边的代码。保存 [使用方法] Word中Alt+F8打开“宏”对

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档