如何将word,powerpoint中的每一页转换成htm网页 (100分)

  • 主题发起人 主题发起人 zhem8
  • 开始时间 开始时间
另存为:web页(*.htm,*.html)
 
我要在代码里实现,而且是存为罗干个htm网页
 
我只知道整个Doc的

if (FileExt='.DOC') or (FileExt='.RTF') then

begin

WordApp := TWordApplication.Create(Self);
try
try
WordApp.Visible := False;
WordApp.Connect
do
cFileName := FileName;
WordApp.Documents.Open(DocFileName,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam);
do
cFileType := 8;
do
cItem := 1;
FileName := ExtractFileName(FileName);
do
cFileName := AppExecutePath+PATH_LOCAL+'/'+PATH_CACHE+'/'+Copy(FileName,1,Length(FileName)-Length(ExtractFileExt(FileName)))+'.HTM';
WordApp.Documents.Item(DocItem).SaveAs(DocFileName,DocFileType,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam);
WordApp.Documents.Item(DocItem).Close(EmptyParam,EmptyParam,EmptyParam);
WordApp.Disconnect
WordApp.Quit;
FileName :=do
cFileName;
edFileType.ItemIndex := 0;
except
MessageBox(Handle,'无法启动WORD程序来转换文件!','提示',MB_OK or MB_ICONINFORMATION);
end;

finally
WordApp.Free
end;

 
to realLearning,
  谢谢你的回答!
  不过我要的是将word,powerpoint中的每一页都转换成htm网页!
 
思路:
1。分页显示
2。每一页单独存为文档
3。每一文档另存为web页
好像很麻烦,但可以用代码实现。
 
to linsb
你有代码吗?
 
如果我的思路可以接受,我想可以实现。其中关键技术是2。每一页单独存为文档。
 
to linsb
你有原代码吗?server 上的那些office控件你用过吗?
 
word的用过。这方面的资料较多,在dfw搜一下,可查一下我的帖子,我回答了不少这类问题。
 
这是word的
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,comobj, Word_TLB, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;


var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
r1,r2,ARange,wrd,Doc,wrdToHtml:variant;
i,pagecount:integer;
begin

wrd:=createoleobject('word.Application');
wrd.visible:=false;

pagecount:=0;

try
do
c := Wrd.Documents.open('c:/2002.doc');

//wrd.ActiveDocument.SaveAs('c:/2002.htm',wdFormatHTML);
// 另存为一个htm
pagecount:=wrd.selection.information[wdNumberOfPagesInDocument];
if pagecount> 0 then

begin

for i:=1 to pagecountdo

begin

r1:=doc.goto(wdGotoPage,wdGoToAbsolute,i);
r2:=r1.GoToNext(wdGotoPage);
if r1.start=r2.start then

r2.start:=doc.range.end;

do
c.Range(r1.start,r2.start).copy;
//doc.Range(r1.start,r2.start).saveas('c:/2002.htm',wdFormatHTML);

wrdToHtml:=createoleobject('word.Application');
wrdToHtml.Documents.Add( '',False);
wrdToHtml.Selection.Paste;
wrdToHtml.ActiveDocument.SaveAs('c:/'+inttostr(i)+'.htm',wdFormatHTML);
wrdToHtml.Quit(False)
end;

end;


finally
do
c.Close(false)
Wrd.Quit(False)

end;

end;


end.



这是powerpoint的
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, MSPpt2000, OleServer,office2000;

type
TForm1 = class(TForm)
PowerPointApplication1: TPowerPointApplication;
PowerPointPresentation1: TPowerPointPresentation;
PowerPointSlide1: TPowerPointSlide;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;


var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
i,slidecount:integer;

begin


PowerPointPresentation1.ConnectTo(PowerPointApplication1.Presentations.Open('c:/1.ppt',msoFalse, msoFalse, msoFalse));
slidecount:=PowerPointPresentation1.Slides.Count
//PowerPointPresentation1.SaveAs('c:/1.htm',ppSaveAsHTML,msoTrue);
if slidecount>0 then

for i:=1 to slidecountdo

begin

PowerPointSlide1.ConnectTo(PowerPointPresentation1.Slides.Item(1));
PowerPointPresentation1.PublishObjects.Item(1).FileName :='c:/'+inttostr(i)+'.htm';
PowerPointPresentation1.PublishObjects.Item(1).SourceType :=ppPublishSlideRange;
PowerPointPresentation1.PublishObjects.Item(1).RangeStart :=i;
PowerPointPresentation1.PublishObjects.Item(1).RangeEnd:=i;
PowerPointPresentation1.PublishObjects.Item(1).Publish
end;

PowerPointSlide1.Disconnect
PowerPointPresentation1.Disconnect
PowerPointApplication1.Disconnect
end;


end.


 
接受答案了.
 
后退
顶部