![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Помогите, пожалуйста, не могу разобраться. Нужно выравнять текст в ячейке таблицы, например, по центру (и по вертикали, и по горизонтали). Сделал запись макроса, вытащил оттуда команду и вставил в Delphi.
Код:
Table1.Cell(1,2).Paragraphformat.Alignment:=wdAlignParagraphCenter; Table1.Cell(1,2).VerticalAlignment:=wdCellAlignVerticalCenter; Так вот, wdAlignParagraphCenter и wdCellAlignVerticalCenter он не понимает, пробовал подставлять значения 0, 1, 2, 3 - результата нет. То же самое было и с CentimetersToPoints, когда задавал параметры страницы. Кто-нибудь знает, в чём может быть дело? |
|
#2
|
||||
|
||||
|
Странно что у тебя не понимает:
Код:
// Constants for enum WdParagraphAlignment type WdParagraphAlignment = TOleEnum; const wdAlignParagraphLeft = $00000000; wdAlignParagraphCenter = $00000001; wdAlignParagraphRight = $00000002; wdAlignParagraphJustify = $00000003; wdAlignParagraphDistribute = $00000004; wdAlignParagraphJustifyMed = $00000005; wdAlignParagraphJustifyHi = $00000007; wdAlignParagraphJustifyLow = $00000008; Код:
// Constants for enum WdCellVerticalAlignment type WdCellVerticalAlignment = TOleEnum; const wdCellAlignVerticalTop = $00000000; wdCellAlignVerticalCenter = $00000001; wdCellAlignVerticalBottom = $00000003; |
|
#3
|
|||
|
|||
|
Вот полный код, может что-то забыл добавить?
Код:
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComObj;
type
TForm2 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
Word:variant;
Doc:variant;
Table1:variant;
implementation
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
begin
Word:=CreateOleObject('Word.Application');
Word.visible:=true;
Doc:=Word.Documents.Add;
Doc.Activate;
Doc.PageSetup.LeftMargin:=25000/353;//Здесь хотел использовать CentimetersToPoints
Doc.PageSetup.TopMargin:=10000/353;
Doc.PageSetup.RightMargin:=10000/353;
Doc.PageSetup.BottomMargin:=10000/353;
Table1:=Doc.Tables.Add(Range:=Word.Selection.Range,NumRows:=100,NumColumns:=35);
Table1.Rows.Height:=2500/353;
Table1.Columns.Width:=5000/353;
Table1.Rows.HorizontalPosition:=2500/353;
Table1.Range.Font.Size:=5;
Table1.Cell(1,1).Merge(Table1.Cell(3,29));
Table1.Cell(1,2).Merge(Table1.Cell(3,7));
Table1.Cell(1,2).Range.Text:='Листов _____';
Table1.Cell(1,2).Range.Font.Size:=12;
Table1.Cell(1,2).Paragraphformat.Alignment:=wdAlignParagraphCenter;
Table1.Cell(1,2).VerticalAlignment:=wdCellAlignVerticalCenter;
end;
end. |