Я пишу макрос для Libreoffice Calc.Он просто показывает заголовок документа в MsgBox, выделяет все ячейки на листе и очищает их.
REM ***** BASIC *****
Sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
MsgBox document.Title
rem------------------------------------------------------------------------
rem Preparando a folha
dispatcher.executeDispatch(document, ".uno:SelectAll", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:ResetAttributes", "", 0, Array())
dispatcher.executeDispatch(document, ".uno:ClearContents", "", 0, Array())
End Sub
Если я открою редактор макросов и выполню этот код, нажав клавишу F5, отобразится текстовое поле с заголовком документаи очищает последний выбранный лист, как и ожидалось.Теперь я хочу автоматизировать это для определенного листа с помощью кнопки.Я вставил кнопку, щелкнул ее правой кнопкой мыши, во всплывающем меню щелкнул «элементы управления ...», перешел на вкладку «События» и поместил свою функцию в пункт «Выполнить действие».Когда я нажимаю кнопку, MsgBox с заголовком документа отображается, как обычно.Клетки не очищаются, хотя.Что мне нужно сделать, чтобы моя кнопка очищала ячейки?