Activation du document Word ouvert

Résolu
Del Pino -  
 Del Pino -
Bonjour à tous
J'ai créé ce code afin de pouvoir selectionner tous les documents souhaités, d'ouvrir leur lien Hypertexte et d'imprimer ces documents. Avec ce code j'arrive à ouvrir tous les documents et à imprimer tous les documents Excel. Mais je n'arrive pas à activer les documents Word. En effet je ne connais que workbook.activate ou Worksheet.activate, mais je n'ai rien trouvé pour activer le dernier document ouvert (donc word et pdf ne s'imprime pas). Une fonction ActiveDocument existe-t'elle? Ou une activation automatique du lien hypertexte suivi?

Ci joint mon code :

Sub Impression()
Dim a As Range

For Each a In Range("J12:J85")
If a.Value = "X" Then 'On regarde si la case est cochée
If a.Offset(0, -7).Hyperlinks.Count = 0 Then 'On vérifie qu'un lien existe sur cette cellule
GoTo Lastline
Else
Application.DisplayAlerts = False
a.Offset(0, -7).Select
Selection.Hyperlinks(1).Follow 'On ouvre le lien hypertexte
ActiveWorkbook.Application.Dialogs(xlDialogPrint).Show
ActiveWorkbook.Close False
Application.DisplayAlerts = True
End If
Else
GoTo Lastline
End If
Lastline:
Next

MsgBox ("L'impression est terminée")
End Sub

Merci pour vos réponses
A voir également:

4 réponses

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
0
Del Pino
 
Bonjour, et merci pour votre réponse.
Hélas je n'ai pas réussi à trouver mon bonheur dans votre lien. En fait je voudrais une fonction vba qui selectionne automatiquement le lien suivi par hypertexte, qu'il soit excel,word ou pdf. Avez-vous des idées?
0
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Voilà les codes pour Word et PDF, a adapter les cellules des liens hypertextes :

Option Explicit
 Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
'Doc Word
Private Sub CommandButton1_Click()
 'Nécessite d'activer la référence "Microsoft Word xx.x Object Library"
  Range("A1").Select 'lien hypertexte
    Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
   ActiveDocument.PrintPreview
  Dialogs(wdDialogFilePrintSetup).Show
End Sub
'PDF
Private Sub CommandButton2_Click()
Dim fich As String
Dim x, rep
Range("A3").Select 'lien hypertexte
fich = Range("A3").Value 'chemin fichier
    Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
     rep = ShellExecute(0, "open", fich, "", "", 0)
     
 '====================================  Ordre d'impression
    ShellExecute x, "print", fich, "", "", 1
 ' ====================================
End Sub

0
Del Pino
 
Super, merci beaucoup pour votre aide!

Del Pino
0