Добрый день, уважаемые программисты. Помогите пожалуй?...

Автор ForumOOo (бот), 21 января 2022, 16:10

0 Пользователи и 1 гость просматривают эту тему.

ForumOOo (бот)

Компонент: Calc
Версия продукта: 7.x
Сборка: LibreOffice
ОС: Windows 10

Добрый день, уважаемые программисты. Помогите пожалуйста врачу написать код для Libre Office Calc. ))
Нуден код для перевода формул в выделенной области в текст (значения). Весь интернет облазил, не могу найти.
Для Exel этот код выглядит так:
Sub Formulas_To_Values_Selection()
'преобразование формул в значения в выделенном диапазоне(ах)
    Dim smallrng As Range
    For Each smallrng In Selection.Areas
        smallrng.Value = smallrng.Value
    Next smallrng
End Sub
Но как его перевести в Libre Office basic, для меня сложная задача.))

--
Подпись: Олег
Эл. почта: ooo_skd@icloud.com

sokol92

#1
Можно так (если выделен прямоугольный диапазон):
Sub SelectionFormulaToValue
 Dim oDisp
 oDisp=createUnoService("com.sun.star.frame.DispatchHelper")
 oDisp.executeDispatch(ThisComponent.CurrentController.frame, ".uno:ConvertFormulaToValue", "", 0, Array())    
End Sub


Кстати, конструкция
.Value=.Value

в Excel VBA имеет много "побочных эффектов".
Владимир.