Pictures.Insert、Shapes.AddShape、Shapes.AddPicture差別 請高手指點
- 帖子
- 36
- 主題
- 6
- 精華
- 0
- 積分
- 50
- 點名
- 0
- 作業系統
- windows xp
- 軟體版本
- office 2010
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2014-2-20
- 最後登錄
- 2015-3-6
|
Pictures.Insert、Shapes.AddShape、Shapes.AddPicture差別 請高手指點
目前我的程式碼摘要如下(可以成功執行):
Set myPic = ActiveSheet.Pictures.Insert(myPath & "\" & "1.jpg")
With myPic
.ShapeRange.LockAspectRatio = msoFalse
.Top = picNumRng.Offset(0, 1).Top
.Left = picNumRng.Offset(0, 1).Left
.Width = picNumRng.Offset(0, 1).MergeArea.Width
.Height = picNumRng.Offset(0, 1).MergeArea.Height
End With
問題如下:
1.後來發現Pictures.Insert 是利用連結方式讀取大量圖片,並非將圖片匯入到excel檔內,不符需求
2.經過google發現 http://blog.xuite.net/crdotlin/excel/9016086 的解法,知道有Shapes.AddShape的方式
但活頁中有設計一個按鈕,如果要指定特定圖片時,也會將該按鈕算成一個Shape造成困擾
3.後來再發現 https://tw.knowledge.yahoo.com/question/question?qid=1612072502639 的解法
知道Shapes.AddPicture 的方式,只是google及爬了家族的文章並沒有發現可以參考的文章
自己試著將上述的程式碼中的Pictures.Insert以Shapes.AddPicture取代後執行,只是在上述程式碼第三行
就會出現錯誤,不知道有無其他方法可以符合「匯入圖片」、「指定欄位插入」及「調整圖片大小」?
4.另外找到的這個方法也是不錯 http://blog.xuite.net/crdotlin/excel/9016086 只是無法理解怎麼做
(可以將連結的圖片複製到剪貼簿後,再抓下來 提供參考) |
|
HELLO !!
|
|
|
|
|
- 帖子
- 36
- 主題
- 6
- 精華
- 0
- 積分
- 50
- 點名
- 0
- 作業系統
- windows xp
- 軟體版本
- office 2010
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2014-2-20
- 最後登錄
- 2015-3-6
|
回復 2# GBKEE
感謝GBKEE大的指導,確實是可行的,另外延伸請教一個關於匯入圖片的問題:
假設我先執行程式並「依序」匯入了100張圖片(假設由B1~B100排列),且後續在第57格欄位「新增插入」另張圖片,原始圖片均順延排序至101格
經實際執行,原始的圖片電腦會認定這100張的圖片依序是Shape(1)~Shape(100),雖然後續插入第57張圖片(由上往下算),但會被認定為Shape(101)
因此接著我想「刪除」第60張圖片(指由上往下算,但電腦認定該圖為Shape(59)),實際上刪除的其實是Shape(60),而不是我想要刪除的Shape(59)
簡言之
我怎麼克服圖片所見的實際順序與圖片匯入順序的差別,以利我後續在操作指定圖片時的困擾? |
|
HELLO !!
|
|
|
|
|