Форум: "Начинающим";
Текущий архив: 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