2017-11-20 5 views
0

파일을 바이트 배열로 수신하므로이를 Outlook/Redemption을 통해 첨부 파일로 보내야합니다. 오류에Outlook Redemption : 첨부 파일로 byte [] 배열을 추가하는 방법

safeMail.Attachments.Add(data, OlAttachmentType.olByValue, DisplayName:attachment.FileName); 

결과 : 추가() 메소드가 변형 배열을 기대하고 있기 때문에이 있으리라 믿고있어

{"Could not convert variant of type (OleStr) into type (Double)"} 

? 바이트 배열을 Add() 메서드가 받아 들일 수있는 것으로 변환하려면 어떻게해야합니까?

+0

어떻게 선언하고 데이터 변수를 초기화합니까? –

+0

안녕하세요. Dmitry - 데이터 변수가 매개 변수로 제공되어 다른 시스템에서 초기화되었습니다. System.IO.File.ReadAllBytes (path) 메서드를 사용했다고 생각합니다. – Ryannet

+0

선언과 ReadAllBytes에 대한 호출을 표시 할 수 있습니까? –

답변

0

SafeMailItem을 사용하면 첨부 파일 이름을 설정해야하므로 개체를 선택하지 않는 것이 좋습니다. 개체의 RDO 제품군은 훨씬 더 나은 선택입니다. 라인을 따라

뭔가 :

dim data(3) 
    data(0) = "t" 
    data(1) = "e" 
    data(2) = "s" 
    data(3) = "t" 
    set Session = CreateObject("Redemption.RDOSession") 
    Session.MAPIOBJECT = Application.Session.MAPIOBJECT 
    set Msg = Session.GetDefaultFolder(olFolderDrafts).Items.Add 
    Msg.Subject = "attach as array" 
    set attach = Msg.Attachments.Add(data) 
    attach.FileName = "test.txt" 
    attach.DisplayName = "test.txt" 
    Msg.Save 
+0

고마워, 그랬어. 필자는 SafeMail에서 RDOMail으로 변경했으며 attach.FileName도 누락되었습니다. 'var att = mail.Attachments.Add (attachment.BinaryData, OlAttachmentType.olByValue, DisplayName : attachment.FileName); \t \t \t \t \t \t \t \t att.FileName = attachment.FileName; ' – Ryannet