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 :

VBA & IE - Enregistrement image PNG


Sujet :

Macros et VBA Excel

  1. #21
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    Je n'ai pas encore eu le temps de creuser sur un GET suivi d'un POST.

  2. #22
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 906
    Points : 8 539
    Points
    8 539
    Par défaut
    Salut

    Après quelques recherches, je pense avoir un résultat positif comme suit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub TestCookies()
    Dim WinHttpReq As New WinHttp.WinHttpRequest
    Dim Cookie As String
     
        WinHttpReq.Open "GET", "http://inventaire-forestier.ign.fr/cartov2/carto/afficherCarto/58", False
        WinHttpReq.send
        Cookie = WinHttpReq.getResponseHeader("Set-Cookie")
     
    End Sub
    Bonne journée
    ++
    Qwaz

  3. #23
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    Par défaut re
    salut tout les deux

    traitez moi de tricheur ou de mystificateur mais ca marche

    un seul problème je n'arrive pas avec les apis a enlever la caption de la fenêtre internet avant capture
    lancela sub "download_all_image3" et attend
    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
    41
    42
    43
    44
    45
    46
    47
    Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
    Private Declare Sub keybd_event Lib "User32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
    Private Declare Function EmptyClipboard Lib "User32" () As Long
    ' Fonction d'acquisition de l'identifiant de la fenêtre active
    Private Declare Function GAW Lib "User32" Alias "GetActiveWindow" () As Long
    Private Declare Function SWL Lib "User32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    'Fonction d'affichage
    'Fonction pour redresser l'affichage de la form sans la caption
    Private Declare Function DrawMenuBar Lib "User32" (ByVal hwnd As Long) As Long
     
     Sub download_all_image3()
        EmptyClipboard
        urltest = "http://www.developpez.net/template/images/logo.png"
        Dim Ie As Object, ret As Long, listeimage As Object, i As Long, IE2
        url = "http://inventaire-forestier.ign.fr/cartov2/carto/afficherCarto/58"
        chemin = ThisWorkbook.Path & "\"
        Set Ie = CreateObject("internetexplorer.application")
         Ie.Navigate url
        With Ie
            .AddressBar = False
            .StatusBar = False
            .MenuBar = False
            .Toolbar = 0
            .Visible = True
            Do: DoEvents: Loop Until .ReadyState = 4
            Do While .Busy Or .ReadyState <> READYSTATE_COMPLETE: DoEvents: Loop
            code = .Document.getelementbyid("OpenLayers.Layer.WMS_6").outerhtml
            .Document.write code
     
            Application.Wait (Now + TimeValue("0:00:10"))
     
        End With
       'SWL GAW, -16, &H94080080: SWL GAW, -20, 0: DrawMenuBar GAW
       'Copie d'écran de la forme active
        Application.CutCopyMode = False
        keybd_event vbKeySnapshot, 1, 0&, 0&
        DoEvents
        'Ajoute une feuille pour coller l'image de la forme
        'SWL GAW, -16, &H94CF0080
     
        With Sheets(2)
            .Activate
            .Cells(1, 1).Select
            .Paste
        End With
        Ie.Quit
    End Sub

  4. #24
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    Je ne suis pas extrêmement actif devant boucler un projet dans la semaine.
    J'espère pouvoir jeter un œil à tête reposée ce soir ;-)

    Michel

  5. #25
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    Par défaut RE
    Bonjour

    n'ayant pas de nouvelles y aurait il abandon ??

    en attendant je te propose ce fichier dans le quel il y a 2 userforms
    le 1 er et un web browser(navigateur)
    il y a une liste box avec les départements
    tu clique sur un item et la page de la carte s'affiche
    ensuite sur cette page le document se reconstruit seulement avec la couverture forestière
    une capture de cette image et faite automatiquement et s'affiche dans le 2 Emme userform
    tu a 2 bouton (sauver l'image ou retour au navigateur )
    l'image est sauver sous le nom("département" & le numéro que tu a choisi dans la liste box

    voila pour cette première version by userform


    Ps: j'ai oublié de supprimer tout le code dans le module thisworkbook tu peut tout supprimer dans ce module
    Fichiers attachés Fichiers attachés

  6. #26
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    Oh non ! Pas d'abandon.

    J'ai simplement un petit projet à finir qui me prends plus de temps que prévu !
    La date butoir approchant, je cravache !

    J'espère pourvoir me replonger dans le pb avant la fin de la semaine !

  7. #27
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    Je déterre le post, étant le créateur cela me semble normal ayant avancé sur le sujet.

    Je remercie Patrick pour son aide il y a deux ans, l'option capture d'écran ne me convenait pas, je n'avais vraiment pas le temps de me pencher sur la question d'ailleurs pendant deux ans je n'ai plus programmé (même pas un peu de VBA si si ).

    Ayant fini ce que je devais faire, je viens de reprendre le sujet avec la ferme intention de résoudre le problème sans passer par une capture d'écran qui ne me semble permettre une gestion fine de la résolution mètre/pixel.

    J'ai donc opté pour l'émulation des touches clavier afin "d'enregistrer sous" la page, ouverte avec IE. Cela me donne une image .png au format 2048 x 2048 (maximum sur le serveur)

    L'image est immédiatement collée à la bonne place dans une très très grande image (11x2048 par 11*2048) crée en utilisant WIA.

    Un fichier .png est enregistré ainsi que son fichier annexe .pgw > voir http://www.portailsig.org/content/py...es-tfw-jgwpngw pour la syntaxe d'un .pgw

    Le tout est donc importable sous QGIS.

    Néanmoins je reste sur ma faim car WIA ne me permet pas de créer une image supérieure à la limitation 11 * 2048 = 22528 pixels. Cela ne me permet pas de descendre à 1 mètre/pixel. Je suis actuellement entre 5 et 6 mètres/pixel

    Je n'ai pas trouvé la raison de cette limitation, les .png n'étant pas normativement limités cf : http://stackoverflow.com/questions/4...for-png-images et http://www.libpng.org/pub/png/spec/i...ct.html#11IHDR

    Moulinant mon image sous Python (le but au final est d'automatiser complètement la chaîne de l'image jusqu'à l'extraction des données en vectoriel) j'ai eu une alerte Python "DecompressionBombWarning: Image size () exceeds limit of 89478485 pixels, could be decompression bomb DOS attack" je me demande donc si WIA limite la taille des images pour les mêmes raison. Sous Python l'alerte peut être désactivée et ne bloque pas le processus.

    Qu'en est-il avec VBA et WIA ?

    Je poste le code d'ici peu, le temps de le mettre en forme histoire d'être lisible.

Discussions similaires

  1. Enregistrer une image PNG en 300 DPI
    Par Foub dans le forum 2D
    Réponses: 5
    Dernier message: 02/07/2008, 08h59
  2. Enregistrement image png
    Par merdassiahmad dans le forum Entrée/Sortie
    Réponses: 20
    Dernier message: 13/05/2008, 15h42
  3. enregistrement image png
    Par merdassiahmad dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 12/05/2008, 10h40
  4. Réponses: 5
    Dernier message: 21/01/2007, 19h31
  5. [Image]setCursor() et les images *.png
    Par feed_our_vision dans le forum Graphisme
    Réponses: 4
    Dernier message: 13/09/2004, 01h51

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