通过Matlab在Excel中插入图像

发布于 2024-12-10 06:17:13 字数 399 浏览 0 评论 0原文

我正在使用函数 Shapes.AddPicture 在 Excel 文件中插入图像。

我将例程称为这样的:

leftPlacement=450;
topPlacement=20;
imgWidth=350;
imgHeight=300;

Shapes.AddPicture([pwd '\' img] ,0,1,leftPlacement,topPlacement,imgWidth,imgHeight);

这工作正常。但是,图像掩盖了文件中的数据。为了更改位置,必须手动更改 leftPlacement、topPlacement、imgWidth imgHeight

我想知道是否有更好的方法可以将图像透明地放置在空单元格中。

I am using the function, Shapes.AddPicture to insert an image in an excel file.

I am calling the routine something like this :

leftPlacement=450;
topPlacement=20;
imgWidth=350;
imgHeight=300;

Shapes.AddPicture([pwd '\' img] ,0,1,leftPlacement,topPlacement,imgWidth,imgHeight);

This works fine. However, the image masks the data in the file. In order to change the position, leftPlacement, topPlacement, imgWidth imgHeight have to be changed manually.

I am wondering, if there is a better way to do it to transparently place the image in the empty cells.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

塔塔猫 2024-12-17 06:17:13

形状并不附加到 Excel 工作表中的各个单元格 - 它们浮动在其上方并具有自己的坐标。如果您想将它们浮动在特定单元格上方,您可以获取该单元格的坐标并使用它们。

因此,如果您想将其浮动到单元格 C9 上方,请尝试

left = xl.ActiveSheet.Range('C9').Left;
top = xl.ActiveSheet.Range('C9').Top;
xl.ActiveSheet.Shapes.AddPicture('myPicPath',0,1,left,top,myPicHeight,myPicWidth)

其中 xl 是包含对 Excel 应用程序的引用的变量。

请注意,如果您随后调整大小或以其他方式移动任何单元格,形状/图像的位置不会改变 - 您需要使用相同的方法再次重新定位它。

Shapes are not attached to individual cells in the Excel Worksheet - they float above them and have their own coordinates. If you want to float them above a particular cell, you can get the coordinates of that cell and use those.

So if you want to float it above cell C9, try

left = xl.ActiveSheet.Range('C9').Left;
top = xl.ActiveSheet.Range('C9').Top;
xl.ActiveSheet.Shapes.AddPicture('myPicPath',0,1,left,top,myPicHeight,myPicWidth)

where xl is the variable containing your reference to the Excel application.

Note that if you subsequently resize, or otherwise move any of the cells, the position of the shape/image won't change - you'll need to reposition it again using the same method.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文