Basic-IDE direkt aufrufen??

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Gödel2607
*
Beiträge: 15
Registriert: Fr, 22.06.2007 11:12
Wohnort: Mannheim

Basic-IDE direkt aufrufen??

Beitrag von Gödel2607 »

Weiß jemand, ob man die Basic-IDE direkt per Makro oder per Startparameter aufrufen kann? Am Besten natürlich mit Übergabe des zu editierenden Makros.
Ich finde es beim Programmieren immer etwas lästig, daß ich immer erst einen Text öffnen muß, damit ich an die Makros heran komme.
Vielen Dank im voraus

G.
khsc7
***
Beiträge: 50
Registriert: Mo, 05.11.2007 13:08

Re: Basic-IDE direkt aufrufen??

Beitrag von khsc7 »

hallo,
ganz ohne offenes Dokument hab ich das auch noch nicht hingekriegt

aber mit

Code: Alles auswählen

  oDisp           = createUnoService("com.sun.star.frame.DispatchHelper")
  oFrame          = Stardesktop.Frames(0)
  o               = oDisp.executeDispatch(oFrame, ".uno:BasicIDEAppear" ,"" ,0 ,Array())
gehts zumindest mal überhaupt

öffnen des Object-Browses krieg ich auch hin,
leider kann ich noch nicht dessen Position und Größe per Basic einstellen
-> vieleicht weiß da auch noch jemand Rat

Hermann
Gödel2607
*
Beiträge: 15
Registriert: Fr, 22.06.2007 11:12
Wohnort: Mannheim

Re: Basic-IDE direkt aufrufen??

Beitrag von Gödel2607 »

khsc7 hat geschrieben: ganz ohne offenes Dokument hab ich das auch noch nicht hingekriegt
Danke für den Tip. Mit einer kleinen Modifikation geht es sogar, ohne daß ein Dokument geöffnet ist:

Code: Alles auswählen

sub openIDE
	dim oDisp, oFrame, oTemp as object
	oDisp = createUnoService("com.sun.star.frame.DispatchHelper")
	oFrame = CreateUnoService( "com.sun.star.frame.Frame" )
	oTemp = oDisp.executeDispatch(oFrame, ".uno:BasicIDEAppear" ,"" ,0 ,Array())
end sub
Jetzt muß man nur noch heraus finden, was die übergebenen Parameter bewirken, vielleicht kann man dann sogar angeben, welche Prozedur man editieren will.
Nochmal Danke

G.
Gödel2607
*
Beiträge: 15
Registriert: Fr, 22.06.2007 11:12
Wohnort: Mannheim

Re: Basic-IDE direkt aufrufen??

Beitrag von Gödel2607 »

Noch einmal eine Erweiterung:

Code: Alles auswählen

sub openIDE
	dim oDisp, oFrame, oTemp as object
	dim aOptions(5) as New com.sun.star.beans.PropertyValue
	
	aOptions(0).Name="LibName"
	aOptions(0).Value="buerotools"	' Name der Bibliothek
	aOptions(1).Name="Name"
	aOptions(1).Value="Init"		' Name des Moduls oder Dialogs
	aOptions(2).Name="Line"
	aOptions(2).Value=10			' Zeilennummer
'	aOptions(3).Name="Type"			' scheint aber nichts zu bewirken
'	aOptions(3).Value="Dialog"		' Module oder Dialog
'	aOptions(4).Name="Document"		
'	aOptions(4).Value=""			' Name des Dokuments
	
	oDisp = createUnoService("com.sun.star.frame.DispatchHelper")
	oFrame = CreateUnoService( "com.sun.star.frame.Frame" )
	oTemp = oDisp.executeDispatch(oFrame, ".uno:BasicIDEAppear" ,"" ,0 ,aOptions())
end sub
Jetzt kann man auch Bibliothek etc angeben. Das war im Prinzip das, was ich gesucht habe. Vielleicht kann es auch jemand anderes gebrauchen.
G.
khsc7
***
Beiträge: 50
Registriert: Mo, 05.11.2007 13:08

Re: Basic-IDE direkt aufrufen??

Beitrag von khsc7 »

hallo,
das hilft nun mir wieder etwas weiter.
und den Object-Browser krieg ich so auf:

Code: Alles auswählen

 'aOpts(0).Name="PosSize.Width" ' ??? -> wie heißen die Dinger richtig?
  'aOpts(0).Value=10
' ... ???
  o = oDisp.executeDispatch(oFrame, ".uno:ObjectCatalog", "", 0, aOpts)
aber wie stell ich die PosSize ein ?
bei der IDE komm ich über StarDesktop.ActiveFrame ran

Die Fenster sind nämlich zunächst immer absolut unbrauchbar angeordnet

Danke
Antworten