2013-03-05 1 views
0

VS 2010 & Dot Net Framework 2.0을 사용하고 있습니다. Outlook 용 확장 기능 -> 공유 추가 기능 프로젝트를 만들었습니다. 내 하드 디스크에 파일 (모든 파일)을 저장하고 해당 첨부 파일을 삭제하고이 파일의 경로를 첨부 파일로 추가하려는 경우이 파일을 클릭하면 내 하드 디스크에 저장된 파일을 열어야합니다. 저장하고C#에서 Outlook 용 추가 기능 (첨부 파일 저장 및 첨부 파일로 저장된 파일 경로에 대한 URL 참조 추가)

   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 [email protected]"C:\shortcut.lnk"; 
     WshShellClass shell = new WshShellClass();   
     IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(lnkPath); 
     shortcut.TargetPath = @"" + url; 
     shortcut.Description = "Trial"; 
     shortcut.Save(); 
     return lnkPath; 
    } 

사람이 줄 수 제발 저와 아이디어 등을 삭제하기 위해 작성된 코드 나, 파일을 저장할 첨부 파일을 삭제할 수 있어요하지만 난 첨부 여기 로 파일의 경로를 저장할 수 아니다 나는 lnk 파일을 사용했지만 Outlook이 작동하지 않습니다.

+1

c : \ shortcut.lnk로 만들면 안되므로 사용자의 임시 디렉토리에 만들어야합니다. – Ben

답변

0

olByReference가 인 열거 형 OlAttachmentType을 사용할 수 있습니다.

mi.Attachments.Add(""+[path of file to Attach Reference], OlAttachmentType.olByReference, i, Type.Missing);