[算表] VBA在特定儲存格插入物件並調整大小

看板Office作者 (溫柔殺手)時間7年前 (2018/10/19 07:54), 7年前編輯推噓0(0016)
留言16則, 2人參與, 7年前最新討論串1/1
軟體:Excel 版本:2013 各位版上的大大早安,我有一個需求就是用VBA在某一個特定位置插入說明圖面。 圖面來源有可能是PDF跟JPG。必須要以可看見的方式插入。如此才能達到"說明"的效果。 這兩個檔案來源都已經有固定的大小了,插入之後我需要調整大小,讓頁面可以放得下。 煩請高手指導一下,感謝。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.195.98.141 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1539906852.A.3BA.html

10/19 08:16, 7年前 , 1F
圖片jpg的方面shape.height或width,比例的話scaleheight
10/19 08:16, 1F

10/19 08:18, 7年前 , 2F
或scalewidth,特定位置如是要配合儲存格大小話則長寬以
10/19 08:18, 2F

10/19 08:18, 7年前 , 3F
range.height或width
10/19 08:18, 3F

10/19 08:28, 7年前 , 4F
oleobject的話則在shaperange調整height、width或比例的部
10/19 08:28, 4F

10/19 08:29, 7年前 , 5F
分;位置的話,則是top和left
10/19 08:29, 5F

10/19 09:02, 7年前 , 6F
感謝指導,請問,插入JPG與PDF的方法是一樣的嗎?
10/19 09:02, 6F

10/19 10:07, 7年前 , 7F
如是以插入物件方式來插入pdf的話,為回文內oleobject的部
10/19 10:07, 7F

10/19 10:07, 7年前 , 8F
10/19 10:07, 8F
@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

10/19 14:28, 7年前 , 9F
更新資料
10/19 14:28, 9F

10/19 15:08, 7年前 , 10F
問題1,命名上如無更名時,預設依序物件 1、物件 2...
10/19 15:08, 10F

10/19 15:09, 7年前 , 11F
變數名稱無需相同於物件命名,只要符合變數命名規則
10/19 15:09, 11F

10/19 15:10, 7年前 , 12F
如dim obj as oleobject,set obj = ....
10/19 15:10, 12F

10/19 15:12, 7年前 , 13F
問題2,要看應用於實際檔案是否有符合要的結果,如果無的
10/19 15:12, 13F

10/19 15:12, 7年前 , 14F
的話可以直接刪除或做修改
10/19 15:12, 14F

10/19 15:17, 7年前 , 15F
問題3,插入圖片方面看是否以pictures.insert
10/19 15:17, 15F

10/19 15:28, 7年前 , 16F
如要以回文所提到的shape型態的話,addtextbox的方式
10/19 15:28, 16F
文章代碼(AID): #1RoHqaEw (Office)
文章代碼(AID): #1RoHqaEw (Office)