Я использую 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 ответ1

0

Для программирования 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 (содержащий текстовые символы).

Для начала получите Макро-документ Эндрю Питоняка, как бесплатный документ - или купите его книгу.
[Я не связан с автором или слушаниями его книги]

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .