Текущее время: Вс, июл 20 2025, 09:16

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Как в ABAP можно определить язык (тип интерфейса) приложения MS Office?
СообщениеДобавлено: Пт, сен 03 2010, 18:48 
Ассистент
Ассистент

Зарегистрирован:
Чт, окт 05 2006, 17:37
Сообщения: 40
Как в ABAP определить версию приложения MS Office (русская, английская или немецкая)?
В частности при работе с Excel есть проблема определения конкретного листа (Лист1, Sheet1, Blatt1 и т. д.)

_________________
4.6C


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как в ABAP можно определить язык (тип интерфейса) приложения MS Office?
СообщениеДобавлено: Пт, сен 03 2010, 19:09 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Application.International(xlCountryCode) - см. полный ответ здесь. Это вопрос не ABAP, а скорее VBA программирования.

Но я бы постаралась не использовать"Sheet1", а обращаться по индексу:
Code:
Worksheets(1).Visible = False

Источник

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как в ABAP можно определить язык (тип интерфейса) приложения MS Office?
СообщениеДобавлено: Пт, сен 03 2010, 19:25 
Ассистент
Ассистент

Зарегистрирован:
Чт, окт 05 2006, 17:37
Сообщения: 40
Jelena написала:
Application.International(xlCountryCode) - см. полный ответ здесь. Это вопрос не ABAP, а скорее VBA программирования.

Но я бы постаралась не использовать"Sheet1", а обращаться по индексу:
Code:
Worksheets(1).Visible = False

Источник


Спасибо Елена, но с VBA проблем нет. Надо в ABAP программе перед экспортом данных в шаблон знать имя страницы в Excele.

_________________
4.6C


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как в ABAP можно определить язык (тип интерфейса) приложения MS Office?
СообщениеДобавлено: Пт, сен 03 2010, 19:58 
Старший специалист
Старший специалист

Зарегистрирован:
Сб, июл 28 2007, 20:38
Сообщения: 364
В visual basic редакторе есть прекрасная справка. Надо ее открыть, вбить в поиск "object model" и получите то, о чем в ABAPе можно только мечтать.
Там без труда поймете как что вытрясти из Excel


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как в ABAP можно определить язык (тип интерфейса) приложения MS Office?
СообщениеДобавлено: Пт, сен 03 2010, 21:10 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 16 2010, 09:57
Сообщения: 106
Откуда: СПб
Пол: Мужской
Думаю, что самым простым путем будет прочитать имя листа во временном скрытом инстансе Excel
Code:

Sub GetSheetName()
    Dim xlApp As Object
    Set xlApp = CreateObject("Excel.Application")
    MsgBox "Имя первого листа: " & xlApp.Workbooks.Add.Worksheets(1).Name
    xlApp.Quit
End Sub


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как в ABAP можно определить язык (тип интерфейса) приложения MS Office?
СообщениеДобавлено: Вт, сен 07 2010, 20:33 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
DFH написал(а):
Спасибо Елена, но с VBA проблем нет. Надо в ABAP программе перед экспортом данных в шаблон знать имя страницы в Excele.

Ну так OLE программирование в ABAPе использует те же самые объекты и прочая, что доступны в VBA проектах в самом Excel. Как уже правильно подсказали, можно справкой непосредственно в VB/VBA пользоваться.

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как в ABAP можно определить язык (тип интерфейса) приложения MS Office?
СообщениеДобавлено: Вт, сен 07 2010, 21:59 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
DFH написал(а):
Спасибо Елена, но с VBA проблем нет. Надо в ABAP программе перед экспортом данных в шаблон знать имя страницы в Excele.

Самое простое - задать имя листа в шаблоне таким, каким нужно. А вообще, имя листа не нужно для вывода в Excel, можно обращаться через именованные RANGE.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Последний раз редактировалось Parazit Ср, сен 08 2010, 16:08, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как в ABAP можно определить язык (тип интерфейса) приложения MS Office?
СообщениеДобавлено: Ср, сен 08 2010, 12:55 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 03 2008, 17:20
Сообщения: 162
Или использовать регистр
Code:
DATA: lv_language   TYPE  i.

CALL METHOD CL_GUI_FRONTEND_SERVICES=>REGISTRY_GET_DWORD_VALUE
  EXPORTING
      root  = CL_GUI_FRONTEND_SERVICES=>HKEY_CURRENT_USER
      key   = 'Software\Microsoft\Shared'
      value = 'OfficeUILanguage'
  IMPORTING
      reg_value = lv_language.

CALL METHOD CL_GUI_CFW=>FLUSH.

CASE lv_language
  WHEN 1031.  Write 'German'.
  WHEN 1033.  Write 'English'.
  WHEN 1049.  Write 'Russian'.
  WHEN OTHERS.  "<Коды языков можно найти в enum MsoLanguageID используя VBA в Excel>
ENDCASE.

_________________
В SAPе есть всё, просто вы чего-то не нашли.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как в ABAP можно определить язык (тип интерфейса) приложения MS Office?
СообщениеДобавлено: Чт, сен 09 2010, 10:43 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 16 2010, 09:57
Сообщения: 106
Откуда: СПб
Пол: Мужской
Parazit написал:
А вообще, имя листа не нужно для вывода в Excel, можно обращаться через именованные RANGE.
Только в том случае, если в рабочей книге нет больше диапазона с таким же именем. Ведь имена бывают уровня книги и уровня листа. И если имя (уровня листа) определено на одном листе, а вы стоите на другом, то вы не сможете сослаться на этот диапазон, не указав имени первого листа:
Code:
Range("Лист1!МойДиапазон").Value = 1234


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как в ABAP можно определить язык (тип интерфейса) приложения MS Office?
СообщениеДобавлено: Чт, сен 09 2010, 11:18 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, авг 05 2008, 19:46
Сообщения: 96
Откуда: С Урала
Если поможет, то в оригинале (VBA) это выглядит так
Dim langv As Single
'''' определим язык офиса
langv = Application.LanguageSettings.LanguageID(1)
Перевести на ABAP это пара пустяков


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

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


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

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


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

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