Libreoffice Basic: как передавать переменные CellRange в скрипты PythonPython

Программы на Python
Ответить
Anonymous
 Libreoffice Basic: как передавать переменные CellRange в скрипты Python

Сообщение Anonymous »

Я работаю над своим первым скриптом Python для Libre Office Calc.
Следуя различным руководствам, я установил APSO и успешно создал оболочку Basic, вызывающую скрипт Python.

Это его подпись:

Код: Выделить всё

Function python(functionName As String, ParamArray params) As Variant
Где:

Код: Выделить всё

functionName
— имя вызываемого метода Python.
— передаваемые параметры.

(ПРИМЕЧАНИЕ. Поскольку метод Python варьируется в зависимости от имени функции, массив params не имеет предопределенного размера и типов элементов)< /p>
Это работает очень хорошо, за исключением случаев, когда параметр является диапазоном ячеек. В этом случае диапазон ячеек передается в Python как кортеж, без информации о ссылках на строки и столбцы.
Почему необходимо конвертировать диапазон ячеек в кортеж, а не в объект CellRange ?

Есть ли способ определить типы элементов params, чтобы можно было по-разному управлять диапазонами ячеек? (Я пытался использовать TypeName(params(0)), но, похоже, он работает только с базовыми типами, такими как «Строки», если параметр представляет собой диапазон ячеек, он возвращает Variant()

Подробнее здесь: https://stackoverflow.com/questions/791 ... on-scripts
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»