mein Makro "Rack_Display" funktioniert an sich einwandfrei. Dies gilt aber nur solange, wie ich das Formular in dem ich das Makro aufrufe direkt (über Formulare - Doppelklick auf Formular) starte. Öffne ich dieses Formular aber via Makro aus einem anderen Formular:
Code: Alles auswählen
FormName = oButtonName
Context=CreateUnoService("com.sun.star.sdb.DatabaseContext")
DB=Context.getByName("GCS-tool-management")
Conn=DB.getconnection("GCS","Shanghai")
Args(0).Name="ActiveConnection" : Args(0).Value=Conn
Args(1).Name="OpenMode" : Args(1).Value="open"
FormDoc=DB.DatabaseDocument.FormDocuments.loadComponentFromURL(FormName,"_self",2,Args()) REM << BASIC-Laufzeitfehler.
FormDoc.CurrentController.Frame.ContainerWindow.setFocus()
Hier noch das Problemmakro:
Code: Alles auswählen
Sub Rack_Display2
Dim oMyForm as object
Dim oControl as Object
Dim Filter as String
Dim oPB as Object
Dim oMRI as object
Dim i as Integer
Dim oName as String
'oMyForm = StarDesktop.CurrentComponent.Drawpage.Forms.getbyName("Tools").getbyname("Tool_details")
oMyForm = thisComponent.Drawpage.Forms.getbyName("Tools").getbyname("Tool_details")
oMRI = CreateUnoService( "mytools.Mri" )
oMRI.inspect( oMyForm )
msgBox "wartamol"
'oControl = oMyForm.getbyname("Sites_Concat")
'Filter = Left(oControl.getCurrentValue(),Instr(oControl.getCurrentValue(),":")-1)
'oMyForm.getColumns.getbyname("location_id").Value = Filter
oControl = oMyForm.getColumns.getbyname("location_id")
Filter = oControl.Value
oMyForm = StarDesktop.CurrentComponent.Drawpage.Forms.getbyName("Tools").getbyname("Tool_details").getbyname("Storage")
oControl = oMyForm.getbyname("Location")
if Filter = "2" then
for i = 1 to 4
oName = "Location"+Str(i)
oControl = oMyForm.getbyname(oName)
'oMRI = CreateUnoService( "mytools.Mri" )
'oMRI.inspect( oControl )
oControl.EnableVisible = True
next i
else
for i = 1 to 4
oName = "Location"+Str(i)
oControl = oMyForm.getbyname(oName)
oControl.EnableVisible = False
next i
endif
'msgBox Filter
End Sub
Gruß
Christian