:: MVP ::
|
|
:: RSS ::
|
|
|
Как добавить строку в середину таблицы?
uses
{...,} ActiveX, ComObj;
var
W: OleVariant; // Объект Word
procedure TForm1.FormCreate(Sender: TObject);
begin
W := CreateOleObject( 'Word.Application' );
W.Documents.Open( 'c:\путь к файлу\имя файла.doc' );
W.Visible := True;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
W.Quit;
W := Unassigned;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Table: OleVariant;
begin
// Курсор ввода должен находится в ячейке таблицы
Table := W.Selection.Tables.Item( 1 );
Table.Rows.Item( 1 ).Select; // Вставляем перед первой строкой
W.Selection.InsertRows( 5 ); // Вставляем 5 строк
// Или так (если мы знаем порядковый номер таблицы)
// _Table - порядковый номер таблицы
// _Position - строка, перед которой необходимо вставить новую
// _Сount - количество вставляемых строк
// W.ActiveDocument.Tables.Item( _Table ).Rows.Item( _Position ).Select;
// W.Selection.InsertRows( _Сount );
end;
// Для вставки одной строки можно использовать также и метод Add
// коллекции Rows, но с параметром, в качестве которого выступает
// ссылка на строку, перед которой необходимо вставить новую.
procedure TForm1.Button2Click(Sender: TObject);
var
Table: OleVariant;
Row: OleVariant;
begin
// Курсор ввода должен находится в ячейке таблицы
Table := W.Selection.Tables.Item( 1 );
Row := Table.Rows.Item( 1 ); // Вставляем перед первой строкой
Table.Rows.Add( Row );
// Или так (если мы знаем порядковый номер таблицы)
// _Table - порядковый номер таблицы
// _Position - строка, перед которой необходимо вставить новую
// Получаем ссылку на строку
// Row := W.ActiveDocument.Tables.Item( _Table ).Rows.Item( _Position );
// Вставляем новую строку
// W.ActiveDocument.Tables.Item( _Table ).Rows.Add( Row );
end;
|
Как узнать уровень вложенности таблицы?
uses
{...,} ActiveX, ComObj;
var
W: OleVariant; // Объект Word
procedure TForm1.FormCreate(Sender: TObject);
begin
W := CreateOleObject( 'Word.Application' );
W.Documents.Open( 'c:\путь к файлу\имя файла.doc' );
W.Visible := True;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
W.Quit;
W := Unassigned;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Table: OleVariant;
begin
// Курсор ввода должен находится в ячейке таблицы
Table := W.Selection.Tables.Item( 1 );
ShowMessage( Table.NestingLevel );
end;
|
Как распечатать текущую страницу открытого документа?
uses
{..., Word_TLB,} ActiveX, ComObj;
// Constants for enum WdPrintOutRange
type
WdPrintOutRange = TOleEnum;
const
wdPrintAllDocument = $00000000;
wdPrintSelection = $00000001;
wdPrintCurrentPage = $00000002;
wdPrintFromTo = $00000003;
wdPrintRangeOfPages = $00000004;
// Constants for enum WdPrintOutItem
type
WdPrintOutItem = TOleEnum;
const
wdPrintDocumentContent = $00000000;
wdPrintProperties = $00000001;
wdPrintComments = $00000002;
wdPrintStyles = $00000003;
wdPrintAutoTextEntries = $00000004;
wdPrintKeyAssignments = $00000005;
wdPrintEnvelope = $00000006;
// Constants for enum WdPrintOutPages
type
WdPrintOutPages = TOleEnum;
const
wdPrintAllPages = $00000000;
wdPrintOddPagesOnly = $00000001;
wdPrintEvenPagesOnly = $00000002;
var
W: OleVariant; // Объект Word
procedure TForm1.FormCreate(Sender: TObject);
begin
W := CreateOleObject( 'Word.Application' );
W.Documents.Open( 'c:\путь к файлу\имя файла.doc' );
W.Visible := True;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
W.Quit;
W := Unassigned;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
W.PrintOut(Range := wdPrintCurrentPage, Item := wdPrintDocumentContent,
Copies := 1, PageType := wdPrintAllPages, ManualDuplexPrint := False,
Collate := True, Background := True, PrintToFile := False,
PrintZoomColumn := 0, PrintZoomRow := 0, PrintZoomPaperWidth := 0,
PrintZoomPaperHeight := 0, Append := False);
end;
|
Как создать гиперссылку в Word?
uses
{...,} ComObj;
var
W: OleVariant;
procedure TForm1.Button1Click(Sender: TObject);
begin
W := CreateOleObject('Word.Application');
W.Documents.Add;
W.ActiveDocument.Hyperlinks.Add(Anchor := W.Selection.Range,
Address := 'http://decoding.dax.ru', SubAddress := '',
ScreenTip := 'Мой'#10'сайт!', TextToDisplay := 'Decoding');
W.Visible := True;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if not VarIsEmpty(W) then
begin
W.Quit;
W := Unassigned;
end;
end;
|
При использовании материала - ссылка на сайт обязательна
|
|