LibreOffice Cal c Поиск цели не работает из макроса Basi c - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь запустить поиск цели из макроса Cal c Basi c.

Public Sub Goal_Seek()
  oVariableCell = detailSheet.getCellRangeByName("VariableCell")
  oFormulaCell = detailSheet.getCellRangeByName("FormulaCell")
  oTargetCell = detailSheet.getCellRangeByName("TargetCell")
  ThisComponent.seekGoal(oFormulaCell.CellAddress, oVariableCell.CellAddress, oTargetCell.getValue)
End Sub

Когда я запускаю макрос, ничего не обновляется. Когда я запускаю «Поиск цели» из меню «Электронные таблицы» «Инструменты»> «Поиск цели» и ввожу те же ячейки в форму, поиск цели работает нормально.

Мой макрос находится в «Моих макросах-Стандартный-модуль1». Именованные диапазоны возвращают правильные адреса ячеек. Что может быть причиной того, что цель не обновляется при вызове из макроса?

1 Ответ

0 голосов
/ 09 апреля 2020

Причина, по которой это не сработало, заключается в том, что я должен сам установить результат при вызове цели, установленной из макроса. Я должен был догадаться об этом. Новый код

  detailSheet = ThisComponent.Sheets(7)
  oVariableCell = detailSheet.getCellRangeByName("VariableCell")
  oFormulaCell = detailSheet.getCellRangeByName("FormulaCell")
  oTargetCell = detailSheet.getCellRangeByName("TargetCell")
  oGoal = ThisComponent.seekGoal(oFormulaCell.CellAddress, oVariableCell.CellAddress, oTargetCell.getValue)
  oVariableCell.setValue(oGoal.Result)
End Sub
...