makro in externen docs?[erledigt]

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

Moderator: Moderatoren

schnubber
**
Beiträge: 33
Registriert: Fr, 25.03.2011 09:46

makro in externen docs?[erledigt]

Beitrag von schnubber »

hi
mich würde interessieren ob man ein makro in einer externen daei auführen kann
die Zutaten: ein funktionierendes makro , und 2 offene dokumente gespeichert unter doc1.ods und doc2.ods
im makro werden bestimmte aktionen im doc2.ods ausgeführt , dazu müsste ich es aber ansprechen
wie?
macht man es per name zb "oDoc = doc2.ods"? oder ich habe gelesen dass es noc per url geht weis aber nich die richtige schrebweise dazu
auf jeden fall ist das makro in 2 docs gleichzeitig aktiv, damit das möglich ist muss ich das 2. doc irgendwie ansprechen können

Gruß schnubber
Zuletzt geändert von schnubber am Do, 21.04.2011 08:03, insgesamt 1-mal geändert.
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: makro in externen docs?

Beitrag von Karolus »

LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
schnubber
**
Beiträge: 33
Registriert: Fr, 25.03.2011 09:46

Re: makro in externen docs?

Beitrag von schnubber »

hallo karo
habe ich schon probiert
leider nein..das dokument öffnet sich ja und jedes mal wenn ich das makro ausführe kommt ein neues doc auf..das doc 2 ist aber schon offen..dort soll mitels makro was gemacht werden
trotzdem danke für die mühe
gruß schnubber
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: makro in externen docs?

Beitrag von Karolus »

Hallo
Dann zeig mal was du bisher an Code hast, und schreib am besten gleich was eigentlich getan werden soll.

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
schnubber
**
Beiträge: 33
Registriert: Fr, 25.03.2011 09:46

Re: makro in externen docs?

Beitrag von schnubber »

ich will einfach nur das zweite dokument ansprechen können
mit dem aktiven(jetzigen) macht man das ja mit

Code: Alles auswählen

Sub dokument_ansprechen

  dim oDoc as Object
  dim oSheet as abject
  
  odoc = ThisComponent
  oSheet = oDoc.Sheets.getByIndex(0)
end sub
damit würde ich doc1.ods ansprechen7als aktiv festlegen
will aber dann mittels des selben makros auf daten aus doc2.ods zugreifen(was schon offen ist)
wenn ich jetz mein quellcode posten würde währe das viel zu viel arbeit ....will auch mal selba was basteln ...weis auch schon ungefähr wie ...bloß dazu will ich ein anderes dokument in das makro einbinden können

wie man das mit sheets macht ....kann man ja mit getbyname() machen und dann ist das makro im jeweiligen blatt aktiv...das müsste auch eigentlich für ganze docs gehen oder?

will einfach nur ein script über 2 docs "gleichzeitig" laufen lassen
ablauf : im ersten doc wird was gemacht, es kommt ein befehl der auf das 2. doc zugreift, vor dort informationen holt und anhand dieser wird wieder im 1. doc weitergemacht..möchte hier keine riesen scripts posten...die leute könen ja net denganzen tag davorhuppen, sondern haben auch andere sachen zu tun )
...es sei denn es geht wirklich nicht anders oder ohne den script versteht man nicht was ich will...aber ich habe alles versucht um es zu beschreiben und ich denke man versteht was ich meine
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: makro in externen docs?

Beitrag von Stephan »

Du mußt aus allen aktuell existierenden Elementen von Stardesktop, die geöffneten Dokumente auf den gewünschten Namen der Datei prügfen und bei Übereinstimmung das aktuelle Dokument an eine Objektvariable, zur weiteren Verwendung, zuweisen:

Code: Alles auswählen

alles = StarDesktop.getComponents()
elemente = alles.createEnumeration()
Do While elemente.HasMoreElements
   aktuell = elemente.NextElement()
   If HasUnoInterfaces( aktuell, "com.sun.star.frame.XModel" ) Then
      If aktuell.hasLocation() Then 
          if Right(ConvertFromURL(aktuell.GetLocation),8) = "doc2.ods" Then
             odoc2 = aktuell
             oSheet2 = odoc2.Sheets.getByIndex(0)
          end if
      end if
   end if
Loop


Gruß
Stephan
schnubber
**
Beiträge: 33
Registriert: Fr, 25.03.2011 09:46

Re: makro in externen docs? [erledigt]

Beitrag von schnubber »

Du mußt aus allen aktuell existierenden Elementen von Stardesktop, die geöffneten Dokumente auf den gewünschten Namen der Datei prügfen
lachkrampf xD
danke für die antwort ^^ werds versuchen
schnubber
**
Beiträge: 33
Registriert: Fr, 25.03.2011 09:46

Re: makro in externen docs?[erledigt]

Beitrag von schnubber »

weil ich ich zuerst prügeln gelesen habe, und weil die if-schleife voll brutal für mein hirn ist...aber es klappt =)
Karolus
********
Beiträge: 7535
Registriert: Mo, 02.01.2006 19:48

Re: makro in externen docs?[erledigt]

Beitrag von Karolus »

Hallo
Es gibt keine if-Schleifen, da ist nur eine do....loop-schleife.

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
schnubber
**
Beiträge: 33
Registriert: Fr, 25.03.2011 09:46

Re: makro in externen docs?[erledigt]

Beitrag von schnubber »

Es gibt keine if-Schleifen, da ist nur eine do....loop-schleife.
wieder was gelernt^^
Antworten