Текущее время: Пн, июл 21 2025, 01:33

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


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

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


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

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