作者yimean (温柔杀手)
看板Office
标题[算表] VBA在特定储存格插入物件并调整大小
时间Fri Oct 19 07:54:09 2018
软体:Excel
版本:2013
各位版上的大大早安,我有一个需求就是用VBA在某一个特定位置插入说明图面。
图面来源有可能是PDF跟JPG。必须要以可看见的方式插入。如此才能达到"说明"的效果。
这两个档案来源都已经有固定的大小了,插入之後我需要调整大小,让页面可以放得下。
烦请高手指导一下,感谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.195.98.141
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1539906852.A.3BA.html
1F:→ soyoso: 图片jpg的方面shape.height或width,比例的话scaleheight 10/19 08:16
2F:→ soyoso: 或scalewidth,特定位置如是要配合储存格大小话则长宽以 10/19 08:18
3F:→ soyoso: range.height或width 10/19 08:18
4F:→ soyoso: oleobject的话则在shaperange调整height、width或比例的部 10/19 08:28
5F:→ soyoso: 分;位置的话,则是top和left 10/19 08:29
6F:→ yimean: 感谢指导,请问,插入JPG与PDF的方法是一样的吗? 10/19 09:02
7F:→ soyoso: 如是以插入物件方式来插入pdf的话,为回文内oleobject的部 10/19 10:07
8F:→ soyoso: 分 10/19 10:07
@soyoso 感谢指导。
我这边有尝试录制巨集,有三个问题请教。
Sub 插入PDF()
' 插入PDF 巨集
ActiveSheet.OLEObjects.Add(Filename:="D:\desktop\AX1N.pdf", Link:=False, _
DisplayAsIcon:=False).Select
ActiveWindow.SmallScroll Down:=12
ActiveSheet.Shapes("Object 1").ScaleWidth 0.5976430976, msoFalse, _
msoScaleFromTopLeft
ActiveSheet.Shapes("Object 1").ScaleHeight 0.5976430446, msoFalse, _
msoScaleFromTopLeft
ActiveWindow.SmallScroll Down:=-30
End Sub
Sub 插入图片()
' 插入图片 巨集
ActiveSheet.OLEObjects.Add(Filename:= _
"D:\desktop\ScreenHunter_11 Oct. 11 21.55.jpg", Link:=False,
DisplayAsIcon _
:=False).Select
End Sub
第一个问题,关於PDF插入的部分,插入的物件似乎被直接命名为"Object 1"
这个是系统预设吗?我们如果再写程式是不是应该修改如下。
Dim Object 1 As OLEObject
Set Object 1 = ActiveSheet.OLEObjects.Add(Filename:="D:\desktop\AX1N.pdf", Link:=False, _
DisplayAsIcon:=False)
.......
第二个问题,录制的巨集中有ActiveWindow.SmallScroll Down:= 12。这个陈述是不是
可以直接删掉?
第三个问题,插入图片部分,插入的过程当中我并没有选择用图示显示,但是,插入後
却是一个未开启的图示。请问我应该要如何处理?才能让他像PDF一样处於开启的状态?
烦请拨冗解惑,感谢。
※ 编辑: yimean (114.33.116.8), 10/19/2018 14:28:47
9F:→ yimean: 更新资料 10/19 14:28
10F:→ soyoso: 问题1,命名上如无更名时,预设依序物件 1、物件 2... 10/19 15:08
11F:→ soyoso: 变数名称无需相同於物件命名,只要符合变数命名规则 10/19 15:09
12F:→ soyoso: 如dim obj as oleobject,set obj = .... 10/19 15:10
13F:→ soyoso: 问题2,要看应用於实际档案是否有符合要的结果,如果无的 10/19 15:12
14F:→ soyoso: 的话可以直接删除或做修改 10/19 15:12
15F:→ soyoso: 问题3,插入图片方面看是否以pictures.insert 10/19 15:17
16F:→ soyoso: 如要以回文所提到的shape型态的话,addtextbox的方式 10/19 15:28