ActiveX oder COM Komponenten: Unterschied zwischen den Versionen

Aus Wiki des Deutschsprachige Xbaseentwickler e. V.
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
__FORCETOC__
== Beschreibung ==
== Liste der Xbase++-Klassen ==
== Beispiele ==
=== Drucken über Word ===
Hier ein Beispiel von mir. Es wird eine Datei zum Drucken an Word übergeben.  
Hier ein Beispiel von mir. Es wird eine Datei zum Drucken an Word übergeben.  
Die Datei "filbestandliste2.rtf" wird gedruckt mit Seite von bis. Die Datei
Die Datei "filbestandliste2.rtf" wird gedruckt mit Seite von bis. Die Datei

Version vom 11. November 2013, 16:00 Uhr


Beschreibung

Liste der Xbase++-Klassen

Beispiele

Drucken über Word

Hier ein Beispiel von mir. Es wird eine Datei zum Drucken an Word übergeben. Die Datei "filbestandliste2.rtf" wird gedruckt mit Seite von bis. Die Datei "maengel.rtf" mit Anzahl der eingebenen Kopien.


#include "Gra.ch"
#include "Xbp.ch"
#include "Appevent.ch"
#include "Font.ch"
#include "Inkey.ch"
#include "xbpdev.ch"
#include "activex.ch"
#include "xbpdev.ch"

#define wdPrintFromTo 3

#pragma Library( "XppUI2.lib" ) 
#pragma library( "ascom10.lib" ) 

Function Drucken( cDoc, cDrucker,oPrinter) 
Local cActivePrinter, aSeite:={}, nCopie:=0
Local oWord 
Local oDoc 

  oWord := CreateObject("Word.Application") 

  IF Empty( oWord ) 
    MsgBox( "Microsoft Word ist nicht installiert" ) 
    RETURN Nil
  ENDIF 

  oWord:visible   := .f.                               // Word unsichtbar! 
  cActivePrinter  := oWord:Activeprinter     // aktuellen Drucker feststellen 
  oWord:Activeprinter:= cDrucker               // Neuen Drucker setzen 
  oWord:documents:Open(cDoc)                  
  oDoc       := oWord:ActiveDocument

  Do Case
  Case AT("filbestandliste2.rtf",cDoc) > 0
    aSeite:=oDlg:pageRangeSelected
    oDoc:PrintOut(.f.,Nil,wdPrintFromTo,Nil,alltrim(str(aSeite[1])),alltrim(str(aSeite[2])),Nil,1 )
  Case AT("maengel",cDoc) > 0
    nCopie:=oPrinter:SetNumCopies()
    oDoc:PrintOut(.f.,Nil,Nil,Nil,Nil,Nil,Nil,nCopie )
  Otherwise
    oDoc:PrintOut(.f.)    
  EndCase                    
  oWord:Activeprinter:= cActivePrinter       // alten Drucker setzen 
  oDoc:close() 
  oWord:Quit() 
  oWord:destroy() 
  oWord := NIL 
Return ( NIL )