Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.18;
Скачать: CL | DM;

Вниз

Ошибка "Invalid variant operation"   Найти похожие ветки 

 
lewka-serdceed   (2008-04-16 15:10) [0]

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


 
tesseract ©   (2008-04-16 15:14) [1]


> w:variant;


OleVariant ?


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

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


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


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


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

http://delphimaster.net/view/2-1208282390/


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

в ветке  http://delphimaster.net/view/2-1208282390/
я разобрался. но здесь то все переменные определены.


 
Dennis I. Komarov ©   (2008-04-16 15:51) [5]

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

см [1]


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


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


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

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


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

вот полный код. подскажите что не так пожалуйста.
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:59) [8]


> 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 16:04) [9]

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

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


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


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


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


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

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


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


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


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


 
tesseract ©   (2008-04-16 16:17) [13]


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


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


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

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).
или я не правильно тип линии прописываю? подскажите если это так.


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


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


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


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

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


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

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


 
Johnmen ©   (2008-04-16 17:23) [18]


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

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

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


 
umbra ©   (2008-04-16 18:13) [19]


> 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


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


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


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

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


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

uses Word97

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

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

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



Страницы: 1 вся ветка

Текущий архив: 2008.05.18;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.019 c
2-1208498832
kudatsky
2008-04-18 10:07
2008.05.18
Не создаётся индекс в DBF-файле


15-1207325337
tesseract
2008-04-04 20:08
2008.05.18
IPhone vs другие


2-1208281426
Аврам
2008-04-15 21:43
2008.05.18
потоки


2-1208858129
AlexAA
2008-04-22 13:55
2008.05.18
Открыть файл .exe


2-1208929981
Джек874585
2008-04-23 09:53
2008.05.18
Юникод в Delphi