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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Google [Bot]


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

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