begin process at 2012 02 16 07:20:08
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Imprimante

 > IMPRIMER UN DOCUMENT WORD

IMPRIMER UN DOCUMENT WORD


 Information sur la source

Note :
5,25 / 10 - par 8 personnes
5,25 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Imprimante Classé sous :imprimer, document, word, winword, impression Niveau :Débutant Date de création :04/07/2000 Vu :40 405

Auteur : painkiller

Ecrire un message privé
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

 Description

ce code vous expose les trois manières d'imprimer un document .doc
pour utiliser ce code, creez un projet .exe avec une form et trois boutons (command1, ...).
n'oublier pas d'inscrire la bibliotheque d'objet word dans les référence de votre projet!

Source

  • 'n'oubliez pas de changer la constante file en fonction de votre système :o)
  • Const file As Variant = "D:\test.doc"
  • Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
  • Private Declare Function FindExecutableA Lib "shell32.dll" (ByVal lpFile As String, ByVal lpdirectory As String, ByVal lpResult As String) As Long
  • Private Const MAX_FILENAME_LEN = 256
  • Private Sub Command1_Click()
  • On Error Resume Next
  • 'détermine le chemin d'accès de Word
  • Dim app
  • app = FindExecutable(file)
  • 'lance word
  • Shell app & " " & file
  • 'imprime le doc avec les paramètres par défaut
  • 'cliquez sur printout puis appuyez sur F1 pour + d'infos
  • Word.ActiveDocument.PrintOut
  • 'stoppe toutes les activités de l'appli pendant 5 sec. pour éviter tout pb
  • Sleep (5000)
  • 'ferme Word
  • Word.Application.Quit
  • End Sub
  • Public Function FindExecutable(s As String) As String
  • Dim i As Integer
  • Dim s2 As String
  • s2 = String(MAX_FILENAME_LEN, 32) & Chr$(0)
  • i = FindExecutableA(s & Chr$(0), vbNullString, s2)
  • If i > 32 Then
  • FindExecutable = Left$(s2, InStr(s2, Chr$(0)) - 1)
  • Else
  • FindExecutable = ""
  • End If
  • End Function
  • Private Sub Command2_Click()
  • On Error Resume Next
  • 'détermine le chemin d'accès de Word
  • Dim app
  • app = FindExecutable(file)
  • 'lance word
  • Shell app & " " & file
  • 'imprime le doc avec les paramètres par défaut
  • 'cliquez sur printout puis appuyez sur F1 pour + d'infos
  • Word.Application.Dialogs(wdDialogFilePrint).Show
  • 'quitte word
  • Word.Application.Quit
  • End Sub
  • Private Sub Command3_Click()
  • MsgBox "je ne suis pas arrivé à établir une liaison DDE avec Word", vbExclamation
  • End Sub
  • Private Sub Form_Load()
  • Me.Height = 2460
  • Me.Width = 4050
  • Me.Caption = "comment imprimer un .doc ?"
  • With Command1
  • .Height = 320
  • .Width = 3375
  • .Left = 240
  • .Top = 480
  • .Caption = "par l'objet Word sans intervention utilisateur"
  • End With
  • With Command2
  • .Height = 320
  • .Width = 3375
  • .Left = 240
  • .Top = 960
  • .Caption = "par l'objet Word avec intervention utilisateur"
  • End With
  • With Command3
  • .Height = 320
  • .Width = 3375
  • .Left = 240
  • .Top = 1440
  • .Caption = "par liaison dde"
  • End With
  • End Sub
'n'oubliez pas de changer la constante file en fonction de votre système :o)
Const file As Variant = "D:\test.doc"

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Function FindExecutableA Lib "shell32.dll" (ByVal lpFile As String, ByVal lpdirectory As String, ByVal lpResult As String) As Long
Private Const MAX_FILENAME_LEN = 256

Private Sub Command1_Click()
On Error Resume Next
'détermine le chemin d'accès de Word
Dim app
app = FindExecutable(file)
'lance word
Shell app & " " & file
'imprime le doc avec les paramètres par défaut
'cliquez sur printout puis appuyez sur F1 pour + d'infos
Word.ActiveDocument.PrintOut
'stoppe toutes les activités de l'appli pendant 5 sec. pour éviter tout pb
Sleep (5000)
'ferme Word
Word.Application.Quit
End Sub

Public Function FindExecutable(s As String) As String
   Dim i As Integer
   Dim s2 As String
   s2 = String(MAX_FILENAME_LEN, 32) & Chr$(0)
   i = FindExecutableA(s & Chr$(0), vbNullString, s2)
   If i > 32 Then
      FindExecutable = Left$(s2, InStr(s2, Chr$(0)) - 1)
   Else
      FindExecutable = ""
   End If
End Function

Private Sub Command2_Click()
On Error Resume Next
'détermine le chemin d'accès de Word
Dim app
app = FindExecutable(file)
'lance word
Shell app & " " & file
'imprime le doc avec les paramètres par défaut
'cliquez sur printout puis appuyez sur F1 pour + d'infos
Word.Application.Dialogs(wdDialogFilePrint).Show
'quitte word
Word.Application.Quit
End Sub

Private Sub Command3_Click()
MsgBox "je ne suis pas arrivé à établir une liaison DDE avec Word", vbExclamation
End Sub

Private Sub Form_Load()
Me.Height = 2460
Me.Width = 4050
Me.Caption = "comment imprimer un .doc ?"
With Command1
.Height = 320
.Width = 3375
.Left = 240
.Top = 480
.Caption = "par l'objet Word sans intervention utilisateur"
End With
With Command2
.Height = 320
.Width = 3375
.Left = 240
.Top = 960
.Caption = "par l'objet Word avec intervention utilisateur"
End With
With Command3
.Height = 320
.Width = 3375
.Left = 240
.Top = 1440
.Caption = "par liaison dde"
End With
End Sub
 

 Conclusion

ce code ne prévoit pas une vrai gestion des erreurs!
en effet, il se pourrait bien que l'utilisateur final ne possède pas word...


 Sources du même auteur

MANIPULATION DES FICHIERS WORD PROTÉGÉS
RÉCUPÉRER LES PROPRIS D'UN DOCUMENT WORD
CONTRÔLER OUTLOOK (1) - ENVOYER UN MAIL DEPUIS VB
SAVOIR SI VOTRE APPLI TOURNE SEULE OU SOUS VB
SAVOIR AVEC QUELLE APPLI S'OUVRE LES FICHIERS D'UNE EXTENSIO...

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) PARAMETRES_IMPRIMANTE par Le Pivert
Source avec Zip Source .NET (Dotnet) IMPRESSION FACILE EN ÉVITANT LES BUGS DU FRAMEWORK par circular
Source avec Zip Source .NET (Dotnet) CLASSE POUR AJOUTER/CONNECTER/DECONNECTER UNE IMPRIMANTE RÉS... par radcur
Source avec Zip Source avec une capture IMPRESSION AU FIL DE L'EAU VERS IMPRIMANTE MATRICIELLE par rimas10
Source avec Zip Source avec une capture IMPRIMER CODE BARE par StetechCove

 Sources en rapport avec celle ci

Source avec Zip GESTION DES IMPRIMÉES par davidleduc
Source avec Zip WORD : OUVERTURE (AVEC OU SANS PASSWORD) ET PROPRIÉTÉES D'UN... par DJMoustique
Source avec Zip TRANSFÉRER LE CONTENU D'UNE MSFLEXGRID VERS WORD par marouanem2010
MSFLEXGRID L'IMPRESSION ! par RJLFRANCE
Source avec Zip ENVELOPPES : EASYENVELOPPES par NonoSoft

Commentaires et avis

Commentaire de gabchampagne le 18/10/2003 01:21:05

Ton api :

FindExecutableA

m'interresse et je vais la prendre. Merci

Commentaire de cortomaltez le 10/12/2004 19:50:31

Dans ton code tu utilises un document WORD éxistant sur le poste client;
1ere question : est il possible de générer ce document WORD dynamiquement via VB avec en parametres du texte provenant aussi de VB ( pour un programme générant des factures destinées à être imprimées automatiquement ) ?
2e question : comment se nomme la référence WORD à ajouter au programme pour utiliser les fonctionnalités de WORD avec VB
( faut il la télécharger ou est elle comprise dans la bibliothèque de références  et sous quel nom ?)

Commentaire de Waldo2188 le 08/02/2005 11:56:42

Ton code est vraiment simpa.
Ca mouvre bien word, mais il n'imprime rien et ne le ferme pas, est-ce que tu saurais pour quoi?
merci

Commentaire de SgtKabukinan le 21/12/2005 11:41:58

@CORTOMALTEZ :
je te renvoi sur cette source
http://www.vbfrance.com/article.aspx?ID=8072
si tu cherches tjs ;)
J'aime aussi FindExecutableA !
Ca va changer ma vie lol

Commentaire de buzzo le 29/04/2006 10:25:44

merci beaucoup pour ce code! c'est super

Commentaire de buzzo le 24/05/2006 13:27:15

Bonjour, j'ai le même problème que  Waldo2188 à t'il été résolu ? Word s'ouvre, ne se ferme pas et rien ne s'est passé.J'ai fait le programme en pas à pas, et bien que je comprenne pas tout le code je ne voit pas où est l'erreur. Je fonctionne sous office 2003.

Commentaire de aderko le 16/08/2008 17:21:08

ce programme est impec...
je voudrais ajouter une pic dans la facture...si vous pouvez m'aider
ce serait sympa...merci

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Imprimer un Document Word à partir de VB [ par Webmineur ] S'lut,est-ce que quelqu'un sait comment lancer l'impressioin d'un document wordà partir de VB !!merci A+ Impression document Word par VB [ par merlin ] Je cherche a imprimer un document word a partir de VB, suivant le meme principe qu'avec l'explorateur. J'y arrive avec des document Paint, Notepad, ma Imprimer un document WORD [ par Christian ] Salut tt le monde,Beaucoup de choses ont été écrites sur le sujet, mais j'ai pas trouvé complétement mon bonheur.Mon pb est le suivant :Je livre avec Comment recupere l'evenement d impression sous word ? [ par Lofo ] Bonjour a tous,Je voudrais changer des proprites de plusieurs label sur un document Word lorsque j imprime le document. Pour faire clair ils ont une imprimer un document word à partir d'access [ par peyman ] peymanbonjour, comment imprimer à partir d'access 2000 un document word qui existe déjà dans un repertoire impression de document word [ par nhorack ] bonjour tous le monde, je cherches un moyen pour imprimer des documents word situes dans mes documents. j'ai bien essaye d'appliquer avec l'objet prin Impression et macro word [ par smaugg ] Bonjour tou le monde.J'aurai voulu savoir comment valider une boite de dialogue apparaissant à l'ecran lors de l'execution de ma macro.En fait, ma mac VB : Impression Word en Postscript avec Distiller [ par fmarmey ] Bonjour,J'ai un soucis concernant l'impression d'un document Word en format postscript sur un imprimante "Acrobat Distiller".En fait la conversion se impression d'etat sous format document word [ par baladi03 ] youssSalut les mat grises4Saluts tout le mondeJ'ai réalisé une application vb6 en arabe et j'ai des probleme d'impression .c'est faisable avec crystal Ecrire et Imprimer en dotnet un document word ! [ par briaros76 ] Slt à tous ! je commence en vb.net et j'aimerai savoir comment écrire dans un fichier Word et l'imprimer directement avec la même appli


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,045 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales