wie öffnet man eingebettete calc ole objekte mittels makro?

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

Moderator: Moderatoren

gerhard.muellner
*
Beiträge: 10
Registriert: Mi, 06.04.2011 23:27

wie öffnet man eingebettete calc ole objekte mittels makro?

Beitrag von gerhard.muellner »

nach doch längere suche ist es mir gelungen mittels basic-macro ein calc-ole-objekt in ein text-dokument zu erzeugen.

Code: Alles auswählen

sub InsertTable
  rem --- insert calc table ----
  dim SName as string
  dim obj as object
  dim oEmbeddedSheetDoc as object

  SName = "com.sun.star.text.TextEmbeddedObject"
  obj = ThisComponent.createInstance(sName)
  obj.CLSID = "47BBB4CB-CE4C-4E80-A591-42D9AE74950F"
  obj.attach(ThisComponent.currentController().Selection.getByIndex(0))
end sub
ich kann auch zellen des ole objektes mittels macro befüllen.

Code: Alles auswählen

sub Test
  dim oFormula as object
  dim oSheets as object
  dim oSheet as object
  dim oCell as object

  oFormula = ThisComponent.getEmbeddedObjects().getByIndex(0).getEmbeddedObject()
  oSheets = oFormula.getSheets()
  oSheet = oSheets.getByIndex(0) 
  oCell = oSheet.getCellByPosition(0, 0)
  oCell.setString "ABCD" 
end sub
aber es gelingt mir nicht das ole-objekt so zu öffnen wie es ein doppel-klick macht., damit dann "ThisComponent" auf das ole-objekt zeigt, und alle weiteren macros das ole-objekt so behandeln, wie es auch für eignene calc-tabelle funktionieren würde.

ich suche also einen basic-markro der das calc-ole-objekt zum bearbeiten öffnet, und einen macro zum schließen des ole-objektes.
bst
*****
Beiträge: 222
Registriert: Mo, 18.01.2010 16:14
Wohnort: Ilsfeld

Re: wie öffnet man eingebettete calc ole objekte mittels mak

Beitrag von bst »

Hi,

versuche mal:

Code: Alles auswählen

ThisComponent.getEmbeddedObjects().getByIndex(0).ExtendedControlOverEmbeddedObject.doVerb(-5)
bzw.:

Code: Alles auswählen

sub Test
  oXEO = ThisComponent.getEmbeddedObjects().getByIndex(0).ExtendedControlOverEmbeddedObject 
  oSupportedVerbs = oXEO.SupportedVerbs

  s = ""
  for k=0 to UBound(oSupportedVerbs)
    s = s & "VerbID: " & oSupportedVerbs(k).VerbID & ", Name: " & oSupportedVerbs(k).VerbName & Chr(10)
  next k
  msgbox s 
end sub
Siehe: http://www.oooforum.org/forum/viewtopic.phtml?t=78793

HTH, Bernd
gerhard.muellner
*
Beiträge: 10
Registriert: Mi, 06.04.2011 23:27

Re: wie öffnet man eingebettete calc ole objekte mittels mak

Beitrag von gerhard.muellner »

Funktioniert perfekt. Vielen Dank!
Antworten