von wega » Do, 13.11.2008 08:30
Hallo Winfried,
vielen Dank für Deine Antwort.
Nein, meine Suche ist etwas anders. Ich versuche es einmal zu verdeutlichen.
Code: Alles auswählen
For i=1 to 8
if oForm.getByName("CheckBox"&i).State =1 then
'A$=A$+"1 "
N = N+2^(i-1)
else
'A$=A$+"0 "
End if
next i
print N," ",chr(N)
wie du vielleicht im Quellcode siehst, schreibe ich den Wert N und CHR(N) aus. Diese Werte werden jetzt in einer Message-box dargestellt. Aber eigentlich will ich die Ausgabe aber über den Drucker machen.
Ich habe schon mal versucht, das Ergebnis in eine Textdatei zu schreiben und dann auszudrucken. Das ist aber ziemlich aufwendig, auch ist das Dokument nicht so einfach wieder zu schließen. siehe nachfolgenden Quellcode.
Code: Alles auswählen
open "c:\Ausgabe.txt" for Output as #1
print #1,chr(N)
close #1
'den erechneten Wert ausdrucken
'Doc.Print(args())
Dim printProp(4) as New com.sun.star.beans.PropertyValue
Dim oFileProp(0) as New com.sun.star.beans.PropertyValue
oFileProp(0).name="MacroExecutionMode"
oFileProp(0).value = 0
printProp(0).Name = "Pages"
printProp(0).Value = "1"
printProp(1).Name = "CopyCount"
printProp(1).Value = 1
printProp(2).Name = "Collate"
printProp(2).Value = False
printProp(3).Name = "Sort"
printProp(3).Value = False
'oDoc=ThisComponent
'oDoc="c:\Ausgabe.txt"
url=converttourl("C:\Ausgabe.txt")
oDoc = StarDesktop.loadComponentFromURL(url, "_blank", 0, oFileProp() )
oDoc.Print(printProp())
'StarDesktop.loadComponentFromURL(url, "_blank", 0, oFileProp()).Print(printProp())
oDoc.close()
Die letzte anweisung ist vollkommen fehl am Platz, da sie nicht das Textdokument betrifft sondern das aufrufende Programm und somit zum Absturtz führt.
Also, suche ich für >> print N," ",chr(N) << eine Befehlssequenz, die aus dem Makro heraus direkt auf den Drucker geht.
Ich hoffe, das ich das gut genug beschrieben habe.
Gruß
Werner
Hallo Winfried,
vielen Dank für Deine Antwort.
Nein, meine Suche ist etwas anders. Ich versuche es einmal zu verdeutlichen.
[code]
For i=1 to 8
if oForm.getByName("CheckBox"&i).State =1 then
'A$=A$+"1 "
N = N+2^(i-1)
else
'A$=A$+"0 "
End if
next i
print N," ",chr(N)
[/code]
wie du vielleicht im Quellcode siehst, schreibe ich den Wert N und CHR(N) aus. Diese Werte werden jetzt in einer Message-box dargestellt. Aber eigentlich will ich die Ausgabe aber über den Drucker machen.
Ich habe schon mal versucht, das Ergebnis in eine Textdatei zu schreiben und dann auszudrucken. Das ist aber ziemlich aufwendig, auch ist das Dokument nicht so einfach wieder zu schließen. siehe nachfolgenden Quellcode.
[code]
open "c:\Ausgabe.txt" for Output as #1
print #1,chr(N)
close #1
'den erechneten Wert ausdrucken
'Doc.Print(args())
Dim printProp(4) as New com.sun.star.beans.PropertyValue
Dim oFileProp(0) as New com.sun.star.beans.PropertyValue
oFileProp(0).name="MacroExecutionMode"
oFileProp(0).value = 0
printProp(0).Name = "Pages"
printProp(0).Value = "1"
printProp(1).Name = "CopyCount"
printProp(1).Value = 1
printProp(2).Name = "Collate"
printProp(2).Value = False
printProp(3).Name = "Sort"
printProp(3).Value = False
'oDoc=ThisComponent
'oDoc="c:\Ausgabe.txt"
url=converttourl("C:\Ausgabe.txt")
oDoc = StarDesktop.loadComponentFromURL(url, "_blank", 0, oFileProp() )
oDoc.Print(printProp())
'StarDesktop.loadComponentFromURL(url, "_blank", 0, oFileProp()).Print(printProp())
oDoc.close()
[/code]
Die letzte anweisung ist vollkommen fehl am Platz, da sie nicht das Textdokument betrifft sondern das aufrufende Programm und somit zum Absturtz führt.
Also, suche ich für >> print N," ",chr(N) << eine Befehlssequenz, die aus dem Makro heraus direkt auf den Drucker geht.
Ich hoffe, das ich das gut genug beschrieben habe.
Gruß
Werner