剪贴板问题--求仙人指路
我需要把一段文字和一张图片同时拷贝到clipboard中,之后用户可以把通过Ctrl+V把文字和图片黏贴到word或者excel。注意,把文字和图片拷贝到clipboard中我们可以控制,但用户paste时,我们是无法控制的。
IDataObject dataobj = new DataObject();
dataobj.SetData(DataFormats.UnicodeText, info);
dataobj.SetData(DataFormats.Bitmap, img);
Clipboard.SetDataObject(dataobj, true);
我试过上面的方法,但黏贴的时候,只有文字被黏贴。冰天雪地跪求高人指点~
ps:当我们在word中复制时,里面的文字和图片也会被放到clipboard中,之后内容可以轻易的黏贴到wordpad,excel里。请问有没有高人知道,在word里同时复制文字和图片时,是以什么格式存到clipboard上去的?
------解决方案--------------------
可以设置为HTML格式的文档
C# code
StringBuilder sb = new StringBuilder();
sb.Append(@"Version:0.9
StartHTML:71
EndHTML:170
StartFragment:140
EndFragment:160
StartSelection:140
EndSelection:160");
sb.Append("<html><body>");
sb.AppendFormat("<span>{0}</span>", "Hello World!");
sb.AppendFormat("<img src='{0}' />", @"C:\1.png");
sb.Append("</body></html>");
Clipboard.SetData(DataFormats.Html, sb.ToString());