作者yimean (温柔杀手)
看板Office
标题[分享] Excel VBA物件插入及编辑
时间Sun Oct 21 20:08:43 2018
软体: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这个巧门。
这就是我说的观念性问题。
野人献曝,还希望大大们不要鞭得太大力。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 123.195.98.141
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1540123726.A.45C.html
1F:推 newacc: 若是Dim img As Shape,可以用Shapes.AddPicture方式 10/21 21:43
3F:→ yimean: 感谢指导,确实是可以的。 10/22 07:03
4F:→ soyoso: 原文如宣告shape失败可改以宣告为picture 10/23 14:28