Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

27 Сентябрь 2020, 13:25 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: « 1 2 3 4   Вниз
  Печать  
Автор Тема: Calc: ArrayFormulaLocal ?  (Прочитано 10960 раз)
0 Пользователей и 1 Гость смотрят эту тему.
sokol92
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 163


WWW
« Ответ #54405: 19 Апрель 2020, 19:31 »

Добрый день! Не знаю, представляет ли интерес следующий макрос, который выводит все имена функций, разделители, использующиеся в формулах в стандартном и локализованом виде. Еще может быть, на мой взгляд, полезна функция getMappings сервиса "com.sun.star.sheet.FormulaOpCodeMapper".

Код:
Sub ShowFormulaOpCodes
  Dim oFormula, DataArray, v1, v2, i as Long, arr2
  oFormula=CreateUnoService("com.sun.star.sheet.FormulaOpCodeMapper")
  
  v1=oFormula.getAvailableMappings(6, &H07fffffff)   ' FormulaLanguage: 6=API
  v2=oFormula.getAvailableMappings(3, &H07fffffff)   ' FormulaLanguage: 3=NATIVE
  
  Redim DataArray(Ubound(v1)+1)
  DataArray(0)=Array("Name", "LocalName", "OpCode")              ' Headers
 
  For i=0 To Ubound(v1)
    redim arr2(2)
    arr2(0)=v1(i).Name
    arr2(1)=v2(i).Name
    arr2(2)=v1(i).Token.OpCode
    DataArray(i+1)=arr2    
  Next i
  
  ShowDataArray DataArray
End Sub

' Show DataArray in new Calc document
Sub ShowDataArray(DataArray)
  Dim oDoc, oSheet, oRange
  oDoc = StarDesktop.loadComponentFromURL( "private:factory/scalc", "_blank", 0, Array() )
  oSheet = oDoc.getSheets().getByIndex(0)
  oRange=oSheet.getCellRangeByPosition(0,0,Ubound(DataArray(0)),Ubound(DataArray),0)
  oRange.SetDataArray DataArray
End Sub
« Последнее редактирование: 19 Апрель 2020, 20:18 от sokol92 » Записан

Владимир.
Страниц: « 1 2 3 4   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!