Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.05.18;
Скачать: [xml.tar.bz2];

Вниз

Ошибка "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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.041 c
4-1188899278
Cj
2007-09-04 13:47
2008.05.18
Regedit DDE


15-1207197918
php
2008-04-03 08:45
2008.05.18
PHP


15-1206999106
TIF
2008-04-01 01:31
2008.05.18
Microsoft призналась, что использовала исходные коды Linux...


2-1208521330
Динис_ИС
2008-04-18 16:22
2008.05.18
Как зашарить папку ?


2-1208676738
Mag
2008-04-20 11:32
2008.05.18
Редактирование текстового файла. Замена части текста на другой.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский