Makro auf anderes Tabellenblatt anwenden

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Makro auf anderes Tabellenblatt anwenden

Re: Makro auf anderes Tabellenblatt anwenden

von Karolus » So, 17.04.2011 22:31

Hallo
Nimm den Code von mir und entferne die msgbox-zeile.

Gruß Karo

Re: Makro auf anderes Tabellenblatt anwenden

von 12dis02424 » So, 17.04.2011 22:09

Hallo Karo,

erst einmal vielen Dank.
Die msgbox gibt den richtigen Bereich aus, allerdings wurde im meinem Makro nicht der Bereich angegeben wenn in einer Zelle eine Wenn Funktion hinterlegt ist mit dem Ergebnis "" also kein Text bzw. Zahl.
Bekommst du das auch hin ?
Das wäre perfekt !

Vielen Dank
Norman

Re: Makro auf anderes Tabellblatt anwenden

von Karolus » So, 17.04.2011 20:34

Hallo
Gibt die msgbox bei folgenden Code den "richtigen" Bereich aus ?

Code: Alles auswählen

Sub printerrange
odoc = thiscomponent
oSheet = odoc.sheets(2)
oZellRange = oSheet.getCellRangeByName("$A$1")
oCursor = oSheet.createCursorByRange(oZellRange)
ocursor.gotoendofusedarea(true )

msgbox ocursor.absolutename 

oAdress = oCursor.RangeAddress
Dim aDruckbereich(0)
aDruckbereich(0) = oAdress
oSheet.setPrintAreas(aDruckbereich())
End Sub
Gruß Karo

Re: Makro auf anderes Tabellblatt anwenden

von 12dis02424 » So, 17.04.2011 19:46

Hallo,
thisComponent.sheets(2) kenn ich und hab ich ausprobiert aber was genau muss ich in meinem Code verändern.
Habe versucht die Zeile oRanges(0).Sheet = ActiveSheet() in oRanges(0).Sheet = thisComponent.sheets(2)
umzuändern aber dann kommt eine Fehlermeldung.
Ich bin leider noch ganz am Anfang was OpenOffice Makros betrifft und versuche durch learning by doing vorwärts zukommen.

Danke
Norman

Re: Makro auf anderes Tabellblatt anwenden

von Karolus » So, 17.04.2011 19:29

Hallo
Die Antworten zu deinen Fragen findest du auf Michael Dannenhöfers Seite, zb.:
http://www.dannenhoefer.de/faqstarbasic ... l#Zweig157
Das dritte Tabellenblatt ? - thisComponent.sheets(2)

Gruß Karo

Makro auf anderes Tabellenblatt anwenden

von 12dis02424 » So, 17.04.2011 19:06

Hallo,

ich benötige bitte Hilfe.
Ich glaube das diese Aufgabe für euch ganz einfach ist, ich verzweifel aber daran.
Ich habe schon ein Makro gefunden welche meine Wünsche fast erfüllt.
Nun soll dieses Makro aber auf das dritte Tabellenblatt angewendet werden, gestartet wird es aus dem ersten.
Und noch eine Bitte, es soll nicht der Standartdrucker verwendet werden sondern automatisch der dritte in der Drucker Liste.
Kann mir bitte jemand dabei helfen.

Code: Alles auswählen

sub Letzte_Zelle_Spalte_A_Drucken
odoc=thiscomponent
oSheet = ThisComponent.CurrentController.getActiveSheet()
oEndrow = 0
while oSheet.getcellbyPosition(0,oEndrow).string <> ""
oEndrow = oEndrow+1
wend
if oEndrow = 0 then 
end if
Dim oRanges(0) As New com.sun.star.table.CellRangeAddress
oRanges(0).Sheet = ActiveSheet()
oRanges(0).StartColumn = 0 : oRanges(0).StartRow = 0
oRanges(0).EndColumn = 4 : oRanges(0).EndRow = oEndrow -1
ThisComponent.CurrentController.getActiveSheet().setPrintAreas(oRanges())
ThisComponent.Print(Array())
End Sub
Vielen Dank für eure Hilfe im voraus.
Viele Grüße
Norman



Moderation,4: verschoben in BASIC Unterforum; Tippfehler Betreff korrigiert (für Suchfunktion)

Nach oben