Activation du document Word ouvert

Résolu/Fermé
Del Pino - 13 avril 2015 à 15:11
 Del Pino - 15 avril 2015 à 12:58
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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
13 avril 2015 à 18:29
0
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 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 728
14 avril 2015 à 14:52
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
Super, merci beaucoup pour votre aide!

Del Pino
0