gpt4 book ai didi

c# - 我可以复制 .OFT 文件并更改其主题吗

转载 作者:太空狗 更新时间:2023-10-29 20:32:52 26 4
gpt4 key购买 nike

我的共享点事件接收器中有以下代码,用于在文档库中复制 .oft 文件并将其粘贴到新目标(另一个文档库)中:-

SPDocumentLibrary template = (SPDocumentLibrary)properties.Web.GetList(properties.Web.ServerRelativeUrl + "/Templates/");
SPListItem templetefile = null;

foreach (SPListItem i in template.Items)
{
if (i.Name.ToLower().Contains("project"))
{
templetefile = i;
}
}

byte[] fileBytes = templetefile.File.OpenBinary();
string destUrl = properties.Web.ServerRelativeUrl + "/" + projectid.RootFolder.Url +".oft";
SPFile destFile = projectid.RootFolder.Files.Add(destUrl, fileBytes, false);

现在我的代码运行良好。但我不确定在复制后是否可以访问 .OFT 文件,并修改其主题(按主题我的意思是我的电子邮件主题)??

最佳答案

您可以为此使用 Interop。

using Microsoft.Office.Interop.Outlook;

Microsoft.Office.Interop.Outlook.Application application = new Microsoft.Office.Interop.Outlook.Application();
MailItem mail = application.CreateItemFromTemplate("oldfile.oft") as MailItem;

mail.BodyFormat = OlBodyFormat.olFormatHTML;
mail.Subject = "New Subject";
mail.HTMLBody = "<p>This is a new <strong>OFT</strong> file with a changed subject line.</p>";
mail.SaveAs("newfile.oft");

对于在 Visual Studio 中找不到 Interop 的其他用户,请添加引用。

引用 > 添加引用 > COM > Microsoft Outlook 15.0 对象库

更新

由于我没有 SharePoint(或从未使用过它),因此无法对此进行测试。但也许这样的事情可以工作?使用 SPListItemUrl 获取正确的文件。您也可以尝试在 this post 中看到的绝对 url .使用该字符串加载文件进行编辑。

foreach (SPListItem i in template.Items)
{
if (i.Name.ToLower().Contains("project"))
{
string url = i.Url;
string absoluteUrl = (string)i[SPBuiltInFieldId.EncodedAbsUrl];

MailItem mail = application.CreateItemFromTemplate(url) as MailItem;

//or

MailItem mail = application.CreateItemFromTemplate(absoluteUrl) as MailItem;
}
}

关于c# - 我可以复制 .OFT 文件并更改其主题吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50179260/

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