Delphi与Word例1

王朝delphi·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

//================== Word_VBA 代码 ====================//

sub inWord()

Dim myTable As Table

Dim myBox, myPict, myShape As Shape

'画第一个矩形框

Set myBox = ActiveDocument.Shapes.AddTextbox(Orientation:=1, Left:=90, Top:=70, Width:=414, Height:=200)

'画一条竖线

Set myLine = ActiveDocument.Shapes.AddLine(255, 70, 255, 270)

'画第一幅图

Set myPict = ActiveDocument.Shapes.AddPicture("D:\test\test\load_jpg1\photo\108259.jpg", _

LinkToFile:=False, SaveWithDocument:=True, Left:=180, Top:=80, Width:=65, Height:=80)

'画第二幅图

Set myPict = ActiveDocument.Shapes.AddPicture("D:\test\test\load_jpg1\photo\108259.jpg", _

LinkToFile:=False, SaveWithDocument:=True, Left:=262, Top:=80, Width:=65, Height:=80)

'姓名

Set myShape = ActiveDocument.Shapes.AddTextbox(Orientation:=1, Left:=108, Top:=198, Width:=126, Height:=18)

myShape.Line.Visible = msoFalse

myShape.TextFrame.TextRange.Text = "姓名:新之助"

'年龄

Set myShape = ActiveDocument.Shapes.AddTextbox(Orientation:=1, Left:=108, Top:=225, Width:=126, Height:=18)

myShape.Line.Visible = msoFalse

myShape.TextFrame.TextRange.Text = "年龄:12"

'个人信息

Set myShape = ActiveDocument.Shapes.AddTextbox(Orientation:=1, Left:=351, Top:=90, Width:=126, Height:=99)

myShape.Line.Visible = msoFalse

myShape.TextFrame.TextRange.Text = "个人信息"

'文本框中添加表格

Set myShape = ActiveDocument.Shapes.AddTextbox(Orientation:=1, Left:=288, Top:=198, Width:=189, Height:=63)

myShape.Line.Visible = msoFalse

Set myTable = ActiveDocument.Tables.Add(Range:=myShape.TextFrame.TextRange, NumRows:=3, NumColumns:= _

2, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:=wdAutoFitFixed)

myTable.Cell(1, 1).Range.Text = "体重"

myTable.Cell(1, 2).Range.Text = "40kg"

myTable.Cell(2, 1).Range.Text = "身高"

myTable.Cell(2, 2).Range.Text = "120cm"

myTable.Cell(3, 1).Range.Text = "坐高"

myTable.Cell(3, 2).Range.Text = "65cm"

end sub

//================== Delphi代码 ====================//

PRocedure inDelphi;

var

WordApp,WordDoc,WordTable,wordShape:OleVariant; // se:Selection;

filename:string;

begin

SaveDialog1.InitialDir:=ExtractFilePath(application.ExeName)+'out_file';

SaveDialog1.Execute;

self.Refresh;

filename:=savedialog1.FileName;

if length(filename)=0 then

begin

application.MessageBox(' 没有选择统计文件的存储位置,不能保存统计的数据! ','提示框',mb_ok);

exit;

end;

WordApp:=CreateOleObject('Word.Application');

WordApp.Visible:=True;

WordDoc:=WordApp.Documents.Add;

try

//画第一个矩形框

worddoc.SHAPES.AddTextbox(Orientation:=1, Left:=90, Top:=70, Width:=414, Height:=200);

//画一条竖线

worddoc.Shapes.AddLine(255, 70, 255,270);

//画第一幅图

worddoc.SHAPES.addpicture(ExtractFilePath(Application.ExeName)+'photo\108259.jpg',

LinkToFile:=False, SaveWithDocument:=True, Left:=180, Top:=80, Width:=65, Height:=80);

//画第二幅图

worddoc.SHAPES.addpicture(ExtractFilePath(Application.ExeName)+'photo\108259.jpg',

LinkToFile:=False, SaveWithDocument:=True, Left:=262, Top:=80, Width:=65, Height:=80);

//画 姓名 框

wordShape:=worddoc.Shapes.AddTextbox(Orientation:=1, Left:=108, Top:=198, Width:=126, Height:=18);

wordShape.Line.Visible := false;

wordShape.TextFrame.TextRange.Text := '姓名:新之助';

//年龄 框

wordShape:=worddoc.Shapes.AddTextbox(Orientation:=1, Left:=108, Top:=225, Width:=126, Height:=18);//.Select;

wordShape.Line.Visible := false;

wordShape.TextFrame.TextRange.Text := '年龄:12';

//个人信息 框

wordShape:=worddoc.Shapes.AddTextbox(Orientation:=1, Left:=351, Top:=90, Width:=126, Height:=99);//.Select;

wordShape.Line.Visible := false;

wordShape.TextFrame.TextRange.Text := '个人信息';

//文本框中添加表格

wordShape:=worddoc.Shapes.AddTextbox(Orientation:=1, Left:=288, Top:=198, Width:=189, Height:=63);//.Select;

wordShape.Line.Visible := false;

WordTable := worddoc.Tables.Add(Range:=wordShape.TextFrame.TextRange, NumRows:=3, NumColumns:=2,

DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:=wdAutoFitFixed);

WordTable.Cell(1, 1).Range.Text := '体重';

WordTable.Cell(1, 2).Range.Text := '40kg';

WordTable.Cell(2, 1).Range.Text := '身高';

WordTable.Cell(2, 2).Range.Text := '120cm';

WordTable.Cell(3, 1).Range.Text := '坐高';

WordTable.Cell(3, 2).Range.Text := '65cm';

WordDoc.saveas(filename);

application.MessageBox(' 输出成功! ','提示框',mb_ok);

finally

WordDoc.Saved:=true;

WordDoc.Close;

WordApp.Quit;

end;

end;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航