Текущее время: Пн, авг 04 2025, 07:30

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Помогите реализовать basic на abap
СообщениеДобавлено: Чт, янв 17 2008, 14:33 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, окт 26 2006, 15:07
Сообщения: 227
Код такой:
Code:
Range("I14,I15,I21,N14:N16").Select

То есть надо выбрать ячейки точечно, а не одним блоком. Возможно ли это?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, янв 17 2008, 14:46 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, дек 01 2005, 11:45
Сообщения: 98
Попробуйте так

Range("D6,D9,F11,H9:H14,I17:K17,L20:M26,L8").Select
Range("L8").Activate

_________________
Даже если Вас съели, у вас все равно остается два выхода.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, янв 17 2008, 14:48 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, окт 26 2006, 15:07
Сообщения: 227
Вы меня не правильно поняли, на basic все работатет как надо, как это на ABAP реализовать?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, янв 17 2008, 16:11 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, ноя 09 2004, 11:38
Сообщения: 127
Пол: Мужской
Code:
CALL METHOD OF excel_application 'Range' = range EXPORTING #1 = rangestr.

где range - объект типа range: range TYPE ole2_object; а rangestr - строка с координатами 'I14,I15,I21,N14:N16'

_________________
Труд сделал из обезьяны человека, из коня - транспорт... Тут как повезет...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, янв 17 2008, 16:41 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, окт 26 2006, 15:07
Сообщения: 227
У вас работает?
У меня проходит, но на
Code:
CALL METHOD OF go_range 'Select'

ничего не выделяет и sy-subrc в 2 сбрасывает.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, янв 17 2008, 16:53 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, ноя 09 2004, 11:38
Сообщения: 127
Пол: Мужской
Гм. :oops: А зачем необходимо сделать SELECT?

Range у нас уже есть... Теперь мы с ним дальше можем делать что угодно...

Ошибка, скорее всего, из-за того, что не активными являются вышестоящие объекты.

_________________
Труд сделал из обезьяны человека, из коня - транспорт... Тут как повезет...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, янв 17 2008, 17:12 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, окт 26 2006, 15:07
Сообщения: 227
Полностью код выглядит так:
Code:
Range("K14").Select
    Selection.Copy
    Range("I14,I15,I21,N14:N16").Select
    Range("N14").Activate
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
        SkipBlanks:=False, Transpose:=False
    Range("N15").Select


и мне надо как-то его реализовать,

В 3-й строке делать Select не обязательно?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, янв 17 2008, 17:17 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, ноя 09 2004, 11:38
Сообщения: 127
Пол: Мужской
Вот блин.

На вскидку - возможно, не нужно делать activate.

Как вариант можно записать нужные действия в макрос и вызывать его.

_________________
Труд сделал из обезьяны человека, из коня - транспорт... Тут как повезет...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, янв 17 2008, 17:23 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, окт 26 2006, 15:07
Сообщения: 227
В принципе я его реализовал:

Range("I14,I15,I21,N14:N16")
разбил на несколько частей, я каждую отдельно обработал.

Но если придет куму-нить мысль, как выделить весь кусок сразу буду премного благодарен

Voffka, расскажите пожалуйста заодно, как макрос вызывать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите реализовать basic на abap
СообщениеДобавлено: Чт, янв 17 2008, 17:27 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
Надо декомпозировать код следующим образом:
Code:
Set R = Range("I14,I15,I21,N14:N16")
R.Select


- вот это на ABAP будет перевести уже проще.

_________________
/nex


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, янв 17 2008, 17:34 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, ноя 09 2004, 11:38
Сообщения: 127
Пол: Мужской
Вызов макроса:

Code:
  CALL METHOD OF excel_application 'RUN'
    EXPORTING
    #1 = i_name.


С аргументами:
Code:
      CALL METHOD OF excel_application 'RUN'
        EXPORTING
        #1 = i_name
        #2 = l_arg1
        #3 = l_arg2.

_________________
Труд сделал из обезьяны человека, из коня - транспорт... Тут как повезет...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите реализовать basic на abap
СообщениеДобавлено: Чт, янв 17 2008, 17:41 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, окт 26 2006, 15:07
Сообщения: 227
Bully написал(а):
Надо декомпозировать код следующим образом:
Code:
Set R = Range("I14,I15,I21,N14:N16")
R.Select


- вот это на ABAP будет перевести уже проще.

Code:
Set R = Range("I14,I15,I21,N14:N16")

Как это сделать на абап?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, янв 17 2008, 17:49 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, ноя 09 2004, 11:38
Сообщения: 127
Пол: Мужской
Имхо, это и есть

CALL METHOD OF excel_application 'Range' = range EXPORTING #1 = rangestr.

Только вместо переменной "R" переменная "range"

_________________
Труд сделал из обезьяны человека, из коня - транспорт... Тут как повезет...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, янв 18 2008, 17:17 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
Voffka написал:
Имхо, это и есть

Code:
CALL METHOD OF excel_application 'Range' = range EXPORTING #1 = rangestr.


Только вместо переменной "R" переменная "range"


Аха, ты прав. Соответственно конечный вариант будет что-то типа

Code:
CALL METHOD OF excel_application 'Range' = range EXPORTING #1 = rangestr.
CALL METHOD OF range 'Select'.

_________________
/nex


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB