C#复制图文信息到剪切板再粘贴到word

IDataObjectdataObj=newDataObject();dataobj.SetData(DataFormats.UnicodeText,str);datao... IDataObject dataObj = new DataObject();
dataobj.SetData(DataFormats.UnicodeText, str);
dataobj.SetData(DataFormats.Bitmap, img);
Clipboard.SetDataObject(dataObj, true);
这样写粘贴到word的时候只有文字没有图片
粘贴到QQ聊天窗口的时候只有图片没有文字
想粘贴出来既有图片又有文字该怎么写?
求高手指点
展开
 我来答
uuman
推荐于2016-09-05 · TA获得超过561个赞
知道小有建树答主
回答量:235
采纳率:0%
帮助的人:135万
展开全部
  参考一下这个,它是先定义一个网页,然后复制到剪贴板。这样在word就可以了。。

  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");//如果pictureBox1先保存到临时文件夹
sb.Append("</body></html>");
Clipboard.SetData(DataFormats.Html, sb.ToString());
更多追问追答
追问
想分析一下word剪贴板的数据结构,因为我想接收从word里面复制出来的信息。能不能帮忙提个思路。
追答
如果你的VC++有一定基础,可以参考一下这个文章,它里面源码,就实现了,你在WORD复制内容,它能准确包括字体大小排版等等到粘帖到它的richtext控件里啊。。已测试程序过没有问题,不过没有细看代码是否包含你所想要的内容。
希望你能细看并从中也得到启示。
参考:http://www.codeproject.com/Articles/9541/A-Rich-Edit-Control-That-Displays-Bitmaps-and-Othe
轮回岂无边关3
推荐于2016-01-28 · TA获得超过1.1万个赞
知道小有建树答主
回答量:1100
采纳率:100%
帮助的人:305万
展开全部
复制:
private void button1_Click(object sender, System.EventArgs e) {
  // Takes the selected text from a text box and puts it on the clipboard.
  if(textBox1.SelectedText != ”")
  Clipboard.SetDataObject(textBox1.SelectedText);
  }
粘贴:
private void button2_Click(object sender, System.EventArgs e) {
  // Declares an IDataObject to hold the data returned from the clipboard.
  // Retrieves the data from the clipboard.
  IDataObject iData = Clipboard.GetDataObject();

  // Determines whether the data is in a format you can use.
  if(iData.GetDataPresent(DataFormats.Text)) {
  // Yes it is, so display it in a text box.
  textBox2.Text = (String)iData.GetData(DataFormats.Text);
  }
}
主要通过调用Clipborad的API完成
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
heroius
2013-03-10 · TA获得超过1178个赞
知道小有建树答主
回答量:746
采纳率:0%
帮助的人:243万
展开全部
图片是文件流,文本是字符串,而剪贴板同时这能保存一种类型的对象,两者不能同时复制。
我们向word中粘贴富文本,实际上是粘贴能够被word解析的格式化的字符串,其中图片是以链接形式提供的(而非真正的图形对象或流),word能够识别这种链接并决定是否获取真正的文件对象来取代这种链接(这时使用的是嵌入的对象)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1456957817
2013-03-10
知道答主
回答量:64
采纳率:0%
帮助的人:10.6万
展开全部
更符合刚好
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式