Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.49 MB
Время: 0.014 c
2-1208611624
Алексей К.
2008-04-19 17:27
2008.05.18
получение имен в TStringList


15-1207233109
Gabriel'
2008-04-03 18:31
2008.05.18
С чего нужно начать писать компьютерные игры?


2-1208335003
Andy BitOff (PPC)
2008-04-16 12:36
2008.05.18
Быстрое определение валидности Excel евского файла


2-1208780311
jorgunited
2008-04-21 16:18
2008.05.18
выборка во время транзакции


15-1207006992
Пробегал2...
2008-04-01 03:43
2008.05.18
В США нет отпусков?




   Наверх