0x00 前言

保持图片原始比例(锁定横纵比例)的情况下,批量调整为适应页面尺寸的图片大小。

名词

LockAspectRatio - 锁定横纵比例, MsoTrue if the specified shape retains its original proportions when you resize it. MsoFalse if you can change the height and width of the shape independently of one another when you resize it. Read/write MsoTriState.

wdInlineShapeLinkedPicture - 嵌入式连接图片(一般浏览器复制过来的图片类型)

wdInlineShapePicture - 嵌入式图片

0x01 使用宏

P.S. 2019.8.8 更新代码
代码如下:

Sub ResizePhotos()
Dim Shap As InlineShape
Dim maxWith
maxWith = CentimetersToPoints(16.79)For Each Shap In ActiveDocument.InlineShapesDebug.Print Shap.Type; "Shap.Type"; wdInlineShapePictureIf (Shap.Type = wdInlineShapeLinkedPicture) Or (Shap.Type = wdInlineShapePicture) ThenIf Shap.Width > maxWith Then' Shap.LockAspectRatio = msoTrueDebug.Print "before width: "; Shap.WidthDebug.Print "before Height: "; Shap.HeightoW = Shap.WidthoH = Shap.Heightaspect = oH / oW 'aspect rationH = aspect * CentimetersToPoints(16.79) 'new widthShap.Width = CentimetersToPoints(16.79)Shap.Height = nHDebug.Print "after width: "; Shap.WidthDebug.Print "after Height: "; Shap.HeightEnd IfEnd IfNextEnd Sub

其中, 16.79 为厘米单位的A4页面宽度,CentimetersToPoints为厘米转像素的函数

1. 打开隐藏的宏工具

点击左上角的文件-选项-自定义功能区,勾选左侧的"开发工具"

此时,文档功能区出现开发工具

2. 创建宏函数

点击宏,或者使用快捷点Alt + F8,打开宏管理,创建名为ResizePhotos的宏函数

复制粘贴代码即可

运行宏函数

方法一、 在编辑窗口按F5即可

方法二、在管理窗口选中函数,点击运行

0x02 使用F4重复上一次action

  1. 右击第一幅图片,打开"设置大小与位置"
  2. 调整宽度到16.79厘米,确定
  3. 点击下一张图片,按F4键,图片即可被修改(MAC 使用command + Y)
  4. 依次修改后面的图片即可

0x03 Tips

  1. 宏自带纵横比锁定变量,但是设置为True时,并没有生效,所以自己算了一遍
  2. 图片的类型需要注意,不确定的时候可以打印出来
  3. 宏是vb语言,之前没学过,但是上手还蛮快的

0x04 参考文献

https://superuser.com/questions/940771/how-can-i-resize-multiple-images-in-a-ms-word-document
https://zhuanlan.zhihu.com/p/42588748
https://answers.microsoft.com/en-us/office/forum/office_2010-word/creating-a-macro-for-resizing-several-photos-in/b251f117-8d17-4522-bac4-d128c32587ba
https://docs.microsoft.com/en-us/office/vba/api/word.wdinlineshapetype

Word2013批量修改图片尺寸相关推荐

  1. background-image属性设置图片尺寸_Matlab | 批量修改图片尺寸及图片灰度化

    介绍: 在情绪认知的心理学实验中,我们从不同的人脸图片库获取实验所需的实验材料.在正式使用之前往往需要对人脸进行预处理,以控制无关变量对实验结果的影响.常见的预处理有将图片修改为统一尺寸.灰度化.本文 ...

  2. 新发的日常小实验——使用python的PIL库批量修改图片尺寸,确保宽和高是4的倍数(Unity、PIL、Pillow、压缩)

    文章目录 一.问题:图片导入Unity被调整成2的N次方 二.设置不转换成2的N次方 三.使用ETC压缩格式,图片宽高必须是4的倍数 四.使用python的PIL库批量修改图片尺寸,确保宽和高是4的倍 ...

  3. 批量修改图片尺寸的方法

    批量修改图片尺寸的方法 在日常的工作和生活中,我们经常会遇到需要对图片的尺寸进行修改,只需要修改几张还好,可以要修改几十张甚至更多的情况下,就真的很枯燥很费时间了.如果能够批量修改就好了. 我发现还真 ...

  4. Thumbnails批量修改图片尺寸

    Thumbnails批量修改图片尺寸 package com.test;import net.coobird.thumbnailator.Thumbnails; import net.coobird. ...

  5. python怎样批量修改文件大小_python:批量修改文件名批量修改图片尺寸

    功能:批量修改图片尺寸 图像的几何变换,如缩放.旋转和翻转等,在图像处理中扮演着重要的角色,python中的Image类分别提供了这些操作的接口函数,下面进行逐一介绍. 1.图像的缩放 图像的缩放使用 ...

  6. 批量修改图片尺寸怎么做?这几种方法轻松批量修改

    当我们需要将图片用于不同的用途时,可能需要对其尺寸进行修改,如果我们需要在社交媒体上分享图片,可能需要将其尺寸调整到符合平台要求的大小,在设计中,有时需要将图片按照特定的尺寸比例进行裁剪或拉伸,以适应 ...

  7. matlab中批量修改图片尺寸

    对于做图像处理的朋友,如何把图片处理成自己想要的尺寸,代码如下! clear; clc; close all;   imagePath = 'H:\毕业设计相关matlab代码\vehicles\'; ...

  8. C# 批量修改图片尺寸和DPI

    读取指定路径下的图片文件,修改图片尺寸和pdi 我的文件夹下都是图片, 如果是混合的文件,自己写个后缀名过滤函数就行,或者修改  GetFiles 过滤参数 "*". string ...

  9. Photoshop 批量修改图片尺寸

    1 打开一张图片之后,选择窗口菜单下的动作选项打开 2.点击右下角的文件夹图标,新建一个动作组并命好名字,然后再在文件夹下新建一个图片尺寸修改动作文件,再点击右边的记录选项: 3.新建组 4.新建动作 ...

  10. python实现批量修改图片尺寸和图片名称

    图片尺寸修改: import os from PIL import Imagefilename = os.listdir("D:\\Process\\old") base_dir ...

最新文章

  1. 转载:oracle RAC集群启动和关闭
  2. MFC中的几个常用类——CWnd
  3. python播放本地视频教程_怎样用python播放视频
  4. 函数的实参 函数的形参 闭包 js
  5. is not allowed to connect to this MySQL server解决办法
  6. Star PDF Watermark Ultimate中文版
  7. mmap直接控制底层
  8. JSTL和EL的使用
  9. 【JS跨域取XML】之——借助AS的URLLoader
  10. 拓端tecdat|R语言群组变量选择、组惩罚group lasso套索模型预测分析新生儿出生体重风险因素数据和交叉验证、可视化
  11. 不错的Unity教程
  12. python制作词云图
  13. 开源项目_springboot的答题系统+spark大数据实时分析
  14. 计算机网络:从入门到放弃
  15. qlv转mp4出来没有画面,无画面,解决方法
  16. 微分中值定理定义及几何意义
  17. linux学习随手笔记
  18. pyaudio录制音频和播放音频
  19. Document-oriented database(文档数据库)
  20. 交互方式的系统总结:如何让App拥有一个有趣的“灵魂”?

热门文章

  1. Mybatis关联关系
  2. C语言基础编程题1.0
  3. win10--ubuntu 16.04桌面共享
  4. 怎么推广“外卖CPS项目”赚佣金?(饿了么美团外卖红包小程序搭建教程)
  5. 安卓layout布局三等分
  6. check exception和uncheck exception
  7. 消费者生产者问题,哲学家问题
  8. SourceGenerator入门指北
  9. Cisco 思科模拟器命令
  10. 最小二乘法概念和代码示例