Opět Vás zdravím s pár dotazy, na které jistě velké množství z Vás, co si tento příspěvek přečtou mi budou moct dokázat odpovědět.
.
1) Chtěl bych, když spustím databázi, aby se hned po startu spustil formulář, který v ní mám uložený. Je toto v OO možné či nikoli a člověk si jej musí spustit sám? V MS Access jsem to tak nastavené měl, ale tady to vypadá, jako bych musel mít napsané makro a to rovnou nastavit aby se spouštělo při startu. Můžete mi prosím poradit? Vím jak spustit po startu makro => Nástroje -> Přizpůsobit -> záložka Události -> dole vybrat Databázi (aby to nebylo definováno pro celé OO) -> zvolit "Otevřít dokument" a v pravé části dát Makro a požadované si vybrat.
.
Odpověď na dotaz první: Makro k otevření formuláře po startu (pod OO 3.3 funguje):
.
[u]Sub OpenStartForm[/u]
oContexto = CreateUnoService("com.sun.star.sdb.DatabaseContext")
oFonte = oContexto.getRegisteredObject("Databaze")
oForms = oFonte.DatabaseDocument.FormDocuments
oAConnection = oFonte.getConnection("","")
Dim pProp(1) As New com.sun.star.beans.PropertyValue
pProp(0).Name = "ActiveConnection"
pProp(0).Value = oAConnection
pProp(1).Name = "OpenMode"
pProp(1).Value = "open"
oForm = oForms.loadComponentFromURL("Hlavni_Menu", "_blank", 0, pProp())
End Sub
.
2) Dále jestli by jste mi mohli ještě napsat nějaké makro, které když přes tlačítko ve formuláři otevřu nějaký formulář, původní (ten s tím tlačítkem) se zavře a bude aktivní okno formulář, který jsem otevřel.
.
3) Dalším dotazem a snad posledním je, když spustím formulář, jestli by bylo možno nastavit nějaké makro aby se hned formulář Maximalizoval. Vždy jej musím maximalizovat ručně. Je toto prosím též možné?
.
Odpověď na dotaz třetí: Makro k maximalizaci je zde (pod OO 3.3 funguje):
[u]Sub Maximalizace[/u] 'Maximalizuje dané/aktivní okno
oController = ThisComponent.getCurrentController()
oFrame = oController.getFrame()
oContainerWindow = oFrame.ContainerWindow
oContainerWindow.isMaximized = True
End Sub
Děkuji předem za odpovědi.
Editoval Billlly_Samotar (5. 9. 2011 10:47:14)