Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка "Invalid variant operation" [D7, XP]


Страницы:   1 2

lewka-serdceed ©   (2008-04-16 15:10:00) 

Извините опять за беспокойство, я опять столкнулся с  Ошибка "Invalid variant operation". Но все вроде как надо переменная определена и ей присвоена таблица. Я пытаюсь задать стиль линии, у меня появляется опять эта ошибка. Все данные у меня попадают в таблицу, а линии не могу задать.
часть  кода:
w:variant;
w.ActiveDocument.Tables.item(1).Cell(StringGrid1.RowCount,1).Borders.item(-1).LineStyle.item(1);


lewka-serdceed   (2008-04-16 21:02:00) [1]

uses Word97

w.ActiveDocument.Tables[1].Cell(1,1).Borders[wdBorderTop].LineStyle := wdLineStyleDouble

пишет Item не является свойством.

Подскажите как мне установить тип линии.


Сергей М,   (2008-04-16 18:17:00) [2]


> ewka-serdceed   (16.04.08 16:45) [16]
>
> у меня нет макросов


У тебя нет , а Ворда есть.

ты разве не из Ворда этот код содрал бездумно ?)


umbra   (2008-04-16 18:13:00) [3]


> w.ActiveDocument.Tables.item(1).Cell(StringGrid1.RowCount,
> 1).Borders.item(-1).LineStyle.item(1);

uses Word97

w.ActiveDocument.Tables[1].Cell(1,1).Borders[wdBorderTop].LineStyle := wdLineStyleDouble


Johnmen   (2008-04-16 17:23:00) [4]


> в документе, который открылся, я нахожу таблицу

1. Ты уверен, что желаемый документ "открылся"?
2. Ты уверен, что в документе есть таблица с указанным индексом?

Я это к тому, что за прошедшее с первого поста на эту тему время можно уже было изучить основные принципы и приемы работы с Вордом. В инете примеров, как грязи...


lewka-serdceed   (2008-04-16 16:55:00) [5]

Подскажите мне пожалуйста как мне изменить тип линии в ячейке.


lewka-serdceed   (2008-04-16 16:45:00) [6]

у меня нет макросов. я просто вставляю из StrinпGrid в готовую таблицу в шаблоне.


Сергей М.   (2008-04-16 16:27:00) [7]


> или я не правильно тип линии прописываю?


А как тоже самое выглядит в записанном макросе ?


lewka-serdceed   (2008-04-16 16:22:00) [8]

w.ActiveDocument.Tables.item(1).Cell(StringGrid1.RowCount,1).Borders.item(-1).LineStyle.item(1);
в документе, который открылся, я нахожу таблицу Tables.item(1) затем ячейку Cell(StringGrid1.RowCount,1), потом определяю какую линию я буду менять (верхнюю) Borders.item(-1), и тип линии LineStyle.item(1).
или я не правильно тип линии прописываю? подскажите если это так.


tesseract   (2008-04-16 16:17:00) [9]


> нет. В коде w:variant прописано


А ты правильно пропиши. Variant у Delphi и в Com это две разницы.


Сергей М.   (2008-04-16 16:15:00) [10]


> пытаюсь задать линию верхней грани ячейки таблицы


Гдеконкретно ?


lewka-serdceed   (2008-04-16 16:14:00) [11]

В строке w.ActiveDocument.Tables.item(1).Cell(StringGrid1.RowCount,1).Borders.item(-1).LineStyle.item(1);
я пытаюсь задать линию верхней грани ячейки таблицы.


Сергей М.   (2008-04-16 16:10:00) [12]


> lewka-serdceed   (16.04.08 16:04) [9]


Ты не ответил на вопрос ..


lewka-serdceed   (2008-04-16 16:04:00) [13]

w.ActiveDocument.Tables.item(1).Cell(StringGrid1.RowCount,1).Borders.item(-1).LineStyle.item(1);

А что в этой строке не так?


Сергей М.   (2008-04-16 15:59:00) [14]


> lewka-serdceed   (16.04.08 15:55) [7]


Ну и какой результат ты ожидал от выполнения строки


> w.ActiveDocument.Tables.item(1).Cell(StringGrid1.RowCount,
> 1).Borders.item(-1).LineStyle.item(1);


?


lewka-serdceed   (2008-04-16 15:55:00) [15]

вот полный код. подскажите что не так пожалуйста.
var stroka:integer;
begin
if CheckBox4.Checked=true then begin summa:=0;
w:=CreateOleObject('word.application');
w.visible:=true;
w.Documents.add('C:\Вторая сторона приложения к диплому.doc');
w.ActiveDocument.Tables.item(1).Cell(StringGrid1.RowCount,1).Borders.item(-1).LineStyle.item(1);
end;end;


Сергей М.   (2008-04-16 15:52:00) [16]


> здесь то все переменные определены.
>


И там тоже определены.
Не были бы определены - код не мог бы быть скомпилирован.
А ошибка Invalid variant operation - это ошибка времени выполнения, а не времени компиляции.

Ну раз разобрался, то показывай как ты разобрался ..


Dennis I. Komarov   (2008-04-16 15:51:00) [17]

> [4] lewka-serdceed   (16.04.08 15:49)

см [1]


lewka-serdceed   (2008-04-16 15:49:00) [18]

в ветке   http://www.delphimaster.ru/cgi-bin/forum.pl?id=1208282390&n=18
я разобрался. но здесь то все переменные определены.


Сергей М.   (2008-04-16 15:43:00) [19]


> lewka-serdceed   (16.04.08 15:17) [2]


Вот же твоя ветка

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1208282390&n=18


lewka-serdceed   (2008-04-16 15:17:00) [20]

нет. В коде w:variant прописано


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо