This dispatches .uno.CloseDoc
in StarBasic:
frame = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(frame, ".uno:CloseDoc,"",0,args())
Just found a StarBasic module in my repository:
sub closeFormDoc(ev)
'mri = createUnoService("mytools.Mri")
doc = getParentObject(ev.Source.Model, "com.sun.star.document.OfficeDocument")
'mri.inspect( doc)
if not (doc.Parent Is Nothing) Then
closeEmbeddedFormDocument doc.getParent(), doc.getTitle()
else
doc.close(False)
endif
End Sub
Function getParentObject(byval m, srvName$)
do until m.supportsService(srvName)
m = m.getParent()
loop
getParentObject = m
End Function
Sub closeEmbeddedFormDocument(odb, sTitle As String)
Dim ct as String
forms = odb.FormDocuments
for i = 0 to forms.getCount() -1
form = forms.getByIndex(i)
comp = form.getComponent()
if not isnull(comp) then
if comp.Title = sTitle then
form.close()
exit for
endif
endif
next i
End Sub