0

我在 excel 2007 工作簿上有一张图片,上面有一些文本框。图像和文本大约每 5 分钟更改一次,其中包含我放置的一些 VBA 代码。

图像对象已被发送到后面,所以文本框应该显示在顶部......但出于某种奇怪的原因,它没有。

它在 excel 2003 中运行良好,但在 2007 年则不行。

任何人都知道为什么,最重要的是,有没有办法修复似乎是错误的东西?

请注意,我也尝试插入图像(从插入>图像)并且有效(文本位于图像顶部),但是它是一种不同类型的对象,我无法使 VBA 代码与这种类型的图像对象。

我已经尝试了在论坛中找到的以下代码,但有些我无法将图像命名为“Image_2”,因此没有任何反应。我使用随机选择器 (photo_array(rrr)) 自动更改图像和文本。

提前致谢

            strPic = "Image_2"
            Set shp = WS.Shapes(strPic)

            'Capture properties of exisitng picture such as location and size
            With shp
                t = .Top
                l = .Left
                h = .Height
                w = .Width
            End With

            WS.Shapes(strPic).Delete

            Set shp = WS.Shapes.AddPicture(ThisWorkbook.Path & "\images\" & photo_array(rrr), msoFalse, msoTrue, l, t, w, h)
            shp.Name = "Image_2"  ' strPic
            shp.ScaleHeight Factor:=1, RelativeToOriginalSize:=msoTrue
            shp.ScaleWidth Factor:=1, RelativeToOriginalSize:=msoTrue
4

1 回答 1

0

由于您不断添加新图片,因此默认情况下将其放在顶部ZOrder

尝试在最后添加这一行:

shp.ZOrder msoSendToBack

这应该将图片放回您想要的位置......在后面。

于 2012-10-08T13:15:59.090 回答