Excel VBA_插入图片实例集锦.doc
Excel VBA 插入图片实例集锦 本文档主要介绍了使用 Excel VBA 来插入图片的实例集锦,涵盖了批量插入图片、合并单元格、删除shape对象、添加图片到形状区域等多个方面的知识点。 插入图片 在 VBA 中,可以使用 `Shapes.AddPicture` 方法来插入图片。例如: ```vb Dim shp As Shape Set shp = ActiveSheet.Shapes.AddShape(msoShapeRectangle, ML, MT, MW, MH) shp.Fill.UserPicture myPath & myName ``` 这里的 `ML`、`MT`、`MW`、`MH` 分别表示形状的左上角x坐标、左上角y坐标、宽度和高度。`myPath` 和 `myName` 分别表示图片的路径和名称。 批量插入图片 在实例代码中,我们可以看到使用 `For` 循环来批量插入图片。这里的 `Arr` 是一个二维数组,存储着图片的信息。使用 `For Each` 语句来遍历数组,并在每个循环中插入一张图片。 ```vb For i = 2 To UBound(Arr) ... If myName <> "" Then Set rng = Cells(r, col).Resize(6, 2) With rng ML = .Left MT = .Top MW = .Width MH = .Height ActiveSheet.Shapes.AddShape(msoShapeRectangle, ML, MT, MW, MH).Select Selection.ShapeRange.Fill.UserPicture myPath & myName End With End If Next ``` 合并单元格 在实例代码中,我们可以看到使用 `Range` 对象来合并单元格。例如: ```vb Set mb = [t1].Resize(24, 7) [a:o].Clear: [h:h].ColumnWidth = 1.13 ``` 这里的 `[t1]` 是一个单元格的引用,使用 `Resize` 方法来合并单元格。`[a:o]` 是一个范围的引用,使用 `Clear` 方法来清空单元格的内容。`[h:h]` 是一个范围的引用,使用 `ColumnWidth` 属性来设置列宽。 删除 Shape 对象 在实例代码中,我们可以看到使用 `For Each` 语句来删除 Shape 对象。例如: ```vb For Each shp In ActiveSheet.Shapes If shp.Type = msoAutoShape Then shp.Delete End If Next ``` 这里的 `msoAutoShape` 是一个常量,表示自动形状。使用 `Type` 属性来判断 Shape 对象的类型,并使用 `Delete` 方法来删除它。 添加图片到形状区域 在实例代码中,我们可以看到使用 `Shapes.AddShape` 方法来添加图片到形状区域。例如: ```vb ActiveSheet.Shapes.AddShape(msoShapeRectangle, ML, MT, MW, MH).Select Selection.ShapeRange.Fill.UserPicture myPath & myName ``` 这里的 `msoShapeRectangle` 是一个常量,表示矩形形状。使用 `AddShape` 方法来添加形状,并使用 `Fill` 属性来设置图片的填充颜色。 本文档提供了一个使用 Excel VBA 插入图片的实例集锦,涵盖了批量插入图片、合并单元格、删除 Shape 对象、添加图片到形状区域等多个方面的知识点。