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

Вниз

MS EXCEL 2003 + DELPHI 2007   Найти похожие ветки 

 
ganda   (2009-08-26 13:44) [0]

возникла проблема с экселем.
Работаю с экселем через модуль ComObj

oExcel := CreateOleObject("Excel.Application");
oSheet := oExcel.WorkBooks[1].Sheets[2];
oSheet.Range["A1"].select; - тут возникает ошибка метод Select  не может быть завершен верно для класса Range
пробывал заменить Select на Activate результат тот же самый.
Переустановка MS OFFICE не дала результатов! Подскажите как избавится от этого бага!
З.Ы. до сегодняшнего дня работало все


 
Ega23 ©   (2009-08-26 13:53) [1]

oSheet.Range["A1"].select

Второй параметр в Range поставить надо, вроде.


 
test ©   (2009-08-26 13:54) [2]

Если попробывать обойти траблу через макрос в Excel?

Вместо задния поведения дернуть макрос с тем же функцианалом?


 
test ©   (2009-08-26 13:58) [3]

Range["A6:AK7"].Select

Все работает. Названия Range не должны совпадать с названием ячеек


 
ganda   (2009-08-26 14:01) [4]


> Названия Range не должны совпадать с названием ячеек

как это понять?!
> Второй параметр в Range поставить надо, вроде.

что за второй параметр EmptyParam  что ли?


 
Ega23 ©   (2009-08-26 14:17) [5]


> что за второй параметр EmptyParam  что ли?


А я знаю? Я так понимаю, что Cell - это ячейка (нпример, А1). А Range - диапазон ячеек (например, с A1 по A5)
И если ты весь столбец выделить хочешь - ну запиши макрос в VBA, посмотри как это там делается, потом повтори на Delphi


 
ganda   (2009-08-26 14:24) [6]

вот собственно весь код!
в начале копирую что мне нужно
выделяю ячейку в которую мне нужно вставить то что я скопировал.

oSheet.Range["A2:K2"].copy;
oSheet.Range["A" + IntToStr(ID)].Select;
osheet.paste;

уже попробовал прописать так  
oSheet.Range["A6"].Select;
и
oSheet.Range["A6:A6"].Select; результат один и тот же


 
clickmaker ©   (2009-08-26 14:32) [7]

oSheet.Range["A6","A6"].Select


 
ganda   (2009-08-26 15:11) [8]


> oSheet.Range["A6","A6"].Select

И так не помогает!
На другой машине все отрабатывает нормально, а именно на моей не отрабатывает


 
test ©   (2009-08-26 15:24) [9]

Текст ошибки напиши


 
ganda   (2009-08-26 15:40) [10]

Метод Select из класса Range завершен неверно


 
test ©   (2009-08-27 10:36) [11]

Ты в Range можешь оперировать либо именованным блоком ячеек, либо надо задавать 2 параметра LeftTop и BottomRight для блока, ты пытаешся оперировать с помощью Range 1 ячейкой но параметры то от этого не меняются. Ты либо на Cell перейди работа с одной ячейкой, предок общий с Range многое умеет, исключения функции заточенные под блок, либо давай на вход то что ожидает функция.


 
Bless ©   (2009-08-27 11:07) [12]

Вероятно, дело здесь в том, что ты пытаешься сделать select для ячейки на странице 2,  а активна в данный момент совсем другая страница. Я не уверен, но подозреваю, что выделение (select) можно сделать только на активной странице.

Проверь: зайди в ексель, переключись в нужном документе на страницу 2 и запусти свой исходный код. Ошибка должна пропасть.


 
Bless ©   (2009-08-27 11:11) [13]

ну или перед строчкой

oSheet.Range["A1"].select;

добавь строчку
oSheet.Activate;

А тебе действительно так уж необходимы выделения ячеек при работе с excel из делфи?



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

Форум: "Начинающим";
Текущий архив: 2009.10.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.047 c
3-1228725725
amadey_motzart
2008-12-08 11:42
2009.10.25
ADOQuery


2-1251976660
timekiller
2009-09-03 15:17
2009.10.25
Файл - Из консоли


15-1250899237
Tirael
2009-08-22 04:00
2009.10.25
как называется игрушка


15-1250843051
@!!ex
2009-08-21 12:24
2009.10.25
Как получить историю посещения браузеров?


2-1251782328
Sw
2009-09-01 09:18
2009.10.25
проверка готовности диска А и копирование на дискету





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский