Anzahl zu druckender Kopien
Moderator: Moderatoren
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2471
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Anzahl zu druckender Kopien
Wie kann ich die Anzahl der zu druckenden Kopien festlegen ?
(d.h. Anzahl Kopien setzen, damit diese im Druckerdialog angezeigt werden)
Habe mal den Makro aufgezeichnet
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=5, Pages:="", PageType:=wdPrintAllPages, _
ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
und dann
oWord:Printout:Copies := nCopies
bekomme dann diese Fehlermeldung
Xbase++ Version : Xbase++ (R) Version 1.90.355
Betriebssystem : Windows XP 05.01 Build 02600 Service Pack 3
------------------------------------------------------------------------------
oError:args :
-> VALTYPE: C VALUE: Printout
oError:canDefault : J
oError:canRetry : N
oError:canSubstitute: J
oError:cargo : NIL
oError:description : 'PrintOut' ist keine Eigenschaft.
oError:filename : NIL
oError:genCode : NIL
oError:operation : Printout
oError:osCode : -2146822426
oError:severity : 2
oError:subCode : 6500
oError:subSystem : Automation
oError:thread : 1
oError:tries : NIL
(d.h. Anzahl Kopien setzen, damit diese im Druckerdialog angezeigt werden)
Habe mal den Makro aufgezeichnet
Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
wdPrintDocumentContent, Copies:=5, Pages:="", PageType:=wdPrintAllPages, _
ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
und dann
oWord:Printout:Copies := nCopies
bekomme dann diese Fehlermeldung
Xbase++ Version : Xbase++ (R) Version 1.90.355
Betriebssystem : Windows XP 05.01 Build 02600 Service Pack 3
------------------------------------------------------------------------------
oError:args :
-> VALTYPE: C VALUE: Printout
oError:canDefault : J
oError:canRetry : N
oError:canSubstitute: J
oError:cargo : NIL
oError:description : 'PrintOut' ist keine Eigenschaft.
oError:filename : NIL
oError:genCode : NIL
oError:operation : Printout
oError:osCode : -2146822426
oError:severity : 2
oError:subCode : 6500
oError:subSystem : Automation
oError:thread : 1
oError:tries : NIL
Gruß
Klaus
Klaus
- brandelh
- Foren-Moderator
- Beiträge: 15707
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 71 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Re: Anzahl zu druckender Kopien
Das muss eine Methode sein, wie sieht denn dein Code aus ?
oWord:PrintOut( ... ) // Parameter müssen in richtiger Reihenfolge angegeben werden.
oWord:PrintOut( ... ) // Parameter müssen in richtiger Reihenfolge angegeben werden.
Gruß
Hubert
Hubert
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2471
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Anzahl zu druckender Kopien
So:
oWord:Printout:Copies := nCopies
aber das ganze ist nicht richtig. Ich möchte die Anzahl der Kopien vor dem Öffnen des Druckerdialogs setzen.
oWord:Printout:Copies := nCopies
aber das ganze ist nicht richtig. Ich möchte die Anzahl der Kopien vor dem Öffnen des Druckerdialogs setzen.
Gruß
Klaus
Klaus
- AUGE_OHR
- Marvin
- Beiträge: 12913
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Anzahl zu druckender Kopien
wie Hubert schon sagte ist es eine Method ... wie SaveAs() und hat ParameterKoverhage hat geschrieben:So:
oWord:Printout:Copies := nCopies
aber das ganze ist nicht richtig.
http://msdn.microsoft.com/en-us/library ... 37331.aspxKoverhage hat geschrieben:Ich möchte die Anzahl der Kopien vor dem Öffnen des Druckerdialogs setzen.
Code: Alles auswählen
oDoc:PrintOut(Background, Append, Range, OutputFileName, From, To, Item, Copies, Pages, PageType, PrintToFile, Collate, FileName, ActivePrinterMacGX, ManualDuplexPrint, PrintZoomColumn, PrintZoomRow, PrintZoomPaperWidth, PrintZoomPaperHeight)
gruss by OHR
Jimmy
Jimmy
- brandelh
- Foren-Moderator
- Beiträge: 15707
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 71 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Re: Anzahl zu druckender Kopien
VB sieht das mit Funktionen und Methoden bei der Syntax nicht so eng
Offensichtlich braucht es keine abschließenden Klammern.
Aber wenn es ein Objekt wäre der man ein Objekt zuweißt, dann müsste da ein '.' dazwischen.
Die Parameter selbst kann man bei VB auch per Namen übergeben. Wenn man die Klammer also ergänzt:
wird dem Parameter FileName der Wert "" zugeordnet, Range wird zu wdPrintAllDocument ...
Wir müssen jeden Parameter übergeben (eventuell leer), also nimm Jimmy Syntax als Schablone (ein Kommentar eine Zeile über dem Aufruf )
Offensichtlich braucht es keine abschließenden Klammern.
Aber wenn es ein Objekt wäre der man ein Objekt zuweißt, dann müsste da ein '.' dazwischen.
Die Parameter selbst kann man bei VB auch per Namen übergeben. Wenn man die Klammer also ergänzt:
Code: Alles auswählen
Application.PrintOut( FileName:="" , Range:=wdPrintAllDocument,... )
Wir müssen jeden Parameter übergeben (eventuell leer), also nimm Jimmy Syntax als Schablone (ein Kommentar eine Zeile über dem Aufruf )
Gruß
Hubert
Hubert
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1931
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2471
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Anzahl zu druckender Kopien
Hier liegt ein Verständnisproblem vor:
1.Ich drucke über Printout. Das funktioniert auch.
2. Wenn das Dokument zum Bearbeiten geöffnet ist und man dann Drucken möchte, muss man ja über Drucken / Druckersymbol gehen.
3. Der Makro der aufgezeichnet wurde, hat nur den Druckbefehl NACH Aufruf des Druckerdialogs aufgenommen.
Es geht hier um Folgendes: Wie kann ich die Anzahl der Kopien VOR dem Aufruf des Druckerdialogs setzen, damit diese im Druckerdialog angezeigt werden
oder wenn man auf das Druckersymbol klickt, die gewünschte Anzahl Kopien gedruckt werden.
1.Ich drucke über Printout. Das funktioniert auch.
2. Wenn das Dokument zum Bearbeiten geöffnet ist und man dann Drucken möchte, muss man ja über Drucken / Druckersymbol gehen.
3. Der Makro der aufgezeichnet wurde, hat nur den Druckbefehl NACH Aufruf des Druckerdialogs aufgenommen.
Es geht hier um Folgendes: Wie kann ich die Anzahl der Kopien VOR dem Aufruf des Druckerdialogs setzen, damit diese im Druckerdialog angezeigt werden
oder wenn man auf das Druckersymbol klickt, die gewünschte Anzahl Kopien gedruckt werden.
Gruß
Klaus
Klaus
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1931
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Anzahl zu druckender Kopien
das stellst du beim xbpprintdialog() ein.
oder verstehe ich dich jetzt falsch?
oder verstehe ich dich jetzt falsch?
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: Anzahl zu druckender Kopien
Printout() ist eine Methode - und "Copies" ist ein Parameter dieser Methode (nämlich der achte). Siehe auch hier:
http://msdn.microsoft.com/de-de/library ... 80%29.aspx
http://msdn.microsoft.com/de-de/library ... 80%29.aspx
Herzlich,
Tom
Tom
- brandelh
- Foren-Moderator
- Beiträge: 15707
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 71 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Re: Anzahl zu druckender Kopien
wenn ich das richtig verstehe, startest du aus deinem Programm heraus Word mit einem Dokument ...Koverhage hat geschrieben: 2. Wenn das Dokument zum Bearbeiten geöffnet ist und man dann Drucken möchte, muss man ja über Drucken / Druckersymbol gehen.
3. Der Makro der aufgezeichnet wurde, hat nur den Druckbefehl NACH Aufruf des Druckerdialogs aufgenommen.
Es geht hier um Folgendes: Wie kann ich die Anzahl der Kopien VOR dem Aufruf des Druckerdialogs setzen, damit diese im Druckerdialog angezeigt werden
oder wenn man auf das Druckersymbol klickt, die gewünschte Anzahl Kopien gedruckt werden.
dieses kann noch in Word bearbeitet werden und dann will der Kunde über Drucken ... x Kopien ... voreingestellt haben ?
Das hat nichts mehr mit deinem Xbase++ Steuerprogramm zu tun, da die Kontrolle ja bei Word liegt.
Gruß
Hubert
Hubert
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: Anzahl zu druckender Kopien
Klaus startet Word und ruft die Methode PrintOut() auf, um das Dokument zu drucken. Wenn man Word unsichtbar aufruft, wird dann sofort gedruckt; wenn man es sichtbar aufruft, erscheint der Druckerdialog. Dort möchte Klaus in diesem Fall die Anzahl der Kopien vorwählen, feddisch. Durchaus kein unsinnvolles Anliegen.wenn ich das richtig verstehe, startest du aus deinem Programm heraus Word mit einem Dokument ...
@Klaus: Hast Du mein voriges Posting gelesen?
Herzlich,
Tom
Tom
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2471
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Anzahl zu druckender Kopien
Hallo Tom,
Problem richtig erkannt =D>
Noch keine Zeit gehabt, werde mir das aber gleich ansehen.
Danke.
Problem richtig erkannt =D>
Noch keine Zeit gehabt, werde mir das aber gleich ansehen.
Danke.
Gruß
Klaus
Klaus
- Koverhage
- Der Entwickler von "Deep Thought"
- Beiträge: 2471
- Registriert: Fr, 23. Dez 2005 8:00
- Wohnort: Aalen
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Anzahl zu druckender Kopien
So gelesen, aber wenn ich das richtig sehe, gibt es keine Möglichkeit das einzustellen.
Gruß
Klaus
Klaus
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: Anzahl zu druckender Kopien
Klar geht das. Das hier ruft Word mit dem Dokument <cText> auf und druckt zwei Exemplare:
Code: Alles auswählen
oWord := CreateObject("Word.Application")
oWord := oWord:DynamicCast(ActiveXObject())
oWord:Visible := .T.
oWord:Documents:Open(<cText>)
oWord:ActiveDocument:PrintOut(,,,,,,,2)
* ...
Herzlich,
Tom
Tom
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1931
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Anzahl zu druckender Kopien
Klaus
wenn du dir mein Beispiel ansiehst, welches ich in Wiki reingestellt habe, dann gehe ich genauso vor. Und bevor Word dann gestartet wird, wird im xbpprintdialog kopie - seite von bis usw. eingestellt und diese werte dann an printout() übergeben.
wenn du dir mein Beispiel ansiehst, welches ich in Wiki reingestellt habe, dann gehe ich genauso vor. Und bevor Word dann gestartet wird, wird im xbpprintdialog kopie - seite von bis usw. eingestellt und diese werte dann an printout() übergeben.
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 104 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: Anzahl zu druckender Kopien
Hallo, Rolf.
Es wäre hilfreich gewesen, wenn Du mal erwähnt hättest, um welchen Eintrag im Wiki es sich handelt. Gemeint ist vermutlich dieser hier:
http://wiki.xbaseentwickler.de/index.ph ... omponenten
Es wäre hilfreich gewesen, wenn Du mal erwähnt hättest, um welchen Eintrag im Wiki es sich handelt. Gemeint ist vermutlich dieser hier:
http://wiki.xbaseentwickler.de/index.ph ... omponenten
Herzlich,
Tom
Tom
- AUGE_OHR
- Marvin
- Beiträge: 12913
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: Anzahl zu druckender Kopien
meinst du jetzt damit das du, per activeX, ein Word Document öffnest und der User "dann" darin rummachen kann ?Koverhage hat geschrieben:2. Wenn das Dokument zum Bearbeiten geöffnet ist und man dann Drucken möchte, muss man ja über Drucken / Druckersymbol gehen.
damit ist z.b. "drucken" gemeint was eine Aktion des User ist und einen Event auslöst welchen man auswerten sollte.
wenn du nun den Event zum Drucken empfängst könntest du reagieren und das Fenster des Druck-Dialog suchen / finden***1
und die Controls ansteuern***2 und deine Werte (Druckername, Kopien etc.) setzten.
***1 API FindWindowA
***2 API FindWindowExA
gruss by OHR
Jimmy
Jimmy