Rechercher
Derniers sujets
Fonction GetRemoteFile
3 participants
TOUT SUR LE BTP ET LA TOPOGRAPHIE :: LOGICIELS PROFESSIONNELS :: LOGICIELS PROFESSIONNELS :: AUTOCAD
Page 1 sur 1
Fonction GetRemoteFile
Bonjour,
Dans un outil VBA pour Autocad je souhaite utiliser la fonction GetRemoteFile :
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.
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.
Re: Fonction GetRemoteFile
Salut
Voici deux réponse en lisp/vlisp
En utilisant GetRemoteFile
Une autre plus complète appelant les activex
@+
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
Re: Fonction GetRemoteFile
Patrick_35- Messages : 24
Date d'inscription : 18/05/2010
Re: Fonction GetRemoteFile
Re: Fonction GetRemoteFile
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....
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....
Re: Fonction GetRemoteFile
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.
@+
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
TOUT SUR LE BTP ET LA TOPOGRAPHIE :: LOGICIELS PROFESSIONNELS :: LOGICIELS PROFESSIONNELS :: AUTOCAD
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Mer 27 Déc - 20:06 par souad2010
» LES COURS DE GEODESIE
Sam 10 Juil - 14:07 par lili2006
» TES HEBERGEMENT NUAGE DE POINTS
Ven 9 Juil - 9:41 par lili2006
» Bonjour à toutes et à tous
Mer 15 Mai - 6:13 par Mayah2105
» 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
» au sujet remblai
Ven 28 Oct - 17:34 par lili2006
» formation Autopiste
Jeu 25 Aoû - 15:42 par djingtresfort