使用VBA复制、插入、移动、删除和控制图片1 |
您所在的位置:网站首页 › vba图像控件使用内置图片工具怎么设置 › 使用VBA复制、插入、移动、删除和控制图片1 |
标签:VBA 如何控制Excel中的图片?这就是本文要介绍的内容。 情形1:在工作表中插入图片 下面的代码在当前工作表的当前单元格中插入图片并保持其原始大小。 代码语言:javascript复制Sub InsertImage() Dim ws As Worksheet Dim strImagePath As String Dim dblImageLeft As Double Dim dblImageTop As Double Set ws = ActiveSheet strImagePath = "C:\test\images\image01.jpg" dblImageLeft = ActiveCell.Left dblImageTop = ActiveCell.Top 'Width和Height = -1 意味着保持原始尺寸大小 ws.Shapes.AddPicture _ Filename:=strImagePath, _ LinkToFile:=msoFalse, _ SaveWithDocument:=msoTrue, _ Left:=dblImageLeft, _ Top:=dblImageTop, _ Width:=-1, _ Height:=-1 End Sub最好将图像直接创建到对象变量中,然后可以使用变量来引用图像,而不需要知道图像的名称,如下面的代码所示。 代码语言:javascript复制Sub InsertImageUseVariable() Dim myImage As Shape Dim ws As Worksheet Dim strImagePath As String Dim dblImageLeft As Double Dim dblImageTop As Double Set ws = ActiveSheet strImagePath = "C:\test\images\image01.jpg" dblImageLeft = ActiveCell.Left dblImageTop = ActiveCell.Top Set myImage = ws.Shapes.AddPicture( _ Filename:=strImagePath, _ LinkToFile:=msoFalse, _ SaveWithDocument:=msoTrue, _ Left:=dblImageLeft, _ Top:=dblImageTop, _ Width:=-1, _ Height:=-1) '使用图像 MsgBox myImage.Name End Sub上面的代码显示了图像的名称。 情形2:图片名称操作 一旦捕获了对象,就可以执行其它操作。下面的代码显示工作表中最后插入的图片的名称。 代码语言:javascript复制Sub GetNameOfLastInsertedImage() Dim myImage As Shape Set myImage = ActiveSheet.Shapes(ActiveSheet.Shapes.Count) MsgBox myImage.Name End Sub下面的代码重命名一个现有图片。 代码语言:javascript复制Sub RenameImage() Dim myImage As Shape Dim ws As Worksheet Set ws = ActiveSheet Set myImage = ws.Shapes("Picture 2") myImage.Name = "我的图片" End Sub情形3:获取图片属性 下面的代码获取通用图片属性。 代码语言:javascript复制Sub GetImageProperties() Dim myImage As Shape Dim ws As Worksheet Set ws = ActiveSheet Set myImage = ws.Shapes("Picture 2") MsgBox "顶部: " & myImage.Top & vbNewLine & _ "底部: " & myImage.Left & vbNewLine & _ "宽度: " & myImage.Width & vbNewLine & _ "高度: " & myImage.Height & vbNewLine & _ "顺序: " & myImage.ZOrderPosition & vbNewLine & _ "名字: " & myImage.Name & vbNewLine & _ "左上角单元格: " & myImage.TopLeftCell & vbNewLine End Sub情形4:删除图片 下面的代码删除当前工作表中名为“Picture 2”的图片。 代码语言:javascript复制Sub DeleteImage() Dim myImage As Shape Dim ws As Worksheet Set ws = ActiveSheet Set myImage = ws.Shapes("Picture 2") myImage.Delete End Sub情形5:使图片不可见 可以使图片不可见,但仍存在于工作表中,只是用户看不见而已。 代码语言:javascript复制Sub MakeImageInvisible() Dim myImage As Shape Dim ws As Worksheet Set ws = ActiveSheet Set myImage = ws.Shapes("Picture 4") myImage.Visible = msoFalse '使图片再可见 'myImage.Visible = msoTrue End Sub未完待续...... 欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |