怎样在word中word同时显示两页选择两幅图

查看: 9368|回复: 7
如何用VBA让word中一页并排插入两张图片并调整至合适大小?
积分学习力
魅力值 影响力
消费券 Ti币好友
在线时间 小时
最后登录月度优秀 次管理次数 次
网站名称: Excel技巧网 | Excel专家栖息谷 | 微软中文技术社区合作伙伴站内采编:
署名作者: KevinChengCW
版权声明: 版权归本站与作者共有 除本站官方外非作者本人转载须经许可并注明出处
适用版本: 03以前版本&
语言环境: 简体中文
学习方法: 掌握Excel技巧的关键是动手操作
下载 ≠ 知识
免费注册成为本站会员,享用更多功能,结识更多Office办公高手!
才可以下载或查看,没有帐号?
Q: 如何用VBA让word中一页并排插入两张图片并调整至合适大小?
A: 代码如下:
Sub test()
Dim FN As String, N%, W#, H#, PW#, PH#
With ActiveDocument.PageSetup&&'以下设置纸型及页边距(A4,页边距2cm),并计算出图片应有的宽高
& & .Orientation = wdOrientLandscape
& & .TopMargin = CentimetersToPoints(2)
& & .BottomMargin = CentimetersToPoints(2)
& & .LeftMargin = CentimetersToPoints(2)
& & .RightMargin = CentimetersToPoints(2)
& & .Gutter = CentimetersToPoints(0)
& & .PageWidth = CentimetersToPoints(29.7)
& & .PageHeight = CentimetersToPoints(21)
& & PW = (.PageWidth - .LeftMargin - .RightMargin) / 2
& & PH = .PageHeight - .TopMargin - .LeftMargin
End With
FN = Dir(ThisDocument.Path & &\*.jpg&) '循环当前文件目录下各个jpg文件
Do While FN && && '当文件名不为空时持续循环
& & Selection.InlineShapes.AddPicture FN '插入当前循环到的jpg文件
& & FN = Dir '循环到下一个文件
Loop
For N = 1 To ActiveDocument.InlineShapes.Count '下面循环已插入的各个文件并调整尺寸
& & With ActiveDocument.InlineShapes(N)
& && &&&W = .Width '取得宽与高
& && &&&H = .Height
& && &&&If W / H &= PW / PH Then '如果图片的宽高比大于应设置的宽高比,则
& && && && &.Width = PW& &'调整宽度为应设置的宽度,高度按调整前后的宽度比进行缩放
& && && && &.Height = PH * W / PW
& && &&&Else& & '如果图片的宽高比小于应设置的宽高比,则
& && && && &.Height = PH&&'调整高度为应设置的高度,宽度按调整前后的高度比进行缩放
& && && && &.Width = PW * H / PH
& && &&&End If
& & End With
Next N
ThisDocument.Save '文件保存
End Sub复制代码
附示例文件。
08:43 上传
点击文件名下载附件
6.78 KB, 下载次数: 45
如何用VBA让word中一页并排插入两张图片并调整至合适大小?
学office,哪能不关注全网最大的Office类微博(新浪)
初级三, 积分 464, 距离下一级还需 36 积分
积分学习力
魅力值 影响力
消费券 Ti币好友
在线时间 小时
最后登录月度优秀 次
哈哈,K哥都跑Word中去用VBA了,我们要在后面跟上!
学office,哪能不关注全网最大的Office类微博(新浪)
新鲜人, 积分 1, 距离下一级还需 9 积分
积分学习力
魅力值 影响力
消费券 Ti币好友
在线时间 小时
最后登录月度优秀 次
Selection.InlineShapes.AddPicture FN '插入当前循环到的jpg文件
请问斑竹,为何运行到上一语句时会出现如下对话框
& && && && && && && && && && && && &
12.jpg (15.3 KB, 下载次数: 0)
如何用VBA让word中一页并排插入两张图片并调整至合适大小?
02:16 上传
参考5楼!:-)&
学office,哪能不关注全网最大的Office类微博(新浪)
初级一, 积分 25, 距离下一级还需 25 积分
积分学习力
魅力值 影响力
消费券 Ti币好友
在线时间 小时
最后登录月度优秀 次
学习ing……
学office,哪能不关注全网最大的Office类微博(新浪)
积分学习力
魅力值 影响力
消费券 Ti币好友
在线时间 小时
最后登录月度优秀 次管理次数 次
Sub test()
Dim FN As String, N%, W#, H#, PW#, PH#
With ActiveDocument.PageSetup&&'以下设置纸型及页边距(A4,页边距2cm),并计算出图片应有的宽高
& & .Orientation = wdOrientLandscape
& & .TopMargin = CentimetersToPoints(2)
& & .BottomMargin = CentimetersToPoints(2)
& & .LeftMargin = CentimetersToPoints(2)
& & .RightMargin = CentimetersToPoints(2)
& & .Gutter = CentimetersToPoints(0)
& & .PageWidth = CentimetersToPoints(29.7)
& & .PageHeight = CentimetersToPoints(21)
& & PW = (.PageWidth - .LeftMargin - .RightMargin) / 2
& & PH = .PageHeight - .TopMargin - .LeftMargin
FN = Dir(&D:\图书案例\图片\*.jpg&)
Do While FN && &&
& & Selection.InlineShapes.AddPicture &D:\图书案例\图片\& & FN& & 'FN只是返回文件名,需要加上路径
& & FN = Dir
For N = 1 To ActiveDocument.InlineShapes.Count
& & With ActiveDocument.InlineShapes(N)
& && &&&W = .Width
& && &&&H = .Height
& && &&&If W / H &= PW / PH Then
& && && && &.Width = PW * 0.99& & '理论上讲图片的宽度应该刚好占版心宽度的一半,两个一半刚好撑满整个宽度,实际运用时应将图片再缩小一小点,否则两张图片还是可能处于不同的页,两张图片中间留出一条小缝也更好一些。
'& && && && &.Height = PH * W / PW& & '插入图片时默认是锁定纵横比的,调整宽或高即可,两个都调反而有误。
& && &&&Else
& && && && &.Height = PH * 0.99
'& && && && &.Width = PW * H / PH
& && &&&End If
& & End With
ThisDocument.Save
学office,哪能不关注全网最大的Office类微博(新浪)
积分学习力
魅力值 影响力
消费券 Ti币好友
在线时间 小时
最后登录月度优秀 次管理次数 次
嗯,由于是通过比例换算得到的,所以锁不锁定纵横比都没关系,宽高调整语句确实还是应该都加上,不过公式确实有误,应该下面这个才对,是按照图片等比例缩放,而不是根据PW、PH大小等比例缩放。
& & For N = 1 To ActiveDocument.InlineShapes.Count& & '循环插入文档中的每一张图片
& && &&&With ActiveDocument.InlineShapes(N)& & '对第N张图片进行处理
& && && && &W = .Width& & '将图片的当前宽度值赋值给变量W
& && && && &H = .Height& & '将图片的当前高度值赋值给变量H
& && && && &If W / H &= PW / PH Then& & '将调整尺寸前图片的宽高比值与图片所能占据的最大宽高比值进行比较以判断应该对图片的高度还是宽度进行调整
& && && && && & .Width = PW * 0.99& & '将图片宽度修改为所能占据最大宽度的99%
& && && && && & .Height = H * PW / W
& && && && &Else
& && && && && & .Height = PH * 0.99& & '将图片高度修改为所能占据最大高度的99%
& && && && && & .Width = W * PH / H
& && && && &End If
& && &&&End With
学office,哪能不关注全网最大的Office类微博(新浪)
积分学习力
魅力值 影响力
消费券 Ti币好友
在线时间 小时
最后登录月度优秀 次管理次数 次
貌似还是先设置等比例缩放,再调整高或宽比较省事。
& & For N = 1 To ActiveDocument.InlineShapes.Count& & '循环插入文档中的每一张图片
& && &&&With ActiveDocument.InlineShapes(N)& & '对第N张图片进行处理
& && && && &W = .Width& & '将图片的当前宽度值赋值给变量W
& && && && &H = .Height& & '将图片的当前高度值赋值给变量H
& && && && &.LockAspectRatio = msoTrue& & '锁定纵横比(即令宽高等比例缩放)
& && && && &If W / H &= PW / PH Then& & '将调整尺寸前图片的宽高比值与图片所能占据的最大宽高比值进行比较以判断应该对图片的高度还是宽度进行调整
& && && && && & .Width = PW * 0.99& & '将图片宽度修改为所能占据最大宽度的99%
& && && && &Else
& && && && && & .Height = PH * 0.99& & '将图片高度修改为所能占据最大高度的99%
& && && && &End If
& && &&&End With
学office,哪能不关注全网最大的Office类微博(新浪)
新鲜人, 积分 8, 距离下一级还需 2 积分
积分学习力
魅力值 影响力
消费券 Ti币好友
在线时间 小时
最后登录月度优秀 次
Sub test()
Dim FN As String, N%, W#, H#, PW#, PH#
With ActiveDocument.PageSetup&&'以下设置纸型及页 ...
问一个老师,能不能下面加个文件名?
学office,哪能不关注全网最大的Office类微博(新浪)
站长推荐 /1
关注 微信号:exceltip_net
回复“教程”二字,即可下载。
Excel技巧网的会员探讨问题仅代表其个人意见,与网站的立场无关。任何违反国家和地方相关法律法规的言论,本站有义务协助政府相关部门追究发言者的责任!
本站中非注明转载文章与案例的版权为作者与Excel技巧网共有。若非原文作者,本站之外任何单位或个人未经允许,不得将其用于商业用途。
若非原文作者,任何形式的非商业性转载必须获得Excel技巧网或作者允许,并注明作者和出处。
会员发表的帖子如涉及版权纠纷,须自行负责。详情请参考注册时的网站服务条款。
本站特聘法律顾问:沈学律师
Powered by电脑教程子分类在word中,如何一次选择多幅图片?_百度知道
在word中,如何一次选择多幅图片?
  word中,一次选择多幅图片或多个图形方法如下:  1、打开word;  2、点击绘图工具栏中的选中多个对象按钮;  3、在弹出的窗口,勾选需要选择的图形或图片;  4、点击确定,完成。
其他类似问题
为您推荐:
按住Ctrl依点击需要图片即文本框或象选择则点击图所示按钮
其他8条回答
图片间文字啊没办要想存图片吧word文档另存 .html格式图片另外文件夹
按着ctrl键就可以了。然后鼠标左键就可以直接选择了。
按住Ctrl,然后点选
至今为止WORD还没有一次性选择多幅图片的功能。只能按住CTRL。一个一个图片的点,那样就全部选上了。
如果是断开的选多张就按住CTRL+单击就可以,若是连续选多张,请单击第一张,然后把屏滚动到你要选择的最后一张,按SHIFT+单击就可以,
shift+你所要选中的图片
按住CTRL键一起选
您可能关注的推广回答者:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 word同时显示两页 的文章

 

随机推荐