我用TWordDocument打开一个word文件拷贝到剪贴板中,再保存为bmp文件
主要步骤如下:
1。WordDoc.Range.CopyAsPicture;
2。Image1.Picture.Assign(Clipboard);
3。Image1.Picture.SaveToFile(SaveDialog1.FileName);
保存后系统不认识保存的文件,但是用ACDSee工具可以打开。
我又测试Image1.Picture直接加载一个正常的bmp文件在保存,系统可以认识并打开
我再测试用考屏键保存屏幕,再用我的程序保存(执行 截屏,2,3 步骤)系统也可以认识并打开,我想问,是否是word的剪切板的问题。如何解决。对了,保存成的文件好想少了bmp头信息,如何处理?
主要步骤如下:
1。WordDoc.Range.CopyAsPicture;
2。Image1.Picture.Assign(Clipboard);
3。Image1.Picture.SaveToFile(SaveDialog1.FileName);
保存后系统不认识保存的文件,但是用ACDSee工具可以打开。
我又测试Image1.Picture直接加载一个正常的bmp文件在保存,系统可以认识并打开
我再测试用考屏键保存屏幕,再用我的程序保存(执行 截屏,2,3 步骤)系统也可以认识并打开,我想问,是否是word的剪切板的问题。如何解决。对了,保存成的文件好想少了bmp头信息,如何处理?
解决方案 »
- QQ被盗,发个贴提醒大家。
- 成功在即,愿意培养新人的!
- 请问indy的idserveriohandlerssl和idssliohandlersocket是干什么用的。
- 如何将dbgrid中选中的记录显示在控件中,比如edit等?
- 又多了一个三角,不容易!!!散分!
- 想要个 图文编辑器,就是混合了图片和文字的编辑器,有没有现成的?
- 用什么方法可以使窗体最小化到任务栏上呢?
- 多边形窗体!!!(急)
- 我想要取出兩個時間(包括兩時間)的記錄
- 请问DBLookupComboBox怎么用?
- 菜鸟提问,各位高手GGJJ们看过来
- 如何获取文件夹容量,能够获得局域网里文件夹容量,如\\dbserver\e$\data\。顶者有分!
{向Excel中插入图片的函数}
procedure PasteImage(MyWorkSheet: TExcelWorksheet; PasPicture: Tpicture);
var
Adata: Thandle; //临时句柄变量。
Apalette: HPALETTE; //临时变量。
MyFormat: Word; //Word类型变量
TempImage: Timage; //Image类型的临时变量。
begin
TempImage := Timage.Create(application);//产生一个Image的实例。
TempImage.Parent := nil;
TempImage.Picture.Assign(PasPicture); //给实例付值。
try
TempImage.Picture.SaveToClipboardFormat(MyFormat, Adata, Apalette);//把剖面图发送到剪贴板,设定句柄。
ClipBoard.SetAsHandle(MyFormat, Adata);
finally
MyWorkSheet.Paste;//把剪贴板上的图片贴到Excel的当前位置。
end;
end;{调用时}
tempPicture := TPicture.Create;
tempPicture.LoadFromFile('c:\xx\xx.jpg');//从文件调JPG图片,必须uses Jpeg单元,否则delphi不认JPG图。
ExcelWorksheet1.Cells.Item[i,j].Select;//移动到要插入的单元格
PasteImage(DM.ExcelWorksheet1,tempPicture);//粘贴图片