如何vba批量修改文件名将嵌入式图片转换成非嵌入式图片 用VBA代码实现

wps文档中如何 批量修改修改图片大小?图片太多,想一次修改成80%大小_百度知道
wps文档中如何 批量修改修改图片大小?图片太多,想一次修改成80%大小
可以按SHIFT.baidu.html" target="_blank">http://e:http.wps://bbs:http.htmlWPS个人版需要安装VBA.wps.weibo,请点击我的头像提问:///forum,很高兴为您解答。但很多是嵌入式的;tid=&amp、模版下载.php.wps?from=qyzd" target="_blank">" target="_blank">http:<a href="http!图片全是浮于文字上方这种版式。祝您生活愉快.cn/zt/lunwen,修改其中一个://或者<a href="http.baidu://docer您好
已回答15410
响应时间&10分钟
其他类似问题
wps的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁我在Word中定了一个书签,想用VBA在书签的地方插入一张图片,书签位置随文档内容而变的。怎么做?在线给分:100分
[问题点数:0分]
我在Word中定了一个书签,想用VBA在书签的地方插入一张图片,书签位置随文档内容而变的。怎么做?在线给分:100分
[问题点数:0分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
本帖子已过去太久远了,不再提供回复功能。Excel&2010&VBA实现复制图表并嵌入式插入PPT
最近自告奋勇给果子写个更新PPT图表的VBA,遇到的问题没想到是如此的麻烦,居然用掉我一周的时间~~
吐槽下微软...VBA复制ChartObjects到Powerpoint中居然是链接型的(linked),没有嵌入式(embeded)模式可以选。
区别:link型ChartObjects可以实现数据的同步更新,但缺点是别人想打开ChartObject进行编辑时,如果没有Excel的源文件,并修复链接,那么这个图表是不可编辑的。
&&&&&&embeded型ChartObjects我个人理解为一个OLEObject,它实现了复制OLE对象的原始数据到Office组件中(比如Word
or PowerPoint)
很遗憾的是,Powerpoint
2010默认VBA函数中并不能实现embeded型数据图表的直接插入。经过上百次调试,最终找到了一条曲线救国的道路。
VBA没怎么玩,所以写的比较罗嗦。
基本思想:word
通过PasteAndFormart可以实现wtChart型图表插入,它是嵌入型,因此通过word作为跳板,就可以实现excel向ppt中插入嵌入型图表。
虽然想法很简单,但是实现起来却是麻烦重重,经过调试发现,wdChart在剪切板中存活着一个OLEObject型Chart时,word可以很顺利的粘贴chart,但是如果没有,那么就会报错,并锁定剪切板内数据格式,但此时剪切板中已经存在了这个chart的数据,如果继续下一步那么代码还是可以执行的。
因此,调用VBA中 on error
语句,同时通过直接paste的形式,刷新剪切板数据格式,那么此时就可以粘贴chart了。这里仅仅是个人看法,不一定准确,Maybe有更好的解决方法。
在退出跳板Word时,软件会提示剪切板中有大量数据,我勒个去,还搞~~~
因此,简单的想法就是刷新剪切板,刷新剪切板需要调用DataObject型,这个在word里面是可以实现的,但是在Excel环境下,不引用DataObject型库,那么电脑会罢工的!
而DataObject 又不是Word自带库,我&&&,找来找去原来它是Microsoft Forms 2.0 Object
library。但是默认引用中是找不到这个库的,我又&&&。因此需要去搜索电脑中FM20.DLL,然后添加引用时,流览到该文件上面,这样就O了~~
现存代码有个问题在于Word必须可见,如果隐藏的话,会提示Word停止响应...
这个问题再尝试指定新Template时,有时可以解决,但是我&&&,没摸索出规律。
其他的可以实现后台执行。
最终引用为:
附代码,引用代码请标注作者:
Sub cpChart2ppt()
'An Excel VBA Sub precedure for insert an Embeded Chart to
' CopyRight (c)
maxiao at Shanghai University
'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
'&&&&&&&&&&&&&&&
'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
'&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Dim ppApp As PowerPoint.Application
Dim wdApp As Word.Application
Dim ppPres As Presentation
Dim wdDoc As Document
Dim xlWb As Workbook
Dim ncht As Integer
Dim nshp As Integer
On Error Resume Next
'Check whether Powerpoint is running
Set ppApp = GetObject(, "powerpoint.application")
If ppApp Is Nothing Then
&&& Set ppApp =
CreateObject("powerpoint.application")
automation to work, powerpoint must be visible
ppApp.Visible = False
On Error GoTo 0
On Error Resume Next
'Check whether word is running
Set wdApp = GetObject(, "Word.Application")
If wdApp Is Nothing Then
&&& Set wdApp =
CreateObject("Word.Application")
automation to work, powerpoint must be visible
wdApp.Visible = True
On Error GoTo 0
Set xlWb = Workbooks.Open("D:\test.xlsx")
Set wdDoc = wdApp.Documents.Add(Visible:=False)
Set ppPres = ppApp.Presentations.Open("D:\test.pptx",
WithWindow:=False)
xlWb.ActiveSheet.ChartObjects(1).Chart.ChartArea.Copy
With wdApp
&&& On Error
Resume Next
.Selection.PasteAndFormat wdChart
Err.Number && 0 Then
.Selection.Paste
&&& ncht =
.ActiveDocument.InlineShapes.Count
.Selection.PasteAndFormat wdChart
.ActiveDocument.InlineShapes(ncht).Delete
.ActiveDocument.InlineShapes(ncht).Chart.Copy
&&& ncht =
.ActiveDocument.InlineShapes.Count
.ActiveDocument.InlineShapes(ncht).Chart.Copy
&&& End If
With ppApp
ppPres.Slides(1)
.Shapes.Paste
nshp = .Shapes.Count
&&&&&&&&&&&
With .Shapes(nshp)
&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&
.Left = 80
&&&&&&&&&&&
ppPres.Save
ppPres.Close
With wdApp
&&& Dim CLData
As New DataObject
CLData.SetText ""
CLData.PutInClipboard
wdDoc.Close savechanges:=False
ppApp.Quit
wdApp.Quit
Application.CutCopyMode = False
Application.DisplayAlerts = False
xlWb.Close savechanges:=False
Set ppPres = Nothing
Set ppApp = Nothing
Set wdApp = Nothing
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。如何把所有嵌入型图片改为 环绕型_word吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:24,867贴子:
如何把所有嵌入型图片改为 环绕型收藏
????????????????????????
是指批量转换?
VBA的方法:
嵌入型图片与浮动型图片相互转换
Option&Explicit
Sub&图片版式转换()
&Dim&oShape&As&Variant,&shapeType&As&WdWrapType
&On&Error&Resume&Next
&If&MsgBox(&Y将图片由嵌入式转为浮动式,N将图片由浮动式转为嵌入式&,&68)&=&6&Then
&shapeType&=&Val(InputBox(Prompt:=&请输入图片版式:0=四周型,1=紧密型,&&&&&vbLf&&&_
&&3=衬于文字下方,4=浮于文字上方&,&Default:=0))
&For&Each&oShape&In&ActiveDocument.InlineShapes
&oShape.Select
&Set&oShape&=&oShape.ConvertToShape
&With&oShape
&Select&Case&shapeType
&Case&0,&1
&.WrapFormat.Type&=&shapeType
&Case&3
&.WrapFormat.Type&=&3
&.ZOrder&5
&Case&4
&.WrapFormat.Type&=&3
&.ZOrder&4
&Case&Else
&Exit&Sub
&End&Select
&.WrapFormat.AllowOverlap&=&False&&#39;不允许重叠
&End&With
&Next
&Else
&For&Each&oShape&In&ActiveDocument.Shapes
&oShape.ConvertToInlineShape
&Next
&End&If
End&Sub
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或查看: 3610|回复: 3|
在线时间2909 小时经验3840 威望0 最后登录注册时间阅读权限90UID68099积分3990帖子精华1分享0
EH能手, 积分 3990, 距离下一级还需 710 积分
积分排行239帖子精华1微积分0
请教如何通过VBA代码,批量为所有(嵌入式)图片和表格自动添加题注?
在线时间14 小时经验27 威望0 性别男最后登录注册时间阅读权限20UID289806积分27帖子精华0分享0
EH初级, 积分 27, 距离下一级还需 323 积分
积分排行3000+帖子精华0微积分0
这个要顶,我也想试试怎么用,自带的添加题注好像不管用啊,尤其2007下面如何给图片自动添加题注呢
在线时间2909 小时经验3840 威望0 最后登录注册时间阅读权限90UID68099积分3990帖子精华1分享0
EH能手, 积分 3990, 距离下一级还需 710 积分
积分排行239帖子精华1微积分0
再顶一下,在编辑试卷中,如何通过VBA代码,批量为所有(嵌入式)图片和表格自动添加题注?如:图1或表格1
在线时间901 小时经验15009 威望29 性别男最后登录注册时间阅读权限100UID12381积分21109帖子精华22分享0
积分排行12帖子精华22微积分0
原帖由 tangqingfu 于
18:43 发表
再顶一下,在编辑试卷中,如何通过VBA代码,批量为所有(嵌入式)图片和表格自动添加题注?如:图1或表格1
您可以使用《守柔WORD文档规范》来完成。
积分≥4700即可申请
关注我们,与您相约微信公众平台!
Copyright 1999 - 2017 Excel Home. All Rights Reserved.本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!
Powered by
本站特聘法律顾问:徐怀玉律师 李志群律师 &&

我要回帖

更多关于 vba批量修改文件名 的文章

 

随机推荐