Текущее время: Пн, мар 25 2019, 19:50

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Стрелка на листе Excell
СообщениеДобавлено: Чт, окт 18 2018, 10:43 
Начинающий
Начинающий

Зарегистрирован:
Ср, фев 15 2012, 18:00
Сообщения: 11
Добрый день!

Кто в курсе, подскажите пожалуйста, где ошибка...
Пытаюсь на листе в Экселе, в конкретном месте нарисовать стрелку вправо из объектов.
Пытаюсь сделать это так:

Code:
  GET PROPERTY OF worksheet 'Shapes' = shapes.
  CALL METHOD OF shapes 'AddShape'
    EXPORTING
      #1 = 'msoShapeRightArrow'
      #2 = '366.562519685'     "left
      #3 = '1755.93748031'   "top
      #4 = '49.687480315'   "right
      #5 = '3.75'.   "bottom
  FREE OBJECT shapes.


Ничего не выходит. В чём я не прав?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Стрелка на листе Excell
СообщениеДобавлено: Чт, окт 18 2018, 15:00 
Специалист
Специалист

Зарегистрирован:
Чт, мар 29 2007, 12:51
Сообщения: 208
Откуда: Yugorsk.RU
Пол: Мужской
наверное, именованную константу VBA передаёте (просто как строку) - SAP о константах VBA понятия не имеет, поэтому и передаёт строку.
А надо цифровое значение этой константы.
#1 = 'msoShapeRightArrow'


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Стрелка на листе Excell
СообщениеДобавлено: Чт, окт 18 2018, 15:03 
Специалист
Специалист

Зарегистрирован:
Чт, мар 29 2007, 12:51
Сообщения: 208
Откуда: Yugorsk.RU
Пол: Мужской
но вообщето - сомнительный в плане производительности способ: средствами сервера приложений SAP вырисовывать отдельные элементы в эксель-книге на клиенте. Это ж ресурсы и сервера и клиента впустую расходуете.

Наверное правильнее было бы передать пачкой в эксель координаты, и вызвать 1 раз макрос в этой книге, который в экселине сам отрисует по переданным координатам нужные графические элементы и прочие "баньтики"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Стрелка на листе Excell
СообщениеДобавлено: Чт, окт 18 2018, 16:38 
Начинающий
Начинающий

Зарегистрирован:
Ср, фев 15 2012, 18:00
Сообщения: 11
pberezin написал:
наверное, именованную константу VBA передаёте (просто как строку) - SAP о константах VBA понятия не имеет, поэтому и передаёт строку.
А надо цифровое значение этой константы.
#1 = 'msoShapeRightArrow'

Вот как бы узнать её цифровое значение ;)

pberezin написал:
Наверное правильнее было бы передать пачкой в эксель координаты, и вызвать 1 раз макрос в этой книге, который в экселине сам отрисует по переданным координатам нужные графические элементы и прочие "баньтики"

Это просто супер вариант! Но он натыкается на одну простую вещь... На некоторых станциях политикой запрещены макросы. И этот вопрос не решаем априори. Увы и ах...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Стрелка на листе Excell
СообщениеДобавлено: Чт, окт 18 2018, 17:29 
Специалист
Специалист

Зарегистрирован:
Чт, мар 29 2007, 12:51
Сообщения: 208
Откуда: Yugorsk.RU
Пол: Мужской
в любом VBA-редакторе есть т.н. Object browser (клавиша F2)
там видны все объекты, методы и константы всех библиотек, которые подключены к вашему VBA-проекту. Очень помогает при анализе левых OLE-библиотек. Поиск там тоже есть.

Const msoShapeRightArrow = 33 (&H21)
Member of Office.MsoAutoShapeType


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

Зарегистрирован:
Чт, мар 29 2007, 12:51
Сообщения: 208
Откуда: Yugorsk.RU
Пол: Мужской
впринципе, как вариант, type-pool один раз создать, и констант VBA туда накопипастить с теми же именами. Будет интуитивно понятный интерфейс программирования SapVBA :D


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Стрелка на листе Excell
СообщениеДобавлено: Пт, окт 19 2018, 09:06 
Начинающий
Начинающий

Зарегистрирован:
Ср, фев 15 2012, 18:00
Сообщения: 11
pberezin написал:
в любом VBA-редакторе есть т.н. Object browser (клавиша F2)
там видны все объекты, методы и константы всех библиотек, которые подключены к вашему VBA-проекту. Очень помогает при анализе левых OLE-библиотек. Поиск там тоже есть.

Const msoShapeRightArrow = 33 (&H21)
Member of Office.MsoAutoShapeType

А вот за эту наводку огромное человеческое спасибо! :roll:

pberezin написал:
впринципе, как вариант, type-pool один раз создать, и констант VBA туда накопипастить с теми же именами. Будет интуитивно понятный интерфейс программирования SapVBA

И постоянно пополнять его ))


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Стрелка на листе Excell
СообщениеДобавлено: Пт, окт 19 2018, 10:32 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, дек 02 2010, 09:37
Сообщения: 92
SAP уже подсуетился, частично -инклюд EXCEL__C.


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

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


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

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


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

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