Word中每页插入两张图片(VBA+VSTO)
Word中每页插入两张图片(VBA+VSTO)
我们在平时的工作中经常会做一些简报,插入图片,一般情况下每页放两张图片比较美观,再配上文字说明就行了。可是每次都很烦人,图片不是大了就是小了,还要设置四周环绕或者其他环绕格式,调整高度、宽度…一系列的操作,如果是两张图片还好,再多一点就很头疼了。那么怎样用VBA一件操作呢,下面是我自己写的代码,希望能帮到你。
1.VBA代码:
Sub 每页两张图片()Dim myfile As FileDialog Set myfile = Application.FileDialog(msoFileDialogFilePicker) With myfile .InitialFileName = "E:\工作文件" '这里输入你要插入图片的目标文件夹 If .Show = -1 Then For Each FN In .SelectedItems Selection.Text = Basename(FN) '这两句移到这里 Selection.Font.Name = "仿宋_GB2312" Selection.Font.Size = 16 Selection.startof Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter If Selection.Start = ActiveDocument.Content.End - 1 Then '如光标在文末 Selection.TypeParagraph '在文末添加一空段 Else Selection.MoveUp End If Set MyPic = Selection.InlineShapes.AddPicture(FileName:=FN, SaveWithDocument:=True) '按比例调整相片尺寸 WidthNum = MyPic.Width '在此处修改相片宽,单位厘米 MyPic.Width = CentimetersToPoints(15) '宽10CM MyPic.Height = CentimetersToPoints(9.5) '高10CM If Selection.Start = ActiveDocument.Content.End - 1 Then '如光标在文末 Selection.TypeParagraph '在文末添加一空段 Else Selection.MoveUp End If Next FN Else End If End With Set myfile = NothingEnd SubFunction Basename(FullPath) '取得文件名 Dim x, y Dim tmpstring tmpstring = FullPath x = Len(FullPath) For y = x To 1 Step -1 If Mid(FullPath, y, 1) = "\" Or _ Mid(FullPath, y, 1) = ":" Or _ Mid(FullPath, y, 1) = "/" Then tmpstring = Mid(FullPath, y + 1) Exit For End If Next Basename = Left(tmpstring, Len(tmpstring) - 4)End Function 2.转成VSTO:
```VBAPrivate Sub Button19_Click(sender As Object, e As RibbonControlEventArgs) Handles Button19.ClickDim myfile As FileDialogWith app.Application.FileDialog(Microsoft.Office.Core.MsoFileDialogType.msoFileDialogFilePicker)If .Show = -1 ThenFor Each FN In .SelectedItemsapp.Selection.Text = Basename(FN) '这两句移到这里app.Selection.Font.Name = "仿宋_GB2312"app.Selection.Font.Size = 16app.Selection.StartOf()app.Selection.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenterIf app.Selection.Start = app.ActiveDocument.Content.End - 1 Then'如光标在文末app.Selection.TypeParagraph() '在文末添加一空段Elseapp.Selection.MoveUp()End IfDim Mypic = app.Selection.InlineShapes.AddPicture(FileName:=FN, SaveWithDocument:=True) '按比例调整相片尺寸Dim WidthNum = Mypic.Width'在此处修改相片宽,单位厘米Mypic.Width = app.CentimetersToPoints(15) '宽10CMMypic.Height = app.CentimetersToPoints(10) '高10CMIf app.Selection.Start = app.ActiveDocument.Content.End - 1 Then '如光标在文末app.Selection.TypeParagraph() '在文末添加一空段Elseapp.Selection.MoveUp()End IfNext FNElseEnd IfEnd Withmyfile = NothingEnd SubFunction Basename(ByVal FullPath As String) As String '取得文件名Dim x, yDim tmpstringtmpstring = FullPathx = Len(FullPath)For y = x To 1 Step -1If Mid(FullPath, y, 1) = "\" OrMid(FullPath, y, 1) = ":" OrMid(FullPath, y, 1) = "/" Thentmpstring = Mid(FullPath, y + 1)Exit ForEnd IfNextBasename = Left(tmpstring, Len(tmpstring) - 4)End Function
End Class
来看看效果
优酷视频:http://v.youku.com/v_show/id_XNTEyNTA4MjI4OA==.html?x&sharefrom=android&sharekey=1fbf44645b50f44eed36a688452430595
Word中每页插入两张图片(VBA+VSTO)相关推荐
- 如何在word中任意页插入页脚?
比如我想第一页和第二页不编码,从第三页开始显示1.2.3-- 1.首先,把鼠标放在第二页的最后,在菜单中先找到"分隔符". 2007版的word可能在菜单栏的插入中,2016版的w ...
- HTML中怎样把文字分两栏显示,word设置一页分两栏的三种方法
我们在阅读报纸的时候,经常看到分栏的现象,这就是通过Word当中的"分栏"功能进行设置的,那么下面就由学习啦小编给大家分享下word设置一页分两栏的技巧,希望能帮助到您. word ...
- Microsoft Word 教程:如何在 Word 中更改页边距、创建新闻稿栏?
欢迎观看 Microsoft Word 教程,小编带大家学习 Microsoft Word 的使用技巧,了解如何在 Word 中更改页边距.创建新闻稿栏. 在 Word 中,每个页面会自动显示一英寸的 ...
- word中如何插入abcd英文字母的页码 页码word中怎么做插入abcd英文字母的 oldtimeblog
word中如何插入abcd英文字母的页码 页码word中怎么做插入abcd英文字母的页码 word中插入页码的时候,默认是插入的123数字页码,想要插入abcd英文字母页码,该怎么插入呢?下面我们就来 ...
- Word中繁体艺术字的两种制作方法(转)
Word中繁体艺术字的两种制作方法(转) Word里的艺术字是大家平时常用的一项功能,但有时我们可能需要制作一些繁体艺术字,而这个看似简单的要求,实现起来却不是那么容易,因为Word里的繁简转换功能对 ...
- word涂改涂掉图片_怎么在word中修改图片的两种方法
有时我们插入的图片只有一部分是我们想要的,那就需要我们将这一部分裁剪出来,word本身就可以方便快捷的对图片进行裁剪,那么下面就由学习啦小编给大家分享下在word中修改图片的技巧,希望能帮助到您. 在 ...
- word中图片超出页边距_如何在Word中更改页边距
word中图片超出页边距 Word documents open with one-inch margins by default. You can adjust the page margins b ...
- word中,解决插入形状后固定位置不变。
在office上的word中,如果插入形状后,默认"对象随文字移动".当出现文字或者图片的格式出现更换,该形状就会随着变化位置.或者将word转换为PDF格式后,形状也会出现位置变 ...
- word中每页后面的空白怎么删掉
word中每页后面的空白怎么删掉 一.上图说明现象 二.解决办法 如图已经找到原因,多了一个分页符 选中删除即可完美解决 再来看,空白已经没有
最新文章
- 文件读取getline与fscanf_s
- 计算机毕业论文过程管理手册,毕业论文过程管理手册(修改)-陈亚琴.doc
- NIX***检测方法
- 使用markdown编辑evernote(印象笔记)的常用方法汇总
- Windows保护模式学习笔记(十四)—— 阶段测试
- 关于myeclipse buildpath的jar包不能复制到tomcat lib下的问题
- 面试官问:如果MySQL引起CPU消耗过大,你会怎么优化
- zookeeper 密码_阿里资深JAVA架构带你深度剖析dubbo和zookeeper关系
- 使用@Async进行异步调用详解
- php sort函数,php中sort函数的功能起什么作用呢?
- loadrunner解决在项目中的难点解决
- LVS--DR模型介绍及实现
- 当安防撞上AI风潮 会迸出怎样火花?
- cmake中添加引用动态链接_C和C++使用对方编译的动态链接库
- java高级工程师面试题_java高级工程师面试题及答案解析
- 凸优化学习(一)凸集与凸函数、凸优化问题
- 普通卷积、分组卷积和深度分离卷积概念以及参数量计算
- IC卡密码的破解方法浅谈
- For Your Dream
- ICG-PEG-Biotin结构式,吲哚菁绿-聚乙二醇-生物素 荧光染料聚乙二醇衍生物
热门文章
- LINUX开机卡文件系统检查,Linux开机提示:timed out waiting for device dev-vdb1.device_Linux文件系统检查的依赖关系失败...
- Java中线程的状态
- Dom基础 特殊的节点 获取元素节点的内容 获取元素的属性 css属性 Dom获取元素的方法
- Go --- Marshal与Unmarshal基础用法
- 拳王虚拟项目公社:如何利用信息差在闲鱼赚钱,闲鱼月入十万的小白怎么玩?
- 【zz】如何在word中自动给姓名按姓氏笔画排序
- 自己动手写任务调度平台
- 电信烽火2821t虚拟服务器设置,终端使用指南
- 七、《好先生》经典台词
- 【C++】设计模式------单例模式(懒汉和饿汉)