Druckbereich variabel

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

Moderator: Moderatoren

Benutzeravatar
balu
********
Beiträge: 3810
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Druckbereich variabel

Beitrag von balu »

Hallo aqua,

was willst Du denn jetzt nun wirklich? Ich blicke echt nicht mehr durch.
ist es möglich den Druckbereich in einem Calc Dokument variabel zu machen?
Klar ist das möglich.

Also z.b. wenn in Tabelle1 in Zeile A1 eine 1 steht, dann soll der Druckbereich in Tabelle2 von A1 bis G50 gehen. Steht doch eine 2, dann soll der Druckbereich A1:G60 sein. Bei 3 A1:G66.
Darauf lässt sich problemos aufbauen.


Und dann kommst Du mit so etwas um die Ecke.
wenn A17=1 und A18 und A19 und A20 usw =0 dann
'mach das
wenn A18 und A17 =1 und a19 und A20 =0 dann
'mach das
wenn A19 undA18 und A17 =1 und A20 =0 dann
'mach das
Ich schreib das jetzt mal anders hin.
A17=1, A18=0, A19=0, A20=0
A17=1, A18=1, A19=0, A20=0
A17=1, A18=1, A19=1, A20=0
Das steht doch im vollen Gegensatz zu der voherigen Aussage: Wenn in A1 entweder eine 1, oder 2 oder aber eine 3 steht.

Das Du wenig bis gar keine Ahnung von StarBasic hast, ist für mich nun mehr als eindeutig. Aber das Du die Eingangsproblematik auf einmal in eine ganz andere Richtung verschiebst, ist für mich nicht nachvollziehbar.

Ich habe jetzt so was von die Schnauze gestrichen voll, ..... :lol: das ich dir auf Grund deiner Eingangsfrage und Vorgabe eine Beispieldatei mit folgendem Makro erstellt habe.

Code: Alles auswählen


Sub WandernderDruckbereich
    Dim aWanderDruck(1 to 3) 
    Dim oLeseBlatt as Object, oAktionBlatt as Object
    
    oDok = ThisComponent
    oLeseBlatt = oDok.sheets.getByName("Tabelle1")
    oAktionBlatt = oDok.sheets.getByName("Tabelle2")
    
    aWanderDruck(1) = 5
    aWanderDruck(2) = 10
    aWanderDruck(3) = 15

    oAusleseZelle = oLeseBlatt.getCellRangeByName("A4").value

    if oAusleseZelle >0 and oAusleseZelle <4 then

' Druckbereich A1 bis B??? festlegen. 
'
        oZellRange = oAktionBlatt.getCellRangeByName( "A1:B" & aWanderDruck( oAusleseZelle ))    
        oCursor = oAktionBlatt.createCursorByRange( oZellRange )    
        oAdress = oCursor.RangeAddress    
        Dim aDruckbereich(0)    
            aDruckbereich(0) = oAdress
            oAktionBlatt.setPrintAreas(aDruckbereich()
        Print "Druckbereich angelegt."
                            
    else
        Print "Kein gültiger und zugelassener Wert in der Zelle A4 !"
    end if
End Sub
In der Tabelle1 in Zelle A4 gibst du entweder 1, 2 oder 3 ein. Größer 3 und gleich 0 werden nicht akzeptiert.
Dann auf den Button drücken.



Gruß
balu
Dateianhänge
WandernderDruckbereich.ods
(12.96 KiB) 132-mal heruntergeladen
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
aqua
**
Beiträge: 34
Registriert: Do, 23.07.2015 07:25

Re: Druckbereich variabel

Beitrag von aqua »

balu hat geschrieben: Das steht doch im vollen Gegensatz zu der voherigen Aussage: Wenn in A1 entweder eine 1, oder 2 oder aber eine 3 steht.
Oh, das war nicht gar nicht mehr bewußt, dass ich ganz am Anfang irgendwas mit 1,2,3 geschrieben habe, tut mir leid wenn ich dadurch einige verwirrt habe, war nicht mehr meine Absicht.

Danke für die Mühe und die Datei, werd ich mich gleich angucken.
Antworten