1.delphi中如何使word转换到Memo中
只能是文字,你试试以下代码:
uses comobj;
procedure TForm1.BitBtn6Click(Sender: TObject);
var
NewDoc:variant;
V: OleVariant;
FileNameTemp:String;
begin
if fileexists('c:\a.doc')then
begin
try
FileNameTemp :='c:\a.doc' ;
V := CreateOleObject('Word.Application');
NewDoc :=V.Documents.Open(FileNameTemp);
NewDoc.SaveAs(FileName :='C:\TEMP.rtf',FileFormat:=3);
NewDoc.Close;
V.Quit;
Memo1.Lines.Clear;
Memo1.Lines.LoadFromFile('C:\TEMP.rtf');
deletefile('C:\TEMP.rtf');
except
showmessage('c:\a.doc 可能已打开');
end;
end;
end;
2.delphi 如何将WORD转换为PDF
使用vba来指定保存的文件格式为pdf,当然前提必须已安装MS Office的PDF输出插件(默认应该有)
procedure TForm1.btn1Click(Sender: TObject);
var
wdo,wdoc,wdocs : OleVariant;
begin
wdo := CreateOleObject('Word.Application');
wdocs := wdo.Documents;
wdoc := wdocs.Open('d:\test.docx');
wdoc.ExportAsFixedFormat(OutputFileName:=
'd:\test.pdf', ExportFormat:=17);
//查word的宏帮助
{ OpenAfterExport:='True', OptimizeFor:='wdExportOptimizeForPrint', Range:=
'wdExportAllDocument', From:=1, To:=1, Item:='wdExportDocumentContent',
IncludeDocProps:='True', KeepIRM:='True', CreateBookmarks:=
'wdExportCreateNoBookmarks', DocStructureTags:='True', BitmapMissingFonts:=
'True', UseISO19005_1:='False'); }
end;
3.delphi 怎么离线阅读csdn上的内容
CSDN论坛的XML文件保存及离线查看方法 1.下载必要的文件(XSL、CSS和图片文件):/download/csdn_save_xml.zip 2.将ZIP文件保存目录信息展开到某一个盘符的根目录下(请先确认该根目录下没有expert目录),如:在D盘展开后的文件目录为“d:\expert\xsl\”该目录下只有2.xsl和csdn.css2个文件和一个全部为gif图片的images目录 3.将论坛的xml文件保存到该盘符的任何位置既可离线查看。
4.用Delphi控制替换Word文章内容,100分请教,晓玫有礼了
vWord.Quit(False) ; //退出Word源法度榜样我这里有uses ComObj ;procedure TForm1.Button1Click(Sender: TObject);var vWord,vDoc,vRange : Variant ; sText,sWordStr : string ; lReturn : Boolean ; end ;begin sText := 'ABCDEFG' ; //原文字串 sWordStr := 'GFEDCBA' ; //新字串 try //打开要操作的文件 vDoc := vWord.Documents.Open('C:\My Documents\AAAc.Doc'); vDoc.Select ; //拔取中全部文档 vRange := vDoc.Range ; //调换范围 lReturn := True ; while lReturn do begin //找参预替代成功则返回 True 共11个参数 lReturn := vDoc.Range.Find.Execute(sText,,,,,,,,,sWordStr,True) ; end ; finally vWord := CreateOleObject('Word.Application') ;//创建Word线程 vDoc.Close(True) ; //封闭文并保存end;Delphi 3 下经由过程。
5.用Delphi在word中插入表
一个输出到模板表格中的例子 uses SysUtils,Windows,ADODB,DB,Word97,OleServer, Classes; var sSQL: String; qry: TADOQuery; fileN:OLEvariant; oleGrid: array[1..5] of olevariant; oWordApp: TWordApplication; oWordDoc: TWordDocument; sResult: String; i: Integer; begin qry:= nil; try sResult:= ' '; with qry do begin qry:= TADOQuery.Create(nil); qry.LockType:= ltReadOnly; //转换日期范围 //加载合同项目数据 sSQL:= 'select ProjectName, ProjectCode from FPPro_Project where ProjectID= '+ IntToStr(iProjectID); db_uPublic_GetRecordset(gConn, sSQL, qry); if RecordCount= 0 then begin //如果没有记录,退出 qry.Free; Result:= '没有找到项目记录! '; Exit; end; //连接Word oWordApp:= TWordApplication.Create(nil); owordDoc:= TWordDocument.Create(nil); try oWordApp.Connect; except qry.Free; owordDoc.Free; oWordApp.Free; Result:= '你可能没有安装Word! '; Exit; end; fileN:= fucGetExePath+ 'Template\基础资料清单.dot '; if not FileExists(fileN) then begin Result:= '没有找到模板文件! '; Exit; end; oWordApp.Documents.Add(fileN,emptyparam); oWordDoc.ConnectTo(oWordApp.ActiveDocument as _document); oWordApp.Options.CheckSpellingAsYouType:= False; //关闭拼写检查 oWordApp.Options.CheckGrammarAsYouType:= False; //关闭语法检查 oleGrid[1]:= oWordDoc.Tables.Item(1); oleGrid[1].Cell(1,2).Range.Text:= FieldByName( 'ProjectName ').AsString; oleGrid[1].Cell(1,4).Range.Text:= FieldByName( 'ProjectCode ').AsString; sSQL:= 'select FileName, CreateLogon, CreateDate from (FPPro_AddonFile ' + 'left join FPPro_RFile on FPPro_AddonFile.FileID=FPPro_RFile.FileID) ' + 'where FPPro_AddonFile.FileType=2 and FPPro_RFile.RelationKind=1 ' + 'and FPPro_RFile.RID= '+ IntToStr(iProjectID); db_uPublic_GetRecordset(gConn, sSQL, qry); oleGrid[1].Cell(6,1).Range.Text:= '共计份数: '+ IntToStr(RecordCount)+ '份 '; if RecordCount> 0 then begin //添加统计项目 First; i:=4; while not Eof do begin oleGrid[1].Cell(i,1).Range.Select; oWordApp.Selection.Rows.Add(emptyparam); //插入空行 oleGrid[1].Cell(i,1).Range.Text:= FieldByName( 'FileName ').AsString; oleGrid[1].Cell(i,2).Range.Text:= FieldByName( 'CreateLogon ').AsString; oleGrid[1].Cell(i,3).Range.Text:= FieldByName( 'CreateDate ').AsString; i:=i+1; Next; end; end; oWordApp.Visible:= True; oWordApp.WindowState:= 1; oWordApp.Activate; end; qry.Free; oWordApp.Free; owordDoc.Free; Result:= sResult; except on e: Exception do begin qry.Free; if owordDoc nil then owordDoc.Free; if oWordApp nil then oWordApp.Free; Result:= e.Message; end; end; end;。
转载请注明出处51数据库 » csdndelphiword转bm
极速飚摩托