0

我正在使用 VS 2010 和 Dot Net Framework 2.0。我在 Extensibility->Shared Add-ins for Outlook 中创建了一个项目。我想在我的硬盘中保存一个文件(任何文件),删除该附件并将该文件的路径添加为附件,如果用户单击此文件,它应该在我的硬盘中打开该保存的文件。我可以保存文件,删除附件,但我无法将文件的路径保存为附件这是为保存和删除而编写的代码

                if (item is Outlook.MailItem)
                {
                    Outlook.MailItem mi = (Outlook.MailItem)item;
                    if (mi != null)
                    {                            
                        for (int i = 1; i <= mi.Attachments.Count; i++)
                        {
                            string FilePath = @"" + Settings.Default.browseFolderPath + @"\" +
                                mi.Attachments[i].FileName;
                            mi.Attachments[i].SaveAsFile(FilePath);                                
                            mi.Attachments.Remove(i);                                
                            mi.Attachments.Add(creatingLinkToFile(FilePath), Type.Missing, i, Type.Missing);
                            mi.Save();
                        }                           
                    }
                } 


    private string creatingLinkToFile(string url)
    {
        string lnkPath =@"C:\shortcut.lnk";
        WshShellClass shell = new WshShellClass();           
        IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(lnkPath);
        shortcut.TargetPath = @"" + url;
        shortcut.Description = "Trial";
        shortcut.Save();
        return lnkPath;
    }

请任何人都可以给我和想法,因为我使用了 lnk 文件,但这对前景不起作用。

4

1 回答 1

0

您可以使用具有 olByReference 的 Enumeration OlAttachmentType ,如下所示并完成。

mi.Attachments.Add(""+[path of file to Attach Reference], OlAttachmentType.olByReference, i, Type.Missing);
于 2013-03-13T10:34:01.150 回答