gpt4 book ai didi

c# - 如何将嵌入图像的相对路径分配给 ActiveSheet.PageSetup.LeftHeaderPicture.FileName?

转载 作者:行者123 更新时间:2023-11-30 16:12:32 28 4
gpt4 key购买 nike

为此有 2 个 SSCCE:

1.

我已通过右键单击解决方案 -> 添加 -> 现有项目 -> myPic.jpg 将图片添加到我的 VSTO 文档级加载项。

现在我正在使用 Excel 电子表格并想在左上角的标题中添加图片。使用 PageSetup.LeftHeaderPicture.FileName并提供它在调试时加载的图片的绝对路径。

当我尝试将路径更改为非绝对路径并说类似的话时

ActiveSheet.PageSetup.LeftHeaderPicture.FileName = "\\Assets\\myPic.jpg"

我不断收到 HRESULT: 0x800A03EC 异常。

enter image description here

我想我没有得到访问 Assets\myPic.jpg 的正确语法。

2.

我添加了一个新资源,选择了一个现有项目并选择了 myPic.jpg。我可以通过 Resource1.myPic 访问它,但是 ActiveSheet.PageSetup.LeftHeaderPicture只读...

PageSetup.LeftHeaderPicture.FileName需要一个 string 类型的参数,我不确定如何检索我已经嵌入的资源的路径...

问:

如何将图片作为资源(或只是现有项目)嵌入到我的解决方案中,以便能够将其与 PageSetup.LeftHeaderPicture.FileName 一起使用?

最佳答案

好的,我已经解决了。

将现有项目 myPic.jpg 添加到解决方案并将 Build Action 设置为 ContentCopy to Output DirectoryCopy Always(但我相信你可以将它设置为在更新时复制)

enter image description here

注意:使用此设置,您的文件始终会“复制”到发布的目录。

enter image description here

现在您的代码中只需要

ws.PageSetup.LeftHeaderPicture.Filename = 
AppDomain.CurrentDomain.BaseDirectory + "\\myPic.jpg";
ws.PageSetup.LeftHeader = "&G";

AppDomain.CurrentDomain.BaseDirectory 解释得很好 here

和预期的最终结果

enter image description here

关于c# - 如何将嵌入图像的相对路径分配给 ActiveSheet.PageSetup.LeftHeaderPicture.FileName?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22809950/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com