[gelöst] Eine Zeile in Calc selektieren (makieren)

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

Moderator: Moderatoren

hk3003
**
Beiträge: 36
Registriert: Mo, 31.12.2007 14:19

[gelöst] Eine Zeile in Calc selektieren (makieren)

Beitrag von hk3003 »

Hallo Forum,
ich möchte in Calc mit einen Macro eine bestimmte Zelle suchen und dann die ganze Zeile selektieren (so wie wenn ich mit der Maus auf die Zeilennr. klicke).
Ich schaffe es, die gefundene Zelle zu selektieren aber nicht die Zeile.
Kann mir wer helfen,
lg heinz
Zuletzt geändert von hk3003 am Mi, 07.11.2012 18:03, insgesamt 1-mal geändert.
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Eine Zeile in Calc selektieren (makieren)

Beitrag von balu »

Hallo Heinz,

weshalb willst Du den Zellbereich markieren?
Was hast Du danach als nächstes vor damit?

Welche Office-Version OOo/LO/AOO, inklusive Versionsnummer?
Betriebssystem?


Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
hk3003
**
Beiträge: 36
Registriert: Mo, 31.12.2007 14:19

Re: Eine Zeile in Calc selektieren (makieren)

Beitrag von hk3003 »

Hallo Balu,
sorry ich war bei der Antwort nicht angemeldet. Daher nochmals:

Ich habe Win 7 Prof und OO 3.4.1 (ist AOO Apache Open Office dann habe ich dieses)

Die Markierung ist rein optisch. Es sollen die Daten in dieser Zeile zum lesen hervorgehoben werden. Im Anschluß wird im Kopfbereich ein anderer Suchbegriff eingegeben. Die Zellen des Sheets sind übrigens gesperrt.
lg heinz
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Eine Zeile in Calc selektieren (makieren)

Beitrag von Stephan »

Ich schaffe es, die gefundene Zelle zu selektieren aber nicht die Zeile.
Kann mir wer helfen,
Wahrscheinlich niemand, denn Du teilst ja nicht mit was Du versucht hast. Das Vorgehen beim Markieren einer Zelle und einer Zeile ist nämlich sinngemäß vollkommen gleich:

Zelle:

Code: Alles auswählen

With ThisComponent
  .CurrentController.Select(.Sheets(0).getCellByPosition(0,3))
End With
Zeile:

Code: Alles auswählen

With ThisComponent
  .CurrentController.Select(.Sheets(0).rows(3))
End With
so das nicht klar ist was bei Dir der Fehler sein sollte.


Gruß
Stephan
hk3003
**
Beiträge: 36
Registriert: Mo, 31.12.2007 14:19

Re: Eine Zeile in Calc selektieren (makieren)

Beitrag von hk3003 »

Aber ja, in der Folge der Code-Teil der die Zelle selektiert. Ich finde aber kein Möglichkeit dies für die ganze Zeile zu tun:

Code: Alles auswählen

'	Focus auf gefundene Position setzen
dim adresse as string
adresse = "A" + (i + 1)
oSel = ThisComponent.CurrentSelection
oSheet = ThisComponent.Sheets(oSel.RangeAddress.Sheet)
oCell = oSheet.GetCellRangeByName(adresse)
ThisComponent.CurrentController.Select(oCell) 'Make this the active cell.
lg heinz
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Eine Zeile in Calc selektieren (makieren)

Beitrag von Stephan »

Ich finde aber kein Möglichkeit dies für die ganze Zeile zu tun
wenn

ThisComponent.CurrentController.Select(<Zellobjekt>)

eine Zelle markiert, was wird dann wohl eine Zeile markieren?
Ohne jede Programmierkenntnis würde man mutmaßen:

ThisComponent.CurrentController.Select(<Zeilenobjekt>)

und es hätte 10 Sekunden gedauert das auszuprobieren und bestätigt zu finden das es tatsächlich so ist.

Naja, ich hatte ja die Lösung nun ohnehin schon gepostet.



Gruß
Stephan
hk3003
**
Beiträge: 36
Registriert: Mo, 31.12.2007 14:19

Re: Eine Zeile in Calc selektieren (makieren)

Beitrag von hk3003 »

Hallo Stefan,
ich finde dein Antwort zimmlich prepotent. Wenn du dir zu schade für eine Antwort bist, mußt du sie ja nicht geben.

Übrigens selektiert deine Version ebenfalls nur die erste Zelle der Zeile,

lg heinz
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Eine Zeile in Calc selektieren (makieren)

Beitrag von Stephan »

Wenn du dir zu schade für eine Antwort bist, mußt du sie ja nicht geben.
Ich habe Dir sofort eine zutreffende Antwort gegeben.

WEnn ich in meiner zweiten Antwort zusätzlich die Situation thematisiert hatte dann deshalb weil ich finde das eine Aussage wie:
Ich schaffe es, die gefundene Zelle zu selektieren aber nicht die Zeile.
nicht meinen sollte das Du nur niemanden gefunden hast der irgendwo einen fertigen Code gepostet hat und Du nicht 10 SEkunden selbst nachgedacht hast.
Übrigens selektiert deine Version ebenfalls nur die erste Zelle der Zeile,
stimmt, die Version wo "Zelle:" drübersteht tut genau das, die Version hingegen wo "Zeile:" drübersteht, nämlich:

Code: Alles auswählen

With ThisComponent
  .CurrentController.Select(.Sheets(0).rows(3))
End With
selektiert auch die komplette Zeile, im konkreten Beispiel die Zeile Nr. 4 (=Zeilenindex 3)


Gruß
Stephan
juetho
******
Beiträge: 617
Registriert: Di, 20.04.2010 15:46
Wohnort: Berlin

Re: Eine Zeile in Calc selektieren (makieren)

Beitrag von juetho »

hk3003 hat geschrieben:Hallo Stefan,
ich finde dein Antwort zimmlich prepotent. Wenn du dir zu schade für eine Antwort bist, mußt du sie ja nicht geben.
Es mag schon sein, dass Stephans Kommentare etwas genervt klingen. (Er schreibt sich übrigens mit 'ph', nicht mit 'f'; soviel Respekt sollte sein.) Ich kann ihn aber verstehen: Immer wieder werden seine Vorschläge ignoriert, nur teilweise gelesen, nicht nachgeprüft oder versucht und seine Anmerkungen (bewusst oder unbewusst) falsch verstanden. Ich schlage vor, dass du dir zuerst an die eigene Nase fasst, bevor du hilfreiche Antworten abwertest. Jürgen
Situation: LibO 3.6 auf Win 7 Home Premium (64-bit) mit MySQL (localhost) über JDBC
hk3003
**
Beiträge: 36
Registriert: Mo, 31.12.2007 14:19

Re: Eine Zeile in Calc selektieren (makieren)

Beitrag von hk3003 »

Hallo Stephan, Hallo Jürgen,
ja ich nehme mich bei meiner eigenen Nase:

Natürlich spricht man jemand korrekt an, sorry!

Ja, der Vorschlag von Stephan funktioniert! (mein negativer Test war mit dem falschen (alten) Macro), daher auch mein Ärger.

Herzlichen Dank an beide für die rasche Hilfe,
lg heinz
Antworten