X
xuegaoyili
Unregistered / Unconfirmed
GUEST, unregistred user!
我现在的代码能实现把Word的第一页转为图片保存起来。我现在的问题是,
如何程序控制循环每一页去保存成图片。。
首先要在uses处加上 comobj,wordxp,Clipbrd
var
WordApp,WordDoc,WordRande,WordSel:OleVariant;
i :integer;
bmp:TMetaFile;
begin
//////////////////创建ole对象,载入Word文档
WordApp := CreateOleObject('Word.Application');
WordApp.Visible := true;
WordApp.Documents.open(edit1.Text);
////////选择上全部内容
WordApp.ActiveDocument.Content.Select; //此处已能使用 ActiveDocument.Sections.Count
////////根据选中的区域保存成图片,目前只能保存第一页
WordApp.ActiveDocument.Range.WholeStory;
WordApp.ActiveDocument.Range.CopyAsPicture;
//////////创建图像对象接收剪切板中图片,进行保存
bmp := TMetaFile.Create;
bmp.Assign(ClipBoard);
bmp.SaveToFile(syspath+'out_.bmp');
bmp.free;
//////////不保存对文档的操作,退出
WordApp.ActiveDocument.Saved:=true;
WordApp.ActiveDocument.Close;
WordApp.Quit;
=======================================
我现在知道在Word中有Range,Selection,Sections,Bookmarks等集合对象。可不能使用
出来。。。哪位做过说说。。怎么引用VBA中的集合对象。。。
WordApp.ActiveDocument.Bookmarks['/page'].Range.Select; //错
WordApp.ActiveDocument.Sections[1].Range.Select; //错
WordApp.ActiveDocument.Sections.item(1).Range.Select; //错
快疯了
如何程序控制循环每一页去保存成图片。。
首先要在uses处加上 comobj,wordxp,Clipbrd
var
WordApp,WordDoc,WordRande,WordSel:OleVariant;
i :integer;
bmp:TMetaFile;
begin
//////////////////创建ole对象,载入Word文档
WordApp := CreateOleObject('Word.Application');
WordApp.Visible := true;
WordApp.Documents.open(edit1.Text);
////////选择上全部内容
WordApp.ActiveDocument.Content.Select; //此处已能使用 ActiveDocument.Sections.Count
////////根据选中的区域保存成图片,目前只能保存第一页
WordApp.ActiveDocument.Range.WholeStory;
WordApp.ActiveDocument.Range.CopyAsPicture;
//////////创建图像对象接收剪切板中图片,进行保存
bmp := TMetaFile.Create;
bmp.Assign(ClipBoard);
bmp.SaveToFile(syspath+'out_.bmp');
bmp.free;
//////////不保存对文档的操作,退出
WordApp.ActiveDocument.Saved:=true;
WordApp.ActiveDocument.Close;
WordApp.Quit;
=======================================
我现在知道在Word中有Range,Selection,Sections,Bookmarks等集合对象。可不能使用
出来。。。哪位做过说说。。怎么引用VBA中的集合对象。。。
WordApp.ActiveDocument.Bookmarks['/page'].Range.Select; //错
WordApp.ActiveDocument.Sections[1].Range.Select; //错
WordApp.ActiveDocument.Sections.item(1).Range.Select; //错
快疯了