Метод или свойство setValue не найдены при реализации макроса LibreOffice Calc
Я использую LibreOffice Calc уже более 3 лет, но недавно начал внедрять макросы с использованием Basic. Я ссылался на онлайн-ресурсы, относящиеся к Libreoffice Calc Macro, и я пытаюсь получить абсолютный путь к файлу в определенной ячейке.
Ниже приведен код, который я пытаюсь запустить, который выдает мне ошибку:
Ошибка:
ОСНОВНАЯ ошибка во время выполнения.
Свойство или метод не найдены: setValue.
Код
Sub selectFile
Dim FileNames() as String
Dim Doc as Object
Dim oSheet as Object
Dim oDestCell as Object
FileNames = fImportLocalFile()
Doc = ThisComponent
oSheet = Doc.Sheets(0)
oDestCell = oSheet.getCellByPosition(1,1)
oSheet.setValue(FileNames, False)
Msgbox Join(FileNames, Chr(10))
End Sub
Я могу пропустить импорт / включение, что приводит к этой ошибке. Невозможно найти соответствующий ресурс в Интернете и, следовательно, разместить мой вопрос здесь.
Спасибо за любые указатели заранее.
1 ответ
Для программирования LibreOffice/Apache OpenOffice получите Расширение MRI!
А также документацию (можно найти в SDK установочные пакеты).
Это то, что MRI записано для вашей цели:
Sub Snippet
Dim oSheets As Variant
Dim oObj1 As Variant
Dim oCellByPosition As Variant
oSheets = ThisComponent.getSheets()
oObj1 = oSheets.getByName("Tabelle1")
oCellByPosition = oObj1.getCellByPosition(1, 1)
oCellByPosition.setString("whatever")
End Sub
Пояснение:
sheet.setValue - как указано в сообщении об ошибке: такого свойства нет. cell.Value - ошибка, как .setValue устанавливает DOUBLE, а не строка. cell.Text - ошибка, как ячейка Text объект нуждается в CellTextCursor (который содержит инструкции по форматированию) и String (удерживая текстовые символы).
Для начала получите Макро-документ Эндрю Питоняка, как бесплатный документ - или купите его книгу.
[Я не связан с автором или слушаниями его книги]