Programar word con delphi
Manejo de Word desde Delphi
Néstor Freire
nestorfreire@elrinconcito.com
El presente artículo ha sido cedido para su publicación en El Rinconcito de Delphi. Es ilegal cualquier actuación que vulnere los derechos del autor.
! " (! ' . ' !
uses Windows, Messages, ... , Word97;
! )* # ** +
#
$ ' %
! & , -
% ' , & -
/
!
0
& ! ! % " 4 : % 10 # 3 56 7 8 2 & + 9 % ' "
&
;
procedure TForm1.Button1Click(Sender: TObject); begin WordDocument1.Activate; WordDocument1.Range.Text := 'Hola, mundo'; WordDocument1.Application.Visible := True; end;
' & =
= + % $ . % 5 ? ! + ! ' 9& % % &
%
" % % ; 3 ' ! ! & % '% @ % %
> & % A$= 8C B & "8 D % A " E % 1 8 > F 2 + B
& " A E A D 4 B ' E B !
! $ ! + &
+
0procedure TForm1.Button1Click(Sender: TObject); begin ... WordDocument1.Range.InsertParagraphBefore; WordDocument1.Paragraphs.First.Range.Text := 'Párrafo insertado antes' + #13; end;
& &
'
1 ?
2 G '
!
! & & 2
& 1 ? + & ! 1 ? & 2
1 ? & + ' ! + G +
2
+
; =
1 8 + & '
20 !
WordDocument1.Paragraphs.Item(6).Range.Text := ‘Párrafo sexto’;
3 AInsertParagraphBefore3 $
InsertParagraphAfter
! %
+ B" '
!
C = D
3
@
3 ;
procedure TForm1.Button1Click(Sender: TObject); begin ... WordDocument1.Range.InsertParagraphBefore; WordDocument1.Range.InsertParagraphBefore; WordDocument1.Paragraphs.First.Range.Text := 'Párrafo insertado antes’; end;
+
WordDocument1.Paragraphs.First.Range.Text := ‘’;
;
. &
% ! ! + ! ! + E
procedureTForm1.Button2Click(Sender: TObject); var S : OleVariant; Begin … S := 2; WD.Range.Paragraphs.Last.Previous (S).Range.Text := 'hhh'+CHR (13); //Párrafo previo (2 antes) … End;
& % '
! ;
procedure TForm1.Button2Click(Sender: TObject); var S,D : OleVariant; Begin … S := 2; D := 1; WD.Range.Paragraphs.Last.Previous (S).Next 'hhh'+CHR (13); … End;
(D).Next
(D).Range.Text
:=
& ; % #+ @ > A 7 E % % # ' % ' A1 & # ! B# 2 & B + &
) H
E
&
%
!+ + %
"
. % ! ' $
Var Rango : Range; S,D : OleVariant; Begin S := 1; D := 3; Rango := WD.Range (S,D) end;
E %
!
% *
&
$ ' !
Var Rango : Range;
) D !I % ? ! +
Begin … Rango := WordDocument1.Range; Rango.Start := WordDocument1.Paragraphs.Last.Range.Start+1; Rango.End_ := Rango.Start+3; end;
= $ ' .% %
1 ?
=
2!1 ? & J 2 ) D!I E % # ;
Rango.Bold := wdUnderlineSingle;
! % A1 . 2 B = = = = = ! ! !
% C % * !
;1 2 ! 1 2 $ % C * ! 1 8 2 A" % B K % . . . . . . . . . . 7 =
% !
! ?! ?! ! ?! @
#
6
% !
& + + $ $ E @ ! ' = @ !
CL
! >F '
4 CL &
&
WordDocument1.Range.Paragraphs.Last.Range.Paragraphs.Alignment := wdAlignParagraphJustify;
= A $ N K? B! !B K %
A
C? ;
B A
' $
E ; M
$ $ $ $ &
$ $ $ $ !
K ? " N !
# =
+
3
1 O
2
WordDocument1.Range.Paragraphs.Last.Range.Font.Size := 12; Rango.Font.Name := ‘Arial’;
G ! % 1 F 21 8 ' 2! 1 . 1 " " 8 2 2
3 ! & + ;
=
C-
$ 7 $ # >
A
B
$ F 6 F # F ? < 6 F # P > 6 ? 6 < P !(* P !)( 1 0 2 = 2! 1 ' 1 8 $ 2 2 P 6
O ? $ F $ > > > ? $ P (*QP )(Q
%
; *2A 1 %
B! 1 A C2
B$ '
1
$ 1 8
F
2
3
+
Rango. InsertAfter (‘Texto’);
" & %;
1 O
2 E %
WD.Range.Paragraphs.Last.Range.Font.Position := 3;
.
$ < ! % ; %
WordDocument1.Activate;
<
%
;
WordDocument1.Application.Visible := True;
= & % ' ;
E #
+ E
' # 8
# $ ' K
$ '
WordApplication1.Visible := True;
&
%+ & = 1 " 2
var C : OleVariant; begin … WordDocument1.Close; … C := 1; WordDocument1.Close (C); end;
&
%
; A * 7 + !
B! C A
B 1 % 2! 1 % $ 2 K = = E % E
=
% &@ & ! K G K 1 % 2 = 1 %$ 2 = ;
O O K 6 " $ #? O
7 # 8 " $3 % " ? = P P % % P = !
! A % 3 3 B
C * O R78 7P.7$R #
3 RK # % A B ! #!
%
? &
@ !? # #! O O
R78 7P.7$R O # #
= %7 %
% O
=...
Regístrate para leer el documento completo.