von Thaver2Theta » Di, 12.10.2010 19:29
Hi,
ich habe einwenig Probleme bei der Erstellung eines Makros für Calc. Ich kann php, javascript, html, css und einbisschen sql. Früher mal hab ich einbisschen in PureBasic programmiert, nur hier in OO fehlt mir doch eine benutzerfreundliche API für StarBasic mit Einführungstutorials, die die grundlegenden Dinge wie Schleifen, Aus-/Einlesen von Daten exemplarisch darstellt.
Folgendes möchte ich realisieren:
Ich habe einen fortlaufenden Kalender in OO Calc erstellt mit Montag, Dienstag ... Sonntag und wieder Montag,Dienstag, usw. ...
Ich möchte mittels Makros, dass die Spaltenbreite der Arbeitstage (Montag bis Freitag) 7cm beträgt und die Wochenendtage (Samstag, Sonntag) nur 3cm breite Spalten haben. Ich möchte einen Kalender erstellen mit 48 Einzel-Blättern im Din A3 auf dem jeweils einer Woche(Mon-Son) zu sehen sind.
Mittels einer do-while Schleife möchte ich gerne, dass jede Zelle von A1 bis Ax durchgelaufen wird und entsprechende Spaltenbreite eingestellt. Wenn die Schleife keinen Wochentag mehr als Zellinhalt als wahre Aussage zur Ausfürhung hat, soll sie abgebrochen werden.
Bisher habe ich das hier:
Code: Alles auswählen
Sub SpaltenBreiteV05
dim SaSoWidth as integer
dim MoFrWidth as integer
dim counterX as integer
dim counterY as integer
dim currentCell as String
SaSoWidth = 3000
MoFr = 7000
counterX = 0
counterY = 0
currentCell = getCellByPosition(counterY, counterX).String
do while currentCell = not "" 'also leer kein Zellinhalt
counterX++
if currentCell = "Sonntag" then
ThisComponent.sheets(0).Columns(counterX).Width = SaSoWidth
else
hisComponent.sheets(0).Columns(counterX).Width = MoFrWidth
EndIf
end sub
So sieht die Tabelle in der Vorschau für den Druck aus:

Hi,
ich habe einwenig Probleme bei der Erstellung eines Makros für Calc. Ich kann php, javascript, html, css und einbisschen sql. Früher mal hab ich einbisschen in PureBasic programmiert, nur hier in OO fehlt mir doch eine benutzerfreundliche API für StarBasic mit Einführungstutorials, die die grundlegenden Dinge wie Schleifen, Aus-/Einlesen von Daten exemplarisch darstellt.
[u]Folgendes möchte ich realisieren:[/u]
Ich habe einen fortlaufenden Kalender in OO Calc erstellt mit Montag, Dienstag ... Sonntag und wieder Montag,Dienstag, usw. ...
Ich möchte mittels Makros, dass die Spaltenbreite der Arbeitstage (Montag bis Freitag) 7cm beträgt und die Wochenendtage (Samstag, Sonntag) nur 3cm breite Spalten haben. Ich möchte einen Kalender erstellen mit 48 Einzel-Blättern im Din A3 auf dem jeweils einer Woche(Mon-Son) zu sehen sind.
Mittels einer do-while Schleife möchte ich gerne, dass jede Zelle von A1 bis Ax durchgelaufen wird und entsprechende Spaltenbreite eingestellt. Wenn die Schleife keinen Wochentag mehr als Zellinhalt als wahre Aussage zur Ausfürhung hat, soll sie abgebrochen werden.
Bisher habe ich das hier:
[code]
Sub SpaltenBreiteV05
dim SaSoWidth as integer
dim MoFrWidth as integer
dim counterX as integer
dim counterY as integer
dim currentCell as String
SaSoWidth = 3000
MoFr = 7000
counterX = 0
counterY = 0
currentCell = getCellByPosition(counterY, counterX).String
do while currentCell = not "" 'also leer kein Zellinhalt
counterX++
if currentCell = "Sonntag" then
ThisComponent.sheets(0).Columns(counterX).Width = SaSoWidth
else
hisComponent.sheets(0).Columns(counterX).Width = MoFrWidth
EndIf
end sub
[/code]
So sieht die Tabelle in der Vorschau für den Druck aus:
[url=http://s5.directupload.net/file/d/2310/2smy4dul_jpg.htm][img]http://s5.directupload.net/images/101012/temp/2smy4dul.jpg[/img][/url]