[分享] Excel VBA物件(PDF&JPG)插入及编辑

楼主: yimean (温柔杀手)   2018-10-21 20:08:43
软件:Excel
版本:2013
仅以分享此篇文章,感谢Soyoso以及Newacc两位大大。
小弟多次在板上发问,内容问题相对于其他人比较复杂。
但是两位大大都耐著性子看完,也许是小弟资质驽钝,有些还真的看不懂。
但是两位大大还是不厌其烦的指导。小弟铭感五内。这个问题之所以想跟大家分享。
是因为,其实小弟也有Google过,但是得到的Sample code,真的是Sample code。
就是可以把功能展现出来,但是呢,在整体程式的架构上,却不好管理跟扩展。
我发现网络上很多的Code都是这样,跟录制宏的感觉有点接近。
小弟并非是为了交交作业,而进行练习,所以这样的Sample code对我来说是不够的。
但,其实,功力深厚的大大肯定可以将Sample code轻易地改成需要的内容。
但,对于我这个没有受过系统性程式训练的人来说,却是有点困难的。因为是观念的问题
所以,我就将我今天花了4个小时尝试的结果跟大家分享。
希望起到抛砖引玉,良善循环的效果。
Sub 插入PDF调整并删除()
' 插入PDF调整并删除 宏
Dim PDF As Object
Set PDF =
ActiveSheet.OLEObjects.Add(Filename:="C:\temp\test.pdf", _
Link:=False, DisplayAsIcon:=False)
With PDF
.Width = 100
.Height = 200
End With
MsgBox "接下来要删除PDF了"
PDF.Delete
End Sub
Sub 插入JPG调整并删除()
Dim img As Variant '这个地方我尝试过宣告成Shape物件但是失败
Set img =
ActiveSheet.Pictures.Insert("C:\temp\ScreenHunter_11 Oct. 11 21.55.jpg")
With img
.Height = 150
.Width = 250
End With
MsgBox "接下来要删除了"
img.Delete
End Sub
功力深厚的大大应该不难发现,JPG插入变量宣告的部分是用了Variant这个巧门。
这就是我说的观念性问题。
野人献曝,还希望大大们不要鞭得太大力。
作者: soyoso (我是耀宗)   2018-10-23 14:28:00
原文如宣告shape失败可改以宣告为picture
作者: newacc (XD)   2018-10-21 21:43:00
若是Dim img As Shape,可以用Shapes.AddPicture方式http://bit.ly/2OzjMoe
楼主: yimean (温柔杀手)   2018-10-22 07:03:00
感谢指导,确实是可以的。

Links booklink

Contact Us: admin [ a t ] ucptt.com