Текущее время: Чт, мар 28 2024, 20:06

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


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


ВНИМАНИЕ!

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



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

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

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

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, 14:00 
Старший специалист
Старший специалист

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


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

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

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


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

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

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

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

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


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

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

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


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

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


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

Зарегистрирован:
Ср, фев 15 2012, 17:00
Сообщения: 14
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, 09:32 
Специалист
Специалист

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


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

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


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

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


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

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