내 상황이 여기에 있습니다. 사용자가 수행하는 작업 (버튼/토글/텍스트 상자/등 ..)에 따라 Excel 시트를 편집하는 Application Windows Form을 만들었습니다.Outlook 전자 메일 본문에 클립 보드에서 이미지를 붙여 넣는 방법?
편집이 완료되면 새 Excel 파일이 생성됩니다.
그러면 programm가 셀 범위를 선택하고 복사합니다. 클립 보드로 이동합니다.
나는() {} else {}/.jpg/등으로 저장하면 여러 테스트를 수행했으며 모든 것이 true로 확인되었습니다.
내 이미지에 첨부하고 싶지 않습니다. 일시적으로 저장하지 않고 저장된 .jpg 파일을 통해 본문에 붙여 넣기를 원하지 않습니다. "그냥"내 Outlook 전자 메일 본문에 Ctrl + V를 만들고 싶습니다.
public void ReadData()
{
Excel excel = new Excel(@"E:\c#\Project#XX\Resources\TEST.xlsx", 1);
excel.CopyRange(0, 0, 32, 12);
IDataObject iData = Clipboard.GetDataObject();
if (iData.GetDataPresent(DataFormats.Bitmap))
{
Bitmap MessageBody = (iData.GetData(DataFormats.Bitmap, true) as Bitmap);
//pbx.Image = Image;
//image.Save(@"E:\c#\Project#XX\Resources\bitmap1.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
//MessageBody = image;
}
excel.Close();
excel.Quit();
}
가 여기 내 메시지 건물 코드입니다 : (i가 다른 지역을 통해 호출 할 수 있도록 공공 문자열로 상단에 선언 "MessageBody") 난 내 클립 보드에서 이미지를 얼마나 여기
입니다 : 이전 버전에서
private void flatCustButton013_Click(object sender, EventArgs e)
{
ReadData();
string MessageSubject = $"SomeSubject";
Outlook.MailItem newMail = (Outlook.MailItem)application.CreateItem(Outlook.OlItemType.olMailItem);
newMail.Subject = MessageSubject;
newMail.BodyFormat = Outlook.OlBodyFormat.olFormatHTML;
MessageHTMLBody = "<html><body>SomeText.<img src="cid:MessageBody"</img></body></html>";
newMail.HTMLBody = MessageHTMLBody;
//newMail.Body = System.Windows.Input.ApplicationCommands.Paste;
//newMail.Display(false);
//newMail.BodyFormat = Outlook.OlBodyFormat.olFormatHTML; ;
//newMail.HTMLBody = System.Windows.Input.ApplicationCommands.Paste;
//newMail.Body = MessageBody;
newMail.To = ToAddress;
newMail.SentOnBehalfOfName = FromAddress;
newMail.CC = CcAddress;
newMail.BCC = BccAddress;
//System.Windows.Input.ApplicationCommands.Paste;
//wrdEdit = application._Inspector.WordEditor
newMail.Send();
}
, 사람들은, Excel 파일을 열고 수동으로 세포를 변경 한 다음 (VB에서 매크로) 버튼을 클릭했다. 이미지를 붙여 넣은 상태에서 Outlook 전자 메일 항목을 열면 (표시 : true) "보내기"를 클릭하기 만하면됩니다.
My 2.0 버전은 "Send/Generated Excel Sheet //"버튼을 클릭하면 자동으로 수행됩니다.
Sub SendMail()
Dim Messager As New Outlook.Application
Dim Mail As Outlook.MailItem
Dim WrdEdit
Range("my_range").CopyPicture
Set Messager = New Outlook.Application
Set Mail = Messager.CreateItem(olMailItem)
With Mail
.To = "some folks"
.CC = "some folks"
'.BCC = ""
.Subject = "SomeSubject"
.Display
.HTMLBody = Mess + .HTMLBody
End With
Set WrdEdit = Messager.ActiveInspector.WordEditor
WrdEdit.Application.Selection.Paste
Set WrdEdit = Nothing
Set Messager = Nothing
Set Mail = Nothing
ActiveWorkbook.Close SaveChanges:=False
End Sub
하지만 난 클립 보드의 이미지를 검색에 성공하고있어 만약 내가 (내가에 대한 지식이없는) 검사기를 통과 왜 내가하지 않습니다
여기 VB에서 매크로 코드입니다.
나는이 사용하려고했습니다 | 'newMail.Attachments.Add ("E @ : \ C# 프로젝트 # XX \ 자료 \의 bitmap1.jpg, Outlook.OlAttachmentType.olEmbeddeditem, 1 \ Type.Missing)가 그 상단에 몸에 첨부 파일을 박았 MSDN 소스에 지정된 동안' 그리고 메시지, 첨부 파일, 빈 몸을 전송 나는 그것을 얻지 않는다 . . –