GELÖST Zeichenkette in mehrere Zellen einfügen

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

Moderator: Moderatoren

achimgr
***
Beiträge: 68
Registriert: Mi, 30.04.2008 16:14

GELÖST Zeichenkette in mehrere Zellen einfügen

Beitrag von achimgr »

Hallo mal wieder,
ich habe folgendes Problem:
Ich markiere in einer Liste die Zellen A5:D5.
Rechtsklick, dadurch wird per Tabellenereignis ein Dialog angezeigt.
In dem Dialog wird 1 Textfeld ausgefüllt.
Problem: Jetzt soll durch Klick auf "OK"-Button der Inhalt des Textfeldes in alle markierten Zellen eingefügt werden.
Wie lautet der Code?
Zuletzt geändert von achimgr am Mi, 09.04.2014 10:38, insgesamt 1-mal geändert.

Grüße aus Niedersachsen,
Achimgr
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Zeichenkette in mehrere Zellen einfügen

Beitrag von F3K Total »

Hi,
ein Beispiel

Code: Alles auswählen

Sub Main
    stext = inputbox ("Text","Text")
    oSel = thiscomponent.currentselection
    if oSel.supportsservice("com.sun.star.sheet.SheetCellRange") then
    adata = oSel.dataArray
    for i = 0 to ubound(adata)
        for k = 0 to ubound(adata(i))
            adata(i)(k) = stext
        next k
    next i
    oSel.setdataArray(adata)
    endif
End Sub
HTH R
achimgr
***
Beiträge: 68
Registriert: Mi, 30.04.2008 16:14

Re: Zeichenkette in mehrere Zellen einfügen

Beitrag von achimgr »

Moin Rik,

vielen Dank, das klappt super. Das liest sich wieder so kompliziert - ich kapier das leider nicht. Danke, dass Du so nett bist mir Deine Zeit zu 'opfern' und mir diesen fertigen Code gibst! Ich habe schon einiges von Deinen Tipps nutzen können! Noch eine schöne Woche,

Grüße aus Niedersachsen,
Achimgr
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: GELÖST Zeichenkette in mehrere Zellen einfügen

Beitrag von F3K Total »

Das ist ganz einfach:

Code: Alles auswählen

        stext = inputbox ("Text","Text")
... weise die Eingabe aus der Box der Variable stext zu

Code: Alles auswählen

        oSel = thiscomponent.currentselection
... weise die aktuelle Auswahl (markierte Zellen) der Variable osel zu

Code: Alles auswählen

        if oSel.supportsservice("com.sun.star.sheet.SheetCellRange") then
... wenn es sich bei der aktuellen Auswahl um einen Bereich von Zellen handelt

Code: Alles auswählen

        adata = oSel.dataArray
... weise die Daten in den Zellen der Variable aData zu, aData ist ein Feld, mit soviel Zeilen und Spalten wie sie der ausgewählte Zellbereich hat

Code: Alles auswählen

        for i = 0 to ubound(adata)
            for k = 0 to ubound(adata(i))
                adata(i)(k) = stext
            next k
        next i
... weise jedem Feld von aData (Zeilen von 0 bis zur Obergrenze, Spalten von 0 bis zur Obergrenze, den Inhalt von sText zu

Code: Alles auswählen

        oSel.setdataArray(adata)
... schreibe das Datenfeld in die Auswahl von Zellen zurück.
Klarer?
Gruß R
achimgr
***
Beiträge: 68
Registriert: Mi, 30.04.2008 16:14

Re: GELÖST Zeichenkette in mehrere Zellen einfügen

Beitrag von achimgr »

Moin Moin, ja deutlich klarer, vielen Dank für die Erklärung.

Grüße aus Niedersachsen,
Achimgr
Antworten