IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Impression pages web PDF


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 79
    Par défaut Impression pages web PDF
    Bonjour. Je m'excuse de ne pas avoir su retrouver l'instrument de recherche dans le forum, mais de toute façon, cela m'étonnerait un peu que ce problème ait été déjà traité.

    Depuis un courrier électronique reçu, je copie et colle en Excel 2010 une liste de liens qui constituent une revue de presse.
    Le but étant de pouvoir envoyer à l'imprimante par défault l'impression de chacun des articles, d'un seul coup (ils peuvent être plusieurs dizaines par envoi).
    Or, sur un autre forum, on m'a aidé à construir le code suivant; pour vous faire comprendre mon niveau: j'ai écrit la première macro et on m'a écrit la deuxième. Je leur suis particulièrement reconnaissant... mais cela ne marche pas; les pages s'affichent dans IE au lieu de s'imprimer.
    Quelqu'un saurait m'aider à comprendre le problème?
    Les commentaires et noms de variables sont en italien.
    Je ne comprends même pas ce que sont les OLECMD, j'ai une idée bien confuse de ce que sont les Const (une sorte de variable... invariable, n'est-ce pas?).
    Enfin... Merci d'avance!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    Option Explicit
     
    Dim URL As String
     
    Sub CicloDiStampa()
    Dim ur As Integer, r As Integer
        ur = Cells(65536, 1).End(xlUp).Row
        For r = 1 To ur
            If Cells(r, 1).Hyperlinks.Count <> 0 Then
                URL = Cells(r, 1).Hyperlinks(1).Address
                stampa
            End If
        Next
    End Sub
     
    Sub stampa()
    Dim oIExplorer As Object, wscript As Object
     
        On Error Resume Next
        'il valore 6 corrisponde alla stampa
        Const OLECMDID_PRINT = 6
        'Const OLECMDID_PRINT2 = 49
        'con 2 eseguo il comando senza chiedere conferma
        Const OLECMDEXECOPT_DONTPROMPTUSER = 2
     
        Set oIExplorer = CreateObject("InternetExplorer.Application")
        'carico l'indirizzo trovato
        oIExplorer.Navigate URL
     
        'imposta = 1 se vuoi aprire (o meglio vedere) la pagina web
        oIExplorer.Visible = 0
     
        'attendo che la pagina sia caricata
    '    Do While oIExplorer.ReadyState <> 4
    '        wscript.sleep 1000
    '    Loop
        oIExplorer.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER
        'oIExplorer.ExecWB OLECMDID_PRINT2, OLECMDEXECOPT_DONTPROMPTUSER
     
    End Sub

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Par défaut
    Bonjour,

    Votre code fonctionne chez moi. J'ai fait un test sur Excel 2003 et un autre test sous Excel 2007 ; je n'ai pas Excel 2010 qui peut être cause problème (???).

    Quant aux Const (une sorte de variable... invariable) se sont des constantes. Leur valeur est donc immuable à celle fixée lors de leur déclaration.

    Pour les OLECMD, référez-vous au lien suivant
    http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

    Pour manipuler Internet via VBA, cet autre lien
    http://arkham46.developpez.com/artic...ge=page_2#L3-C

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 79
    Par défaut
    Bonjour PMO2017 et merci pour ta réponse.
    En fait, aux dernières nouvelles, il paraît que le problème vient plus de la nature des adresses que de la version d'Excel (la personne utilisatrice finale de ce code a fait plusieurs essais).
    Je ne crois pas être autorisé à montrer les liens en question, mais quelqu'un m'a suggéré une ruse possible: la page chargée par Internet Explorer à travers Adobe Acrobat doit bien être stockée temporairement sur le disque dur. Est-il possible d'intercepter son adresse dans le parcours Temp e l'imprimer à partir de là - éventuellement à travers Acrobat au lieu de IE?

    Les questions deviennent donc:
    1) comment attrapper l'adresse de stockage temporaire?
    2) comment lancer une impression d'Acrobat avec le VBA Excel?
    Merci encore...

Discussions similaires

  1. impression page Web
    Par aaghiles dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 04/06/2009, 10h26
  2. Dreamwaever documents impression page web
    Par Guytous dans le forum Dreamweaver
    Réponses: 2
    Dernier message: 14/09/2007, 12h10
  3. Impression page WEB
    Par bahaaldine dans le forum Langage
    Réponses: 5
    Dernier message: 29/06/2007, 11h13
  4. Impression page web dans Builder
    Par Charette dans le forum C++Builder
    Réponses: 2
    Dernier message: 19/12/2006, 14h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo