如何导入带有图像的工作表?
Posted
技术标签:
【中文标题】如何导入带有图像的工作表?【英文标题】:How to import a sheet with images? 【发布时间】:2012-09-01 17:33:36 【问题描述】:Workbooks.Open fileName:=ThisWorkbook.path & "\Sea.xlsx"
Workbooks("Sea.xlsx").Sheets.Copy before:=ThisWorkbook.Sheets("Sky")
Workbooks("Sea.xlsx").Close False
这可行,但在 Sea.xlsx 上有一张带有图像的工作表。 已复制工作表,但未复制图像。 相反,我有文本框:
This image cannot be currently displayed.
【问题讨论】:
图片是如何插入的? 蒂姆,我通过电子邮件收到了带有图片的书。没有关于他们放置在工作表上的方式的信息。我可以在 Excel 的某个地方读到这个吗? 不完全确定这是您的问题,但请尝试一下:Excel 选项 >> 高级 >> 确保选中“使用其父单元格剪切、复制和排序插入的对象”。或者在复制工作表之前添加此代码:Application.CopyObjectsWithCells = True
原始图片也可能作为“链接”插入。您应该能够通过复制/特殊粘贴将它们替换为实际嵌入的图片以创建副本,然后删除链接的版本。
Tim,你说的那个选项是默认勾选的,没有改变。我也试过Application.CopyObjectsWithCells = True
- 结果相同。因为我是通过邮件获得的源文件,没有任何用于存储图像的 img 文件夹,所以它们肯定是嵌入的,而不是链接的。我尝试了大约 10 次 - 只有第一次(在启动 PC 后) - 图像被传输 - 彼此时间 - 不是。我尝试再次重新启动 PC,重新启动 Excel - 没有结果。我用谷歌搜索并发现一些有类似问题的用户(excel 2010,而不是 2007)。我开始相信 - 它是 xl2010 中的一个包。
【参考方案1】:
我也遇到了这个问题,我想我已经找到了解决方案。对我来说,问题是我想要复制的工作表被隐藏了。所以我在我的代码中插入了行 sheet(x).visible = true"。我必须更改的另一个是我之前使用的行“Application.Screenupdating = False”必须被忽略。 在这些更改之后,我可以看到图片。 希望这会有所帮助。
【讨论】:
以上是关于如何导入带有图像的工作表?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 C# 将多个 Excel 工作表导入 SQL 表?