TOUT SUR LE BTP ET LA TOPOGRAPHIE
Rechercher
 
 

Résultats par :
 


Rechercher Recherche avancée

Derniers sujets
» probleme d'ouverture de plusieures fenetre autocad
Jeu 5 Juil - 14:50 par lili2006

» 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

Shopactif


Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher

Fonction GetRemoteFile

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 : 536
Date d'inscription : 25/02/2010
Age : 51
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 : 536
Date d'inscription : 25/02/2010
Age : 51
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 : 536
Date d'inscription : 25/02/2010
Age : 51
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

Revenir en haut


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