我的VB代碼插入圖片在office2010變成連結圖片,誰能幫小弟修改以下代碼,謝謝。
Public Sub addPicture(ByVal strFileName As String, _
ByVal lngLeft As Long, ByVal lnTop As Long, _
ByVal lngWidth As Long, ByVal lngHeight As Long)
'Call XLsheet.Shapes.AddPicture(strFileName, False, True, lngLeft, lnTop, lngWidth, lngHeight)
End Sub
Public Sub InsertPicture(ByVal strFilePathName As String, _
ByVal strPosition As String, _
ByVal dblImageWidth As Decimal)
XLsheet.Range(strPosition).Select()
XLsheet.Pictures.Insert(strFilePathName).Select()
'Selection.ShapeRange.LockAspectRatio = True
'Selection.ShapeRange.Width = dblImageWidth
End Sub
Public Sub InsertCellPicture(ByVal row As Integer, ByVal col As Integer, ByVal strFilePathName As String )
XLsheet.Cells(row, col).Select()
XLsheet.Pictures.Insert(strFilePathName).Select()
'Selection.ShapeRange.LockAspectRatio = True
'Selection.ShapeRange.Width = dblImageWidth
End Sub
uj5u.com熱心網友回復:
Sub 宏1()
'
'向當前sheet插入圖片
addPicture ActiveSheet, "B:\ab.jpg", 100, 100, 250, 125
'向指定sheet插入圖片
addPicture Sheets("Sheet1"), "B:\ab.jpg", 100, 100, 250, 125
End Sub
Public Sub addPicture(XLSheet As Object, ByVal strFileName As String, _
ByVal lngLeft As Long, ByVal lnTop As Long, _
ByVal lngWidth As Long, ByVal lngHeight As Long)
Dim objRange
Set objRange = XLSheet.Pictures.Insert(strFileName)
objRange.ShapeRange.Left = lngLeft
objRange.ShapeRange.Top = lnTop
objRange.ShapeRange.Width = lngWidth
objRange.ShapeRange.Height = lngHeight
End Sub
uj5u.com熱心網友回復:
Sub 宏1()
'
'向指定sheet 的指定 range位置插入圖片,并且拉伸圖片適應range
Dim objDesRange As Range
Set objDesRange = Sheets("Sheet1").Range("B2:C4")
addPicture Sheets("Sheet1"), "B:\ab.jpg", objDesRange.Left, objDesRange.Top, objDesRange.Width, objDesRange.Height, True
End Sub
Public Sub addPicture(XLSheet As Object, ByVal strFileName As String, _
ByVal lngLeft As Long, ByVal lnTop As Long, _
ByVal lngWidth As Long, ByVal lngHeight As Long, _
ByVal blnIsScale As Boolean)
Dim objRange
Set objRange = XLSheet.Pictures.Insert(strFileName)
If blnIsScale Then '拉伸
objRange.ShapeRange.LockAspectRatio = msoFalse
Else '保持原圖比例
objRange.ShapeRange.LockAspectRatio = msoTrue
End If
objRange.ShapeRange.Left = lngLeft
objRange.ShapeRange.Top = lnTop
objRange.ShapeRange.Width = lngWidth
objRange.ShapeRange.Height = lngHeight
End Sub
改進一下,增加引數確定是否不鎖定長寬比例拉伸。
并且在呼叫樣例中以range來確定圖片的位置和大小。
uj5u.com熱心網友回復:
還是不行啊,改變圖片路徑以后依然無法顯示!求解啊轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/25156.html
標籤:VB基礎類
上一篇:記事本寫的vbs彈框
下一篇:大佬們幫幫忙我已經卡了很久很久了
