![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
marwell |
![]() ![]()
Сообщение
#1
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: ![]() ![]() ![]() |
создаю таблицу, назначаю толщину линий и цвет, таблица создается, но все равно остается невидимой
![]() что я делаю не так? const
wdLineWidth025pt=0;
var
Application, MyRange: variant;
begin
...
MyRange:=Application.ActiveDocument.Range(Application.ActiveDocument.Range.End-1,
Application.ActiveDocument.Range.End-1);
Application.ActiveDocument.Tables.Add(Range:=MyRange, NumRows:=13, NumColumns:=5);
Application.ActiveDocument.Tables.Item(1).Columns.Item(1).Width:=150;
Application.ActiveDocument.Tables.Item(1).Columns.Item(2).Width:=90;
Application.ActiveDocument.Tables.Item(1).Columns.Item(3).Width:=90;
Application.ActiveDocument.Tables.Item(1).Columns.Item(4).Width:=90;
Application.ActiveDocument.Tables.Item(1).Columns.Item(5).Width:=90;
Application.ActiveDocument.Tables.Item(1).Columns.Borders.OutsideLineWidth:=wdLineWidth025pt;
Application.ActiveDocument.Tables.Item(1).Columns.Borders.OutsideColorIndex:=clBlack;
...
|
IUnknown |
![]()
Сообщение
#2
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
Во-первых, wdLineWidth025pt равен не 0, а 2. А во-вторых, цвет назначается не дельфийским clBlack, а Word-овским wdBlack = 1.
|
marwell |
![]()
Сообщение
#3
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: ![]() ![]() ![]() |
Во-первых, wdLineWidth025pt равен не 0, а 2. А во-вторых, цвет назначается не дельфийским clBlack, а Word-овским wdBlack = 1. wdLineWidth025pt исправил, а на wdBlack ругается [Error]: Undeclared identifier: 'wdBlack' Добавлено через 1 мин. wdLineWidth025pt исправил, а на wdBlack ругается [Error]: Undeclared identifier: 'wdBlack' ой, недосмотрел ![]() Добавлено через 2 мин. wdLineWidth025pt исправил, а на wdBlack ругается [Error]: Undeclared identifier: 'wdBlack' Добавлено через 1 мин. ой, недосмотрел ![]() стопорится на этой строчке Application.ActiveDocument.Tables.Item(1).Columns.Borders.OutsideLineWidth:=wdLineWidth025pt; ![]() |
IUnknown |
![]()
Сообщение
#4
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
Не верю:
Эскизы прикрепленных изображений ![]() |
marwell |
![]()
Сообщение
#5
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: ![]() ![]() ![]() |
Не верю: ![]() procedure TForm1.Button1Click(Sender: TObject);
const wdReplaceAll=2;
wdLineWidth025pt=2;
var
Application, MyRange: variant;
begin
Application:= CreateOleObject('Word.Application');
Application.Documents.Open('E:\12.docx');
Application.ActiveDocument.Range(0, Application.ActiveDocument.Range.End).Copy;
Application.ActiveDocument.Close;
Application.Documents.Add;
Application.ActiveDocument.Range(0,0).Paste;
MyRange:=Application.ActiveDocument.Range(Application.ActiveDocument.Range.End-1,
Application.ActiveDocument.Range.End-1);
Application.ActiveDocument.Tables.Add(Range:=MyRange, NumRows:=13, NumColumns:=5);
Application.ActiveDocument.Tables.Item(1).Columns.Item(1).Width:=150;
Application.ActiveDocument.Tables.Item(1).Columns.Item(2).Width:=90;
Application.ActiveDocument.Tables.Item(1).Columns.Item(3).Width:=90;
Application.ActiveDocument.Tables.Item(1).Columns.Item(4).Width:=90;
Application.ActiveDocument.Tables.Item(1).Columns.Item(5).Width:=90;
Application.ActiveDocument.Tables.Item(1).Columns.Borders.OutsideLineWidth:=wdLineWidth025pt;
Application.ActiveDocument.Tables.Item(1).Columns.Borders.OutsideColorIndex:=1;
Application.ActiveDocument.Save;
Application.ActiveDocument.Close;
Application.Quit;
Application:=UnAssigned;
end;
end.
Добавлено через 4 мин. ![]() procedure TForm1.Button1Click(Sender: TObject);
const wdReplaceAll=2;
wdLineWidth025pt=2;
var
Application, MyRange: variant;
begin
Application:= CreateOleObject('Word.Application');
Application.Documents.Open('E:\12.docx');
Application.ActiveDocument.Range(0, Application.ActiveDocument.Range.End).Copy;
Application.ActiveDocument.Close;
Application.Documents.Add;
Application.ActiveDocument.Range(0,0).Paste;
MyRange:=Application.ActiveDocument.Range(Application.ActiveDocument.Range.End-1,
Application.ActiveDocument.Range.End-1);
Application.ActiveDocument.Tables.Add(Range:=MyRange, NumRows:=13, NumColumns:=5);
Application.ActiveDocument.Tables.Item(1).Columns.Item(1).Width:=150;
Application.ActiveDocument.Tables.Item(1).Columns.Item(2).Width:=90;
Application.ActiveDocument.Tables.Item(1).Columns.Item(3).Width:=90;
Application.ActiveDocument.Tables.Item(1).Columns.Item(4).Width:=90;
Application.ActiveDocument.Tables.Item(1).Columns.Item(5).Width:=90;
Application.ActiveDocument.Tables.Item(1).Columns.Borders.OutsideLineWidth:=wdLineWidth025pt;
Application.ActiveDocument.Tables.Item(1).Columns.Borders.OutsideColorIndex:=1;
Application.ActiveDocument.Save;
Application.ActiveDocument.Close;
Application.Quit;
Application:=UnAssigned;
end;
end.
аа, блин, забыл Application.ActiveDocument.Tables.Item(1).Columns.Borders.OutsideLineStyle:=wdLineStyleSingle;
Добавлено через 1 мин. спасибо большое ![]() |
marwell |
![]()
Сообщение
#6
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: ![]() ![]() ![]() |
гм, границы теперь видны, но только границы таблицы... линии ячеек невидимы
![]() Добавлено через 14 мин. кажется нашел, надо выделить таблицу и указать толщину линии Application.ActiveDocument.Tables.Item(1).Select;
Application.Selection.Cells.Borders.InsideLineWidth :=wdLineWidth025pt;
Но опять вылезает http://forum.pascalnet.ru/index.php?act=Attach&type=post&id=10221 видимо что то не так делаю Сообщение отредактировано: marwell - 10.10.2012 20:36 |
IUnknown |
![]()
Сообщение
#7
|
![]() a.k.a. volvo877 ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: ![]() ![]() ![]() |
const
wdBorderHorizontal = -5;
wdBorderVertical = -6;
var i : Integer;
// ...
for i := wdBorderHorizontal downto wdBorderVertical do
begin
Application.ActiveDocument.Tables.Item(1).Borders.Item(i).LineStyle := wdLineStyleSingle;
Application.ActiveDocument.Tables.Item(1).Borders.Item(i).LineWidth := wdLineWidth025pt;
end;
|
marwell |
![]()
Сообщение
#8
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 198 Пол: Мужской Репутация: ![]() ![]() ![]() |
const
wdBorderHorizontal = -5;
wdBorderVertical = -6;
var i : Integer;
// ...
for i := wdBorderHorizontal downto wdBorderVertical do
begin
Application.ActiveDocument.Tables.Item(1).Borders.Item(i).LineStyle := wdLineStyleSingle;
Application.ActiveDocument.Tables.Item(1).Borders.Item(i).LineWidth := wdLineWidth025pt;
end;
вот оно, помогло) спасибо ![]() |
![]() ![]() |
![]() |
Текстовая версия | 17.07.2025 19:49 |