Создание таблицы Calc макросом в Base

Автор iyugov, 15 октября 2014, 17:40

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

iyugov


Доброе время суток.

Скажите, каким образом, находясь в обработчике нажатия кнопки (форма в Base), можно открыть окно нового документа Calc для последующего заполнения?

JohnSUN

Обычно как-то так:
Sub BtnClick
Dim oODS As Variant
GlobalScope.BasicLibraries.LoadLibrary("Tools")
oODS = CreateNewDocument("scalc")
print "В новой книге " + oODS.getSheets().getCount() + " листов"
End Sub
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

rami

#2
Или так:Sub Main   Dim a() as new com.sun.star.beans.PropertyValue
StarDeskTop.LoadComponentFromURL("private:factory/scalc","_blank",0,a)   'новый фрейм
End Sub

iyugov

#3
Спасибо.

А существует ли какой-нибудь механизм, позволяющий организовать тесную двустороннюю связь между БД и электронной таблицей? Вижу это так:
- данные из БД отображаются на листы ЭТ;
- при изменении данных в БД изменяется содержимое ЭТ без необходимости (пере)открывать файл;
- изменения в ЭТ могут в некоторых пределах изменять содержимое БД, также без необходимости (пере)открывать файл.
Словом, электронная таблица работает как специальный элемент управления для БД. Такое вообще делают?

rami

Цитата: iyugov от 15 октября 2014, 19:14А существует ли какой-нибудь механизм, позволяющий организовать тесную двустороннюю связь между БД и электронной таблицей?
Этот механизм — браузер баз данных (вызывается из меню "Вид" "Источники данных") , можно добавлять или удалять данные или таблицы в базе данных не открывая её. Импортированные данные можно обновить в меню "Данные" "Обновить диапазон". Можно также работать с базами и эл.таблицами через макросы без открытия документов.