在工作中,人们不得不手动在excel的特定页面中介绍图片并手动调整其大小。作为一个完整的初学者,我设法找到一些VBA代码,通过单击按钮并将其插入到一定范围的单元格中来帮助介绍图片。我的问题是我无法弄清楚(搜索了很多帖子之后)如何正确引入该功能来保存图像而不建立链接,以便其他人可以看到报告而不会出现图片不存在的错误
您能帮我完成应在哪里引入该功能?
Private Sub CommandButton3_Click()
Dim strFileName As String
Dim objPic As Picture
Dim rngDest As Range
strFileName = Application.GetOpenFilename( _
FileFilter:="Images (*.jpg;*.gif;*.png),*.jpg;*.gif;*.png", _
Title:="Please select an image...")
If strFileName = "False" Then Exit Sub
Set rngDest = Me.Range("B24:C26")
Set objPic = Me.Pictures.Insert(strFileName)
With objPic
.ShapeRange.LockAspectRatio = msoFalse
.Left = rngDest.Left
.Top = rngDest.Top
.Width = rngDest.Width
.Height = rngDest.Height
End With
End Sub
谢谢!
答案 0 :(得分:3)
尝试一下:
Private Sub CommandButton3_Click()
Dim strFileName As String
Dim objPic As Shape '<<<
Dim rngDest As Range
strFileName = Application.GetOpenFilename( _
FileFilter:="Images (*.jpg;*.gif;*.png),*.jpg;*.gif;*.png", _
Title:="Please select an image...")
If strFileName = "False" Then Exit Sub
Set rngDest = Me.Range("B24:C26")
Set objPic = Me.Shapes.AddPicture(Filename:=strFileName, _
linktofile:=msoFalse, _
savewithdocument:=msoCTrue, _
Left:=rngDest.Left, Top:=rngDest.Top, _
Width:=rngDest.Width, Height:=rngDest.Height)
End Sub