TOUT SUR LE BTP ET LA TOPOGRAPHIE
Rechercher
 
 

Résultats par :
 


Rechercher Recherche avancée

Derniers sujets
» Presentation d'un nouveau
Sam 30 Sep - 15:05 par alphaville974

» LA TOPOGRAPHIE POUR LE BTP
Dim 19 Mar - 17:26 par albator

» LES COURS DE GEODESIE
Mar 28 Fév - 11:16 par lili2006

» au sujet remblai
Ven 28 Oct - 17:34 par lili2006

» formation Autopiste
Jeu 25 Aoû - 15:42 par djingtresfort

» probleme au profils en travers
Mer 17 Aoû - 13:44 par souad2010

» Comment aligner un plan ?
Ven 17 Juin - 15:11 par lili2006

» Sciences géographiques et ouvrages d'art
Lun 6 Juin - 10:32 par lili2006

» Contrôle d'une étude d'exécution
Lun 6 Juin - 10:31 par lili2006

Shopactif


Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher

Fonction GetRemoteFile

Voir le sujet précédent Voir le sujet suivant Aller en bas

Fonction GetRemoteFile

Message par gcoot le Dim 18 Avr - 5:30

Bonjour,

Dans un outil VBA pour Autocad je souhaite utiliser la fonction GetRemoteFile :

Public Const SSITE = "http://sites.google.com/site/emethodes/home/outils-pour-autocad/trace-banches-courbes/"
Dim sFile As String
Dim sChem As String
sChem = SSITE + "CCRV.DWG"
ThisDrawing.Utility.GetRemoteFile sChem, sFile, True

Tout se passe bien sauf que le fichier DWG téléchargé n'est pas le plan attendu : c'est une boite de dialogue en HTML dont je n'ai que faire.

Avez vous déjà réussit à résoudre ce problème d'une manière ou d'une autre ?

Merci pour vos réponses.

gcoot

Messages : 29
Date d'inscription : 26/02/2010

Voir le profil de l'utilisateur http://sites.google.com/site/emethodes/

Revenir en haut Aller en bas

Re: Fonction GetRemoteFile

Message par lili2006 le Jeu 29 Avr - 12:03

Bonjour à toutes et tous,

Pas de spécialiste VBA encore sur ce forum ?

Dommage,... [Vous devez être inscrit et connecté pour voir cette image]
avatar
lili2006
Admin

Messages : 535
Date d'inscription : 25/02/2010
Age : 50
Localisation : Bordeaux (33)

Voir le profil de l'utilisateur http://geniecivil-topo.sosblog.fr/ACCEUIL-DES-BLOGS-b0.htm

Revenir en haut Aller en bas

Re: Fonction GetRemoteFile

Message par Patrick_35 le Mar 18 Mai - 15:25

Salut

Voici deux réponse en lisp/vlisp

En utilisant GetRemoteFile
Code:
(defun telecharger(lien rep / cp ok tmp util)
  (setq util (vla-get-Utility (vla-get-ActiveDocument (vlax-get-acad-object))))
  (if (eq (vla-isurl util lien) :vlax-true)
    (if (vl-catch-all-error-p (vl-catch-all-apply 'vla-GetRemoteFile (list util lien 'tmp :vlax-true)))
      (princ "\nErreur lors du téléchargement.")
      (progn
    (setq cp (strcat rep (vl-filename-base lien) (vl-filename-extension lien)))
    (if (findfile cp)
      (vl-file-delete cp)
    )
    (if (vl-catch-all-error-p (vl-catch-all-apply 'vl-file-copy (list tmp cp)))
      (progn
          (princ "\nImpossible de déplacer le fichier \""
          (strcat (vl-filename-base cp)(vl-filename-extension cp))
          "\" depuis le répertoire \n\""
          tmp
        )
        (vl-file-delete tmp)
      )
      (progn
        (vl-file-delete tmp)
            (if (zerop (vl-file-size cp))
              (progn
        (vl-file-delete cp)
        (princ "\nImpossible de télécharger le fichier.")
          )
          (setq ok T)
        )
      )
    )
      )
    )
    (princ "\nLe lien n'est pas valide.")
  )
  ok

Une autre plus complète appelant les activex
Code:
(defun download (url dir / byte fic file fso http ok tbl taille)
  (setq http (vlax-create-object "MSXML2.XMLHTTP")
        fso  (vlax-create-object "scripting.FileSystemObject")
    file (strcat dir (vl-filename-base url) (vl-filename-extension url)))
  (vlax-invoke-method http 'open "get" url :vlax-false)
  (if (vl-catch-all-error-p (vl-catch-all-apply 'vlax-invoke (list http 'send)))
    (princ (strcat "\nLe lien " url " n'est pas valide."))
    (if (eq (vlax-get http 'status) 200)
      (if (vl-catch-all-error-p (setq taille (vl-catch-all-apply 'vlax-invoke (list http 'getResponseHeader "Content-Length"))))
    (princ "\nErreur de lecture sur la taille du fichier.")
        (if (< (atoi taille) (vlax-get (vlax-invoke fso 'getdrive (substr (vlax-invoke fso 'getabsolutepathname file) 1 1)) 'freespace))
      (progn
        (princ "\nTéléchargement en cours...")(princ)
        (while (not (eq (vlax-get http 'readystate) 4))
          (vla-eval (vlax-get-acad-object) "DoEvents")
        )
        (setq tbl (vlax-safearray->list (vlax-variant-value (vlax-get-property http 'responsebody))))
        (if (vl-catch-all-error-p (setq fic (vl-catch-all-apply 'vlax-invoke (list fso 'createtextfile file))))
          (princ (strcat "\nImpossible de créer le fichier " file))
          (progn
        (foreach byte tbl
          (vlax-invoke fic 'write (vl-list->string (list byte)))
        )
        (vlax-invoke fic 'close)
        (setq ok T)
          )
        )
      )
    )
      )
      (princ (strcat "\n" (vlax-get http 'statustext) "...Erreur " (itoa (vlax-get http 'status)) "."))
    )
  )
  (vlax-release-object http)
  (vlax-release-object fso)
  ok
)

@+

Patrick_35

Messages : 24
Date d'inscription : 18/05/2010

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Fonction GetRemoteFile

Message par lili2006 le Mar 18 Mai - 16:06

Bonsoir à toutes et tous,

Heu, et ça sert à quoi exactement de faire ça ?

Merci d'avance,

PS: Tu vois Patrick_35 qu'il y a des débutants ici (je parle de moi, bien entendu,... [Vous devez être inscrit et connecté pour voir cette image] )
avatar
lili2006
Admin

Messages : 535
Date d'inscription : 25/02/2010
Age : 50
Localisation : Bordeaux (33)

Voir le profil de l'utilisateur http://geniecivil-topo.sosblog.fr/ACCEUIL-DES-BLOGS-b0.htm

Revenir en haut Aller en bas

Re: Fonction GetRemoteFile

Message par Patrick_35 le Mer 19 Mai - 6:16

Salut lili

PS: Tu vois Patrick_35 qu'il y a des débutants ici (je
parle de moi, bien entendu,... [Vous devez être inscrit et connecté pour voir cette image] )
Cela veut dire que tu commences à tâter à la programmation [Vous devez être inscrit et connecté pour voir cette image]

Heu, et ça sert à quoi exactement de faire ça ?
A télécharger un lien depuis autocad. Par exemple pour une mise à jour automatique.

@+

Patrick_35

Messages : 24
Date d'inscription : 18/05/2010

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Fonction GetRemoteFile

Message par lili2006 le Mer 19 Mai - 22:18

Re,

Cela veut dire que tu commences à tâter à la programmation [Vous devez être inscrit et connecté pour voir cette image]

Ben non, toujours pas comme je le souhaiterai,...

Ok pour la réponse,

Merci [Vous devez être inscrit et connecté pour voir ce lien], [Vous devez être inscrit et connecté pour voir cette image]
avatar
lili2006
Admin

Messages : 535
Date d'inscription : 25/02/2010
Age : 50
Localisation : Bordeaux (33)

Voir le profil de l'utilisateur http://geniecivil-topo.sosblog.fr/ACCEUIL-DES-BLOGS-b0.htm

Revenir en haut Aller en bas

Re: Fonction GetRemoteFile

Message par gcoot le Sam 22 Mai - 13:16

Bonjour,

Et merci Patrick_35, ça marche effectivement en VL.........Et j'ai réessayé avec VBA et ça marche aussi, avec un code inchangé par rapport aux essais infructueux réalisés précédemment.....j'ai cherché partout....c'est bien rare d'être embêté parce-qu'une fonction fonctionne.....une voiture avec des lumières bleues et des gens très gentils en blanc m'attendent devant la porte...je crois que je vais y aller pour essayer cette joli veste avec les manches qui s'accroche dans le dos....

gcoot

Messages : 29
Date d'inscription : 26/02/2010

Voir le profil de l'utilisateur http://sites.google.com/site/emethodes/

Revenir en haut Aller en bas

Re: Fonction GetRemoteFile

Message par Patrick_35 le Mar 25 Mai - 8:57

Tu as peut-être une variable qui à perturbé ton fonctionnement.
Une fois le pc éteint et le prog relancé, des miracles se font ^^

Je souhaite qu'il te shoot pas trop avec les médocs tes petits hommes blancs.

@+

Patrick_35

Messages : 24
Date d'inscription : 18/05/2010

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Fonction GetRemoteFile

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum