现在的位置: 首页 > 综合 > 正文

Delphi与Word例1

2013年01月28日 ⁄ 综合 ⁄ 共 3966字 ⁄ 字号 评论关闭

//==================?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;

抱歉!评论已关闭.