Makro Fehlermeldung

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 Fehlermeldung

Re: Makro Fehlermeldung

von felix » Sa, 29.09.2007 16:43

Hallo,

erstaml danke für die Antwort.

was muss ich denn dann als Druckbefehl schreiben?

das mit den Seiten angeben funktioniert in einer andren Datei wunderbar.


Das Makro hat folgenden Hintergrund. Ich habe ein Tabellenblatt in welchem ich Adressen gespeichert habe. Nun kann ich bestimmte Adressen auswählen in dem ich ein "X" in die letzte Spalte schreibe. Jede adresse hat einen Index. Nun kommt das Makro zum einsatz.

Diese Index(mehrzahl????) werden kopiert in Tab2:A39.
zuerst wird der Courser in Zelle A38 positioniert dann die 1. "befüllte" Zelle ausgelesen und der Wert kopiert in Zelle D39
dann der Druckbereich definiert und die Seite gedruckt. Dann wird die Schleife wieder durchlaufen, bis halt der Endwert der Schleife erreicht ist.

Das ganze dient dazu um Briefumschläge zu drucken.

Mir ist folgendes aufgefallen:

Wenn nur eine Adresse ausgewählt ist läuft das Makro von Oben super.
Sind mehr wie eine Adresse ausgewählt kommt es zur besagten Meldung.

MfG Felix

Re: Makro Fehlermeldung

von Toxitom » Sa, 29.09.2007 11:02

Hallo Felix,

in Calc definierst du die Druckbereiche über den Weg, den du ja auch gehst. Beim Printbefehl selbst gibst du keine Seiten an - hier wird einfach ein leeres Array Übergeben. Gedruckt werden alle definierten Druckbereiche aller Seiten! Also, da musst du selbst für Sorge tragen - bei der Definition er Druckbereiche. So war es bisher.

Ab der 2.3 könnte es Änderungen gegeben haben - das weiss ich noch nicht, das müsste ich mal ausprobieren. In der UI ist es nämlich jetzt auch so, dass man "Seiten" auswählen kann - zum Drucken.

Viele Grüße
Thomas

Makro Fehlermeldung

von felix » Fr, 28.09.2007 16:54

Hallo,

ich habe ein Makro zusammen gebastelt. Das funktioniert auch sehr gut. Bis auf das, dass beim vorletzten Schritt eine Meldung kommt. Der Schritt ist das Drucken. Gedruckt wird der vorher erstellte Druckbereich. Allerdings kommt hallt immer diese Meldung (siehe Anhang).

weiß da jemand rat?

Code: Alles auswählen

 Dim iAntwort As Integer	'Auftrag ausführen?
 iAntwort = MsgBox("Briefumschläge bedrucken?", 52, "Drucken")
 If iAntwort = 7 Then
 End
 else iAntwort = 6 
 end if
 
 call AdressIndex	'kopieren Adressen Index
  
 Dim oCell as Object, s as String	'Anzahl Briefumschläge
 oCell = ThisComponent.sheets(1).getCellRangeByName("C39")
 s = ocell.Value
 
 call A38	'Sprung A38

 Dim i%, a$ 'Beginn Schleife
 For i = 1 to  s  step 1
 
 'Dieser Teil wird s mal durchlaufen  
  
 call Naechste	'nächste beschriebene Zelle
    
 call AktuelleZelle   'kopiert Inhalt Aktuelle Zelle
  

 Dim oDoc as Object, osheet as Object                      'Druckbereich festlegen (Seite 356 Makros in OO)
 Dim oDrBereich as Object, oDrB as object
 Dim aDruckbereiche(0)
 oDoc = thisComponent
 oSheet = oDoc.sheets(1)
 oDrBereich = osheet.getCellRangeByName("A1:H19").rangeAddress 
 aDruckbereiche(0) = oDrBereich
 oSheet.setPrintAreas(aDruckbereiche())
 aDruck = oSheet.getPrintAreas()		

 
 Dim arg(0) as new com.sun.star.beans.PropertyValue	'Drucken (Seite 223 Makros in OO)
 arg(0).name = "Pages"
 arg(0).value = "1"
 thisComponent.print(arg())
 
 
 Next i

 MsgBox "Bedruckte Briefumschläge: " +  s ,0,"ENDE"
PS. wenn ich den Druck-Teil seperat als eigenes Makro ausführe bekomme ich diese Meldung nicht.

MfG Felix
Drucken.ZIP
(39.76 KiB) 36-mal heruntergeladen

Nach oben