Текущее время: Пт, мар 29 2024, 08:37

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: преобразование имён колонок в Экселе
СообщениеДобавлено: Пн, сен 13 2004, 10:42 
Гость
Подскажите, как проще преобразовать строковые имена колонок в Экселе ( типа "A", "B"..."AA" и т.д.) в числа (1,2...27)?


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения: Re: преобразование имён колонок в Экселе
СообщениеДобавлено: Пн, сен 13 2004, 10:57 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
ak написал(а):
Подскажите, как проще преобразовать строковые имена колонок в Экселе ( типа "A", "B"..."AA" и т.д.) в числа (1,2...27)?

А причём здесь ABAP и SAP вообще?
А вообще - "сервис-параметры-общие", а там уже и не сложно найти.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, сен 13 2004, 11:02 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 10:49
Сообщения: 95
Откуда: 4.6C
:D
типа абаперы и это знают! ))


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:   Тема решена
СообщениеДобавлено: Пн, сен 13 2004, 11:05 
Гость
Звиняйте, не совсем корректный вопрос.
Конечно же, преобразовывать надо в АБАПе :oops:


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, сен 13 2004, 11:12 
Гость
а зачем?
можно так и обращаться к колонке - по ее координатам,
независимо от ее имени


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, сен 13 2004, 12:43 
Гость
Ну, считайте, что так стоит задача :)
надо вызывать уже существующую функцию, кот. на входе принимает координаты ячейки в формате R1C1. Исходные адреса ячеек хранятся в таблице в формате R1CA


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, сен 13 2004, 14:06 
Специалист
Специалист

Зарегистрирован:
Вт, авг 24 2004, 16:49
Сообщения: 186
Откуда: SAP ERP60
Пол: Мужской
А кто тебе мешает запустить в Ёкселе через ОЛЕ последовательность команд, которая и установит формат ячеек по-умолчанию...
( "сервис-параметры-общие", а там уже и не сложно найти.")


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, сен 14 2004, 15:24 
Гость
Я не понял, что, это так сложно сделать в АБАПе? Много вопросов "почему" и ни одного ответа. Как решать задачу с помощью Экселя, я знаю.
Повторюсь ещё раз - задача стоит так, что надо сделать преобразования средствами АБАПа. Может, всё-таки кто-то ответит по существу?


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, сен 14 2004, 16:15 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
ak написал(а):
Я не понял, что, это так сложно сделать в АБАПе? Много вопросов "почему" и ни одного ответа. Как решать задачу с помощью Экселя, я знаю.
Повторюсь ещё раз - задача стоит так, что надо сделать преобразования средствами АБАПа. Может, всё-таки кто-то ответит по существу?

Так в чём вопрос - как манипулировать Excel'ем из ABAP'а или какое свойство Excel дёрнуть для смены формата? Если второе то
Application.ReferenceStyle
Если присвоить ему 1, то стиль будет A1 (буквы для колонок), если -4150 (точнее &HFFFFEFCA), то R1C1 (везде цифры).
Ну а примеров дёрганья Excel через ABAp с использованием OLE на help.sap.com достаточно, да и в библиотеке примеров REUSE они должны быть (вроде).


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, сен 14 2004, 16:32 
Гость
С этим-то как раз проблем нет
А как, к примеру, вызвать написанную не функцию
WriteData using row type i
col type i.
для ячейки AF96?
Повторюсь ещё раз - как манипулировать Экселем, я знаю.
Мне нужен алгоритм или функция преобразования одной системы именования ячеек в другую


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, сен 14 2004, 16:52 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
ak написал(а):
С этим-то как раз проблем нет
А как, к примеру, вызвать написанную не функцию
WriteData using row type i
col type i.
для ячейки AF96?
Повторюсь ещё раз - как манипулировать Экселем, я знаю.
Мне нужен алгоритм или функция преобразования одной системы именования ячеек в другую

Т.е. AF96 нужно преобразовать в ROW = 32. COL = 96?
Ну это уже слишком - помоему всякие алгоритмы преобразования из одной системы счисления в другую проходят даже в школе.
Что тут сложного, перейти от двадцатишестиричной системы счистления к десятичной?

Или всё-таки я что-то е понимаю в исходной задаче?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, сен 15 2004, 08:44 
Гость
спасибо за помощь :)
я не АБАПер, и на Сях я быстренько сделаю что-то типа 'C' - 'A' + 1 и получу искомый результат
Как это просто сделать в АБАПе - не пойму никак
Решение есть, конено, но получается громоздким
А зачем - уже говорил.
Один из примеров - есть готовая функция, кот. что-то делает с данными в Эхельной ячейке. Входные параметры типа i.
У меня - типа C2.


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, сен 15 2004, 11:06 
Гость
Алгоритм тебе уже объяснили. Ну, а если твое решение тебе не нравится, так запости его, чтобы мы по крайней мере видели, что ты стараешься :)


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 16 2004, 09:52 
Гость
Жаль, твоего кода так и не дождался... Дабы снять с себя подозрения в флейме не "по существу" и в знак доброй воли предлагаю свое решение, которое возможно не менее тяжелее твоего:
Code:
FORM CONVERT_REF USING VALUE(A1) CHANGING COL ROW .
  data: LEN TYPE I.
  CLEAR COL.
  CLEAR ROW.
  CHECK A1 CA '123456789'.
  LEN = SY-FDPOS.
  DO LEN TIMES.
    IF SY-ABCDE CS A1(1).
      COL = COL + ( SY-FDPOS + 1 ) * 26 ** ( LEN - SY-INDEX ).
    ENDIF.
    SHIFT A1 LEFT.
  ENDDO.
  ROW = A1.
ENDFORM.                    " CONVERT_REF


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 16 2004, 16:36 
Гость
Цитата:
Жаль, твоего кода так и не дождался...

Да просто устал объясняться. Ждал не то чтобы готового решения, а хотя бы указания, куда копать. АБАП я знаю только на уровне "поправить существующее" и занимаюсь другими языками.
Цитата:
предлагаю свое решение

Точно так же и я делаю, только на входе уже отфильтрованные значения колонок :)
т.е. вызов такой:
FORM CONVERT_REF USING VALUE(COL_A1) CHANGING COL_N
Ну и алгоритм попроще получается

А что, в АБАПе нет возможности получить код символа? Согласись, поиск в строке не есть самый быстрый алгоритм.. :(


Пометить тему как нерешенную
Вернуться к началу
  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу 1, 2  След.

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


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

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


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

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