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

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


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

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


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

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