Español
Foro

Druckvorschau MS-Word

 

Normann
Strübli
¡Hola,

Yo gerade así angefangen una kleines Programa a escribir
welches Meßwerte en una vorgegebenes Protokoll escribir se.
Como el protokoll algo komplizierter Aussieht
(con tabellen, Gráficos, Fußnoten etc.) Yo mich entschlossen el Protokoll en MS-Word (2002) a redactar anstatt lo Aufwendig irgendwie
con Profano a realisieren :roll:
Um cada Cuerdas y Werte nun a el richtige position en el
Dokument a bekommen ha cada Feld una eindeutigen Namen -z.B: |1202. El .doc-Expediente se nun con Profano geöffnet y el Feldnamen con el deseado Zeichenketten ersetzt - Voila! Klappt super
Jetzt aber para Problema:

Como el Prüfprotokoll una wichtiges Dokument es möchte Yo antes
Los cambios/ Fälschung schützen. El erste Maßnahme el el dafür
getroffen habe Es el Checksumme el geänderten .doc Expediente a ermitteln y auszudrucken. So kann si nötig festgestellt voluntad
si algo en el Dokument geändert wurde. Aunque bin I, con el Solución todavía no bastante zufrieden.
¿Es also posible en Word direkt el Druckvorschau anzuzeigen - oder todavía mejor el Dokument auszudrucken sin Word invitar tener? evtl. via kommandozeilen-parameter? Posesiones desafortunadamente en el Netz y el Word- hilfe nix dazu gefunden - aber tal vez weiß hier sí zufällig jmd. algo darüber.

gruß
Normann
 
26.01.2005  
 



Aus genau diesem Grunde empfehle Yo dir [...] 

Dort machst Usted Su Vorlagen en el Formato .sdc - y una shellexec imprimir anweisung läßt el OOffice Drucken como una Baby - sin lästige Nachfragen.

Búsqueda veces aquí en el Comunidad después de binprint - glaube Yo hatte schonmal ne Inc gebastelt dafür welche Yo incluso Nutze en verschiedene Clients übers Netzwerk drucken dejar a puede - y alles en el Nachhinein auch todavía Nachvollziebar restos.

Salve, IF
 
26.01.2005  
 




Normann
Strübli
danke IF para la respuesta rápida - werd mich veces wohl veces con OpenOffice beschäftigen necesario aber con Word werd Yo trotzdem weitertüfteln.
Von wem war otra vez el Presentación una fremdes Programa en el eigenen Profanfenster auszuführen- sozusagen einzufangen. Kann mich sólo todavía muy dunkel daran erinnern...
Nebenbei Me parece toll como Usted el Comunidad otra vez aufgebaut hast, uno fühlt se ya otra vez bastante como Zuhause
 
26.01.2005  
 




Jörg
Sellmeyer
¡Hola Normann,
Eigentlich müßtest Usted con ShellExec(Document.doc,Imprimir,0) Word unsichtbar starten puede en el Dokument direkt auszudrucken.
Saludo
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
26.01.2005  
 



@Norman: Gracias

@Jörg: desafortunadamente es así con word no - como sonst tal vez incluso PrinterDialog no adecuado sería.

Das Problema con word es sólo simplemente el antes el Ausdruck una PrinterDialog kommt - en OO es dies sólo no Fall. Und como viele Firmen una Lizensverwaltung eingeführt haben - es uno con OO en el sicheren Página.

Salve, IF
 
27.01.2005  
 




Normann
Strübli
Der Vorschlag de Jörg es funktioniert aber -si Word auch no unsichtbar comenzó se, así el Dokument a el Drucker gesandt y Word anschließend otra vez geschlossen.
Abgesehen su muß Yo zumindest para Word todavía mejor lösen - si uno veces no con el Standarddrucker drucken voluntad - veces gucken.

gruß
Normann
 
27.01.2005  
 



Ach echt? Lol Yo hatte lo con OfficeXP probiert y como kam siempre el lästige PrinterDLG. Sag doch - welche Word-Versión nutzt Usted?

Salve, IF
 
28.01.2005  
 




Jörg
Sellmeyer
¡Hola Normann,
Von Sebastian König gibts una OleFile.prf. Sieht bastante klompiziert de,
abervielleicht kannst Usted qué así anfangen.
KompilierenMarcaSeparación
+-----------------------------------------------------------------------+
| olefile.prf - Dateien öffnen und schließen mit OLE                    |
| Autor: Sebastian König                                                |
| email: feedback@sekoenig.de                                           |
| Homepage: http://www.sekoenig.de                                      |
| Copyright ©2001 Sebastian König                                       |
|                                                                       |
| Dieser Quellcode zeigt, wie man mit OLE und Profan² ein Word-Dokument |
| zum Bearbeiten öffnet.                                                |
|                                                                       |
|                                                                       |
| WICHTIG: Dieser Quellcode funktioniert erst ab Profan 7.0 und setzt   |
|          voraus, dass Microsoft® Word installiert ist.                |
|                                                                       |
| TIP(P):  Diese Methode funktioniert nicht nur mit Word-Dokumenten.    |
|          Wenn man die Dateimaske zum Beispiel in *.bmp ändert, wird   |
|          automatisch Paint (oder ein anderes Zeichenprogramm)         |
|          geöffnet.                                                    |
|                                                                       |
+-----------------------------------------------------------------------+
---Prozeduren

proc Release

    parameters obj&
    declare vptr&
    let vptr& = @long(obj&,0)
    return Call(@long(vptr&,8),obj&)

endproc

+++
---Benötigte (COM/OLE)-API-Funktionen:
DEF OleInitialize(1) !"OLE32","OleInitialize"
DEF OleUninitialize(0) !"OLE32","OleUninitialize"
DEF IIDFromString(2) !"OLE32","IIDFromString"
DEF CoTaskMemAlloc(1) !"OLE32","CoTaskMemAlloc"
DEF CoTaskMemFree(1) !"OLE32","CoTaskMemFree"
DEF CreateILockBytesOnHGlobal(3) !"OLE32","CreateILockBytesOnHGlobal"
DEF StgCreateDocfileOnILockBytes(4) !"OLE32","StgCreateDocfileOnILockBytes"
DEF OleCreateFromFile(8) !"OLE32","OleCreateFromFile"
DEF MultiByteToWideChar(6) !"KERNEL32","MultiByteToWideChar"
DEF Sleep(1) !"KERNEL32","Sleep"
---Variablen deklarieren:
declare ILockBytes&,IStorage&,IOleClientSite&,IRichEditOle&,MSWord&,IUnknown&
declare vp_MSWord&,vp_RTFOle&
declare CLSID_MSWord&,IID_IOleObject&,IID_IOleClientSite&,IID_IUnknown&
declare clsid$,iid$,olestr&
declare file$,file&
declare FORMATETC#,RECT#,MSG#
declare count&
---Speicher allokieren:
let ILockBytes& = CoTaskMemAlloc(4)
let IStorage& = CoTaskMemAlloc(4)
let MSWord& = CoTaskMemAlloc(4)
let IID_IOleObject& = CoTaskMemAlloc(16)
let olestr& = CoTaskMemAlloc(256)
let file& = CoTaskMemAlloc(1024)
dim FORMATETC#,20
---Neues Fenster erstellen:
windowtitle "OLE mit Profan²"
window 100,100-640,480
---OLE initialisieren:
print "OleInitialize:",OleInitialize(0),"
"
---Storage-Objekt erstellen:
print "CreateILockBytesOnHGlobal:",CreateILockBytesOnHGlobal(0,1,Addr(ILockBytes&)),"
"
print "StgCreateDocfileOnILockBytes:",StgCreateDocfileOnILockBytes(ILockBytes&,$1012,0,Addr(IStorage&)),"
"
---MSWord-Objekt erstellen:
--IID für IOleObject aus String bilden:
let iid$ = "{00000112-0000-0000-C000-000000000046}"
MultiByteToWideChar(0,0,Addr(iid$),Len(iid$),olestr&,261),"
"
print "IIDFromString:",IIDFromString(olestr&,IID_IOleObject&),"
"
--Datei wählen
let file$ = LoadFile$("Word-Dokumente","*.doc")
MultiByteToWideChar(0,0,Addr(file$),Len(file$),file&,261),"
"
--FORMATETC# füllen...
long FORMATETC#,0  = 0
long FORMATETC#,4  = 0
long FORMATETC#,8  = 1 DVASPECT_CONTENT
long FORMATETC#,12 = 0
long FORMATETC#,16 = 0 TYMED_NULL
--Objekt erstellen:
print "OleCreateFromFile:",OleCreateFromFile(0,file&,IID_IOleObject&,0,FORMATETC#,0,IStorage&,Addr(MSWord&)),"
"
--vptr ermitteln:
let vp_MSWord& = @long(MSWord&,0)
MessageBox("Die Datei wird nun geöffnet und in ca. 5 Sekunden
automatisch wieder geschlossen.","Meldung",64)
---Objekt zum Bearbeiten öffnen:
print "MSWord&->DoVerb:",Call(@long(vp_MSWord&,44),MSWord&,-1,0,0,0,%hwnd,0)
---5 Sekunden warten, ohne den Prozess zu blockieren:
let count& = @add(&GetTickCount,5000)

while @lt(&GetTickCount,count&)

    Sleep(0)

wend

---Objekt wieder schließen:
print "MSWord&->Close:",Call(@long(vp_MSWord&,24),MSWord&,0)
print " "
print "> Taste oder Mausklick zum Beenden! <"
waitinput
---Aufräumarbeiten:
Release MSWord&
Release IStorage&
Release ILockBytes&
CoTaskMemFree(ILockBytes&)
CoTaskMemFree(IStorage&)
CoTaskMemFree(MSWord&)
CoTaskMemFree(CLSID_MSWord&)
CoTaskMemFree(IID_IOleObject&)
CoTaskMemFree(olestr&)
dispose FORMATETC#
OleUninitialize()
---./../funktionsreferenzen/XProfan/ende/'>Ende:
end

Saludo
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
28.01.2005  
 




Normann
Strübli
[quote:efc5161f7d]welche Word-Versión nutzt Usted?[/quote:efc5161f7d]
incluso han kein Word
Kann el sólo en el Büro testen y como es office Xp installiert, hmm...

Das Ejemplo de Sebastian muß Yo sólo todavía aufarbeiten -oder mejor dijo verstehen, stürzt auch desafortunadamente con uno Exeption EAccessVioaltion de.
 
28.01.2005  
 




CB
Hi, Normann!

Meintest Usted folgenden Link?

[...] 

Yo bin No bastante sicher, si el es, qué Usted erreichen willst, aber tal vez hilft Usted folgendes más:

Yo habe Usted una kleines Word-Makro gebastelt (Ver 97, lauffähig müßte lo en cada Fall ser a incl. Word XP - höher tener Yo no )
Was diesem Makro todavía fehlt, Es el Abfrage, si el Ausdruck ya fertig es, porque se Word sonst möglicherweise beschwert, daß lo darse por concluido se, wos doch con el Drucken todavía no fertig es!

NewMakros.txt umbenennen en *.bas.
VisualBasic-Editor abierto - Expediente importieren - Link a .bas - Editor verlassen - speichern (no vergessen!) - testen con irgendeinem doc.
Nächster Schritt: Usted erstellst Usted una Presentación (SinnvollerName.dot) y stellst dieses Makro dorthinein (Makros - organisieren - kopieren)

Nach el Schema de mi Link kannst Usted entonces de Deinem Profano-Programa heraus Word starten - una Makro automáticamente ausführen dejar (DruckenStdBeenden) y Word se automáticamente otra vez geschlossen (Application.Quit machts posible).
Noch una Tip: (no ausprobiert): WinExec(Wait) kannst Usted como Parámetro el Abbildungsmodus transferencia - tal vez druckt Word auch minimiert (Modus 2)?

Lo son ni Möglichkeit: schau mal bajo el Unidades en el Foro después de:
Michael Dell ha como una Deco.inc veröffentlicht para Codieren y Decodieren - tal vez kannst Dus brauchen (bevor Usted qué a Word schickst..).

Solltest Usted Problemas haben con mi Beispielcode - Yo bin (fast) cada Tag online...

Christian

1 kB
Hochgeladen:28.01.2005
Ladeanzahl83
Descargar
 
XProfan 8/9.1, Win XP, AMD 64/3200
28.01.2005  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

5.187 Views

Untitledvor 0 min.
Torben Nissen27.01.2021
Normann Strübli23.10.2020
Stephan Sonneborn21.07.2019
Georg Teles08.07.2019
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie