Microsoft Excel是Microsoft為使用Windows和Apple Macintosh操作系統的電腦編寫的一款電子表格軟件。直觀的界面、出色的計算功能和圖表工具,再加上成功的市場營銷,使Excel成為最流行的個人計算機數據處理軟件。 我們在Excel中插入圖片一般使用Picture集合的Insert方法。但是隨著Excel版本的演進,在不同的版本指間插入圖片還是有一些差別。 ![]() 下面是Excel2003中的代碼。其中Insert方法中的文件路徑的文件夾分界符可以是”\”也可以是”/”。另外,設置LoctAspecRatio屬性為True并不能固定長寬比,需要同時調整長度和寬度。 SubInsertImg2003() DimimgWidthAsInteger DimfixWidthAsInteger DimdRatioAsDouble '設置圖片顯示固定寬度 fixWidth=Cells(2,2)。Width*5 '選擇圖片插入位置 Cells(2,2)。Select WithActiveSheet。Pictures。Insert("C:\Test。jpg") '獲取圖片插入后的原始寬度 imgWidth=。ShapeRange。Width '獲取拉伸比,如果固定顯示高度的話用Height屬性 dRatio=fixWidth/imgWidth 'Excel2003中設置固定長寬比不起作用' 。ShapeRange。LockAspectRatio=msoTrue '調整寬度 。ShapeRange。ScaleWidthdRatio,msoFalse,msoScaleFromTopLeft '調整高度 。ShapeRange。ScaleHeightdRatio,msoFalse,msoScaleFromTopLeft EndWith EndSub Excel2007中插入圖片的代碼基本上一樣。但是Insert方法中的文件路徑的文件夾分界符只能是”\”。另外設置固定長寬比在Excel2007中有效,所以只需要設置寬度即可。還有一個不同的地方是2007中使用代碼插入圖片后,圖片并不定位于當前選擇的單元格,需要設置圖片的位置。 SubInsertImg2007() DimimgWidthAsInteger DimfixWidthAsInteger DimdRatioAsDouble '設置圖片顯示固定寬度 fixWidth=Cells(2,2)。Width*5 '選擇圖片插入位置 Cells(2,2)。Select WithActiveSheet。Pictures。Insert("C:\Test。jpg") '獲取圖片插入后的原始寬度 imgWidth=。ShapeRange。Width '獲取拉伸比,如果固定顯示高度的話用Height屬性 dRatio=fixWidth/imgWidth '設置固定長寬比,默認為True 。ShapeRange。LockAspectRatio=msoTrue '調整寬度 。ShapeRange。ScaleWidthdRatio,msoFalse,msoScaleFromTopLeft '不需要重復設置高度' 。ShapeRange。ScaleHeightdRatio,msoFalse,msoScaleFromTopLeft 'Excel2007和2003不同,使用代碼插入圖片的位置并不位于選擇的單元格 。Left=Cells(2,2)。Left 。Top=Cells(2,2)。Top EndWith EndSub 2007的代碼可以用于2010,但是當保存文件時,你會發現文件的大小并沒有什么改變,實際上在Excel2010里使用代碼插入圖片只是保存了指向圖片的鏈接,圖片本身并沒有保存下來。當源圖片文件被刪除或移走,Excel文件將不能顯示圖片。一個簡單的方法是將圖片剪切一下,然后重新粘貼,這樣Excel文件中將在保存時包含圖片。同時,Cut方法的位置放在ScaleWidth前或者后將影響圖片的保存質量。 SubInsertImg2010() DimimgWidthAsInteger DimfixWidthAsInteger DimdRatioAsDouble '設置圖片顯示固定寬度 fixWidth=Cells(2,2)。Width*5 '選擇圖片插入位置 Cells(2,2)。Select WithActiveSheet。Pictures。Insert("C:\Test。jpg") '獲取圖片插入后的原始寬度 imgWidth=。ShapeRange。Width '獲取拉伸比,如果固定顯示高度的話用Height屬性 dRatio=fixWidth/imgWidth '設置固定長寬比,默認為True 。ShapeRange。LockAspectRatio=msoTrue '調整寬度 。ShapeRange。ScaleWidthdRatio,msoFalse,msoScaleFromTopLeft '不需要重復設置高度' 。ShapeRange。ScaleHeightdRatio,msoFalse,msoScaleFromTopLeft 'Excel2010和2007不同,插入的圖片位于當前選擇的單元格,不需要設置位置' 。Left=Cells(2,2)。Left'。Top=Cells(2,2)。Top '剪切粘貼圖片讓文件保存的時候包含圖片 。Cut ActiveSheet。Pictures。Paste EndWith EndSub Excel整體界面趨于平面化,顯得清新簡潔。流暢的動畫和平滑的過渡,帶來不同以往的使用體驗。 |
溫馨提示:喜歡本站的話,請收藏一下本站!