Диалоговое окно с макросом для ввода данных в таблицу

Автор andreya81, 18 апреля 2013, 09:42

0 Пользователи и 1 гость просматривают эту тему.

andreya81

Помогите! Очень нужен пример диалогового окна с макросом для ввода данных в таблицу с пятнадцатью столбцами (один текстовый остальные числовые).

Серж

#1
Ну, например, для диалога с одним текстовым полем (в примере названо TextField1) и одним числовым полем (в примере с именем NumericField1) на кнопку "записать в таблицу" можно назначить что-то вроде этого:

Sub InsertData

n = 1 'поиск первой свободной строки таблицы
UCell = ThisComponent.Sheets(0).getCellRangeByName("A" & CStr(n))
While Not(UCell.getType() = com.sun.star.table.CellContentType.EMPTY)
n = n + 1
UCell = ThisComponent.Sheets(0).getCellRangeByName("A" & CStr(n))
Wend
'запись данных с формы на лист
ThisComponent.Sheets(0).getCellRangeByName("A" & CStr(n)).Value = n – 1
ThisComponent.Sheets(0).getCellRangeByName("B" & CStr(n)).String = MyDlg.GetControl("TextField1").Text
ThisComponent.Sheets(0).getCellRangeByName("C" & CStr(n)).Value = CSng(MyDlg.GetControl("NumericField1").Value)

End Sub

Надеюсь, как создать диалог, и то, что его следует запускать отдельным макросом вида

Dim MyDlg As Object

Sub RunDialog
MyDlg = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
MyDlg.execute()
End Sub

для вас не секрет.

На всякий случай, адрес оригинальной статьи

andreya81