AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.06.2003, 11:39   #1  
Shrike is offline
Shrike
Участник
 
63 / 10 (1) +
Регистрация: 18.04.2003
range.find() в excel
Как написать в аксапте чтобы при работе с excel через com задать режим поиска "ячейка целиком"?
Старый 05.06.2003, 12:09   #2  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,232 / 974 (37) +++++++
Регистрация: 03.04.2002
а причем здесь аксапта? это эксельный интерфейс, в нем и ищи
Старый 05.06.2003, 13:52   #3  
Shrike is offline
Shrike
Участник
 
63 / 10 (1) +
Регистрация: 18.04.2003
Цитата:
Изначально опубликовано macklakov
а причем здесь аксапта? это эксельный интерфейс, в нем и ищи
При том.
Как в екселе я знаю.
как это написать в аксапте чтоб при вызове из нее ексель понял что она хочет и не выдавал ошибки? вот этот вопрос и интересует. читай внимательней.
Старый 05.06.2003, 15:01   #4  
dn is offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Регистрация: 26.03.2003
Адрес: Москва
Цитата:
Изначально опубликовано Shrike

Как в екселе я знаю.
Тогда напиши кусок кода на VBA, который не удается реализовать в Axapta.
Старый 05.06.2003, 15:43   #5  
Shrike is offline
Shrike
Участник
 
63 / 10 (1) +
Регистрация: 18.04.2003
Цитата:
Изначально опубликовано dn

Тогда напиши кусок кода на VBA, который не удается реализовать в Axapta.
Sub Макрос1()
Range("B2578").Select
Cells.Find(What:="34", After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
).Activate
End Sub

все параметры начиная со второго необязательные. если без них - все работает. хоть один добавить - вываливается с ошибкой.
Старый 05.06.2003, 18:17   #6  
dn is offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Регистрация: 26.03.2003
Адрес: Москва
Вот кусок кода. Попробуй модифицировать под себя.
PHP код:
   COM msExAppmsExWBsmsExWbmsExWshmsExCellsmsExCell
    
;
    
msExApp = new COM("Excel.Application");  
    
msExApp.Visible(False);
    
msExWBs msExApp.Workbooks();
    
msExWb msExWBs.Open("C:\\\\Temp\\\\aaa.xls");
    
msExWsh msExWB.ActiveSheet();
    
msExCells msExWsh.Cells();
    
msExCells.Find("34");
    
msExApp.Visible(True);
    
msExApp.ScreenUpdating(True);
    
msExApp.detach(); 
Старый 05.06.2003, 18:45   #7  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,232 / 974 (37) +++++++
Регистрация: 03.04.2002
Ага, а список всех функций интерфейса Application можно найти в Excel ;-)
Старый 06.06.2003, 09:28   #8  
Shrike is offline
Shrike
Участник
 
63 / 10 (1) +
Регистрация: 18.04.2003
Цитата:
Изначально опубликовано dn
Вот кусок кода. Попробуй модифицировать под себя.
PHP код:
   COM msExAppmsExWBsmsExWbmsExWshmsExCellsmsExCell
    
;
    
msExApp = new COM("Excel.Application");  
    
msExApp.Visible(False);
    
msExWBs msExApp.Workbooks();
    
msExWb msExWBs.Open("C:\\\\Temp\\\\aaa.xls");
    
msExWsh msExWB.ActiveSheet();
    
msExCells msExWsh.Cells();
    
msExCells.Find("34");
    
msExApp.Visible(True);
    
msExApp.ScreenUpdating(True);
    
msExApp.detach(); 
Нда... Люди, вы читать сообщения вообще умеете?
Я знаю как сделать
msExCells.Find("34");

как сделать такой find, который работает в екселе, но не работает из аксапты?
когда используются необязательные параметры метода find()?
В акапте написав вот такое:

msExCells.Find("34", activecell, -4316, 1,1,1);

я гарантировано получаю ошибку.
Старый 06.06.2003, 10:16   #9  
dn is offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Регистрация: 26.03.2003
Адрес: Москва
1. В Excel2000 параметров больше
expression.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)

Скорее всего надо указывать их все.
2. В библиотеке типов можно найти EmptyParam, который применяется для неиспользованных позиций. В Delphi это работает. Как его использовать в Axapte - может быть подскажет кто-нибудь ещё.
3. Советую снизить тон своих сообщений, чтобы в будущем получать хоть какие-нибудь ответы на форуме.
Старый 06.06.2003, 10:24   #10  
Shrike is offline
Shrike
Участник
 
63 / 10 (1) +
Регистрация: 18.04.2003
Цитата:
1. В Excel2000 параметров больше
[B]expression.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)
А то я не знаю!?
Цитата:
Скорее всего надо указывать их все.
А то я не указывал?!
[quote]
2. В библиотеке типов можно найти EmptyParam, который применяется для неиспользованных позиций. В Delphi это работает. Как его использовать в Axapte - может быть подскажет кто-нибудь ещё.
[/qoute]
Вот с этого и надо было начинать...

Цитата:
3. Советую снизить тон своих сообщений, чтобы в будущем получать хоть какие-нибудь ответы на форуме.
Спасибо, о великий учитель!!! Славься, славься! Вовеки!
Советую внимательно читать сообщения.
Старый 07.06.2003, 07:58   #11  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Shrike, давайте поспокойнее.

Если хотите, чтобы люди не указывали вам на то, что вы уже знаете - пишите вопрос подробнее. Ни в исходном вопросе, ни в дальнейших обсуждениях нигде не было видно, что вы знаете, что в find есть 9 параметрав. Вот вам и предложили вариант.
Старый 10.06.2003, 14:49   #12  
PlasticinE is offline
PlasticinE
Смотрящий поверх деревьев (Варварский отморозок)
 
243 / 10 (1) +
Регистрация: 06.12.2001
Цитата:
Изначально опубликовано mazzy
Shrike, давайте поспокойнее.

Если хотите, чтобы люди не указывали вам на то, что вы уже знаете - пишите вопрос подробнее. Ни в исходном вопросе, ни в дальнейших обсуждениях нигде не было видно, что вы знаете, что в find есть 9 параметрав. Вот вам и предложили вариант.
параметрОв, извините...

Хм... А вот, например я, всегда проверяю предлагаемое мною решение прежде чем решаюсь его предложить людям. Хотя это и не способствует быстрому росту количества моих сообщений здесь.
__________________
It's a dirty job, but someone's got to do it. So?
Старый 10.06.2003, 17:40   #13  
dn is offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Регистрация: 26.03.2003
Адрес: Москва
Цитата:
Изначально опубликовано PlasticinE
Хм... А вот, например я, всегда проверяю предлагаемое мною решение прежде чем решаюсь его предложить людям.
Ну типо меня совсем застыдили.
Хотя за это время уважаемый Shrike наверняка нашел какой-то выход, приведу свой вариант решения:
PHP код:
 msExCell=msExCells.Find("34",msExApp.ActiveCell(),COMArgument::NoValue/*xlWhole*/);
msExCell.Activate(); 
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Исследование скорости экспорта данных из Axapta в Excel (коллективный эксперимент) Gustav DAX: База знаний и проекты 79 13.02.2014 13:18
[Excel] - Несколько версий Excel на машине клиента Андре DAX: Программирование 11 07.08.2007 13:45
Работа с Excel через COM и ошибка 0x800A03EC (Range.AutoFilter) gl00mie DAX: Программирование 15 30.03.2007 18:37
Еще раз про Excel Range.Sort angler DAX: Программирование 7 28.10.2005 13:56
Excel Range.Sort Dmitryus DAX: Программирование 1 08.07.2005 19:11

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:44.