Keresés
Hírlevél
 
Kiemelt témák
»Hogyan védjem meg a portálomat?
»Google wave
»Assembly :: röviden
Állás/munka
»PHP állás azonnali belépéssel Budaörsön
»PHP programozó munkát vállal
»WebProgramozó Munkát Keres
»HYBRIS! anyone?
»Flash fejlesztőt keresünk
» több téma
Tudástár
*Javascript forrás visszaalakítása
*Link szövegének értékátadása fájlba
*Select problémák
PreparedStatement egyre lassuló insert
Változó értékének módosítása php-ban.
*Siebel CRM
?A sortörés eltüntetése </form> esetén
C#.NET & Riport
File méret megállapítása 2 gb feletti fileoknál
?Több adat kiírása.
?Lekérdezési sorrend mysql-ben.
Egyik $_SESSION átmegy, a másik nem
PHP tömb átadása POST-tal
?C# hibás feltételvizsgálat
JavaScript idő frissítés
» több téma
Társalgó
»FTP helyett
»Clipper kontra XP
»"Márió" jellegű játék írása pascal nyelven
»Ártalmas szoftver, támadó webhely kijavítás
»Agyhullám: php & mysql könyvemet eladnám.
»Lelkesítő topic
»Melyik főiskola vagy egyetem?
»Verziókezelés - CVS, Subversion, VSS
»5 milliárdos bukta
»VK komponens dokumentáció
» több téma
ASP  |  C#  |  C++  |  CSS  |  Delphi  |  Flash  |  HTML  |  Java  |  JavaScript  |  Pascal  |  Perl  |  PHP  |  Python  |  Visual Basic  |  Visual C++  |    »    

Tudástár

»

Webes fájl másolása

»

Webes fájl másolása

nyitotta: csuby, idő: 2010.01.13., moderátor: Árnyék
  Értesítés változás esetén Felvétel kedvencekhez Küldés emailben Nyomtatható verzió

Kategóriák:Programozási nyelvek » Visual Basic

Sorrend:
Időzóna:
Blokkméret:
Üdv Mindenki!

vba-ban szeretném automatizálni webes tárhelyen elhelyezett fájlok sajátgépre történő másolását. nem tudom, hogy ez változtathat-e a képleten, mindenesetre egy kis adalék: https kapcsolatról van szó. Előre is köszönök mindennemű segítséget!
Internet Transfer Control vagy WinHttpRequest objektum. Én az utóbbit javaslom, példakódot (többek között) itt és itt találsz.
Hmm, hát akár azt is mondhatnám hogy WinINet, hátha vmi megszálott vagy:)
.NET-ben kicsit egyszerűbb lesz
Miért lenne bonyolultabb a WinHttpRequest-et használni, mint az annak megfelelő .Net-es osztályt?
Sok a paraméter
Idetartozó .NET-es osztályokat nem ismerem, csak általánosítottam, hogy egyszerűbben kezelhető mint a WinAPI

Mondjuk így már könyebb használni a WinApi-t

    Internet* Net;
    Net = new Internet();
    Net->CreateNet();

    Net->Download( "http://m.blog.hu/va/vancello/image/ferrari360.jpg", "D:\Kepek", "kep1.jpg",true );

    Net->KillNet();
    delete Net;
Köszi a gyors válaszokat Árnyék és **G**. Először "gyorsan"(már ahogy az egyéb munkák engedik) megnézem a linkeket, aztán majd a próbálkozások, és azok sikerességeinek függvényében lehet, hogy még lesznek kérdéseim.
Sok a paraméter

Ezt a WinHttpRequest-tel kapcsolatos tapasztalataid alapján írod, vagy csak úgy?


Function BinaryGetURL(URL)
  Dim Http
  Set Http = CreateObject("WinHttp.WinHttpRequest.5.1")
 
  Http.Open "GET", URL, False
  Http.Send
  BinaryGetURL = Http.ResponseBody
End Function


Ebben hol a sok paraméter?
hmm lehet kicsit bekevertem, én ilyesmiket használtam hogy InternetOpenUrl, InternetreadFile meg ilyesmik, de viszonylag régi projektem, most nem szánok rá időt hogy visszanézzem De akkor lehet másról beszéltem bocsi
"Function BinaryGetURL(URL)
Dim Http
Set Http = CreateObject("WinHttp.WinHttpRequest.5.1")

Http.Open "GET", URL, False
Http.Send
BinaryGetURL = Http.ResponseBody
End Function"

(előljáróban annyit,hogy viszonylag kezdő vagyok vba-ban)nem teljesen értem ezt a függvényt...

előrször is akármilyen url-t adok át neki, nem tud kapcsolatot teremteni a szerverrel, másodszor pedig azt se nagyon értem, hogy hol kerül sor a mentésre... bár lévén hogy függvény lehetséges, hogy a visszatérési értékét kellene felhasználnom, de mivel már a futtatása közben hibaüzenetet kapok nem tudom megnézni a visszatérési értékét, hogy kiderítsem, hogyan használhatnám fel.

ha tud valaki segíteni az értelmezésben, akkor előre is köszönöm.

addigis google-zom, hátha sikerül megvilágosodnom...
sajnos .net-et nem tudok használni, úgyhogy marad a vba-s körülményesebb megoldás...
Igen, a visszatérési értékét kéne használnod. És kéne mutatnod egy példát arra, hogy miként próbálod meg használni. Külön9s tekintettel az url paraméternek történő értékadásra. Egyébként a 2 link bármelyikét megnézted?
ííííííííígen, elolvastam! komolyan mondom, Árnyék, ki tudsz borítani a bizalmatlanságoddal.
Szóval: átadom a függvénynek az url-t egy változóban, aminek a tartalma például: http://m.blog.hu/va/vancello/image/ferrari360.jpg , eddig rendben is van, ezután a http.send sornál dobja a hibaüzenetet. hogy nem tudja létrehozni a kapcsolatot a szerverrel. A visszatérési értéket egyébként valószínüleg nem a megfelelő módon fogadnám, de mivel addig egyenlőre el se jutok, ezért gondolom mind1.
Ez meglehetősen érdekes. Excel VBA-ban hoztam létre az alábbi kódot:


Sub a()
  Dim b
 
  b = BinaryGetURL("http://m.blog.hu/va/vancello/image/ferrari360.jpg")
End Sub


Function BinaryGetURL(URL)
  Dim Http
  Set Http = CreateObject("WinHttp.WinHttpRequest.5.1")
 
  Http.Open "GET", URL, False
  Http.Send
  BinaryGetURL = Http.ResponseBody
End Function

b-be szépen bekerült a ResponseBody értéke egy variant tömbként, ahogy kell. Egyébként az 1. linken megtalálod azt, hogyan kell az eredményt beírni egy file-ba.
hát, az elmúlt időben más projektekkel kellett foglalkoznom, de most hogy kb. a végükre értem, újra itt vagyok.
Szóval, a dolgok jelenlegi állása alapján arra tippelek, hogy a korábbi hibaüzenetet esetlegesen a céges "védelmi rendszer" okozhatta. Illetve nem tudom, hogy a vba vajon az internet explorer proxy beállításait használja-e, ha igen, akkor nem itt van a kutya elásva, de ha nem, akkor valami módon meg kell adnom a vba-nak, hogy milyen proxy-n keresztül próbáljon kijutni. Ha bárkinek van akármilyen ötlete, észtrevétele ehhez a fejtegetéshez(például, hogy sületlenség ), azt kíváncsian várom, és előre is köszönöm.
Ezt másold be egy module-ba és próbáld ki:
Option Explicit
Declare Function URLDownloadToFileA Lib "urlmon" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long

Function DownloadFile(URL As String, FileName As String) As Boolean
  DownloadFile = URLDownloadToFileA( 0, URL, FileName, 0, 0 ) = 0
End Function

Sub test()
  If DownloadFile( "http://m.blog.hu/va/vancello/image/ferrari360.jpg", "c:\ferrari.jpg" ) Then
    MsgBox "hurra!"
  End If
End Sub

---
::Itt:: is ezt kérték.
köszi szépen @sanya! működik. esetleg meg tudod(vagy bárki más) mondani, hogy hol találhatok ehhez a témakörhöz tanulható anyagot. előre is köszi!
Szívesen!
Nem tudom mi akar lenni az a témakör, VB, VBA, apihívások VB alatt vagy egyéb? Na de, mindenesetre ez az oldal egészen biztos hasznos lesz számodra. Pl. ha a beposztolt példáról akarsz többet, akkor ott a baloldali linkek között az "Api List" alatt, majd az U betű/linkre kattolva, megkeresed a URLDownloadToFile() leírását. Példákat is találsz.
még1x köszi. m1 a pont
Belépés
E-mail cím:
Jelszó:

RSS források
-Hírek
-Cikkek
-Fórumok
Top pontgyűjtők
»Micu1.610
»Árnyék800
»vinie470
»Frostech0450
»pelz350
»djjjozsi330
»Riha330
»stl290
»NevemTeve220
»klorand200
Hírek
»Saját alkalmazásboltot nyitott a Google
»Súlyos sebezhetőség minden Apache kiszolgálóban
»Natív 3D-s támogatás a legújabb Android fejlesztőkészletben
»A Windows titkos eredete
»Letölthető a PHP 5.3.2
» több hír
PC Fórum hírek
»Több tízezer nebuló a Microsuliban
»Sebezhető az Internet Explorer és az Opera is
»Még márciusban megjelenik az Intel nyolcmagos szerverlapkája
»Hamis Core i7 processzorokat árultak a neten
»Korábban jön a Windows 7 Service Pack 1
»Április elejétől lesz kapható az iPad
»Megszületett a tizmilliárdodik csipogás a Twitteren
»Megint reklamálnak a Microsoft böngészőválasztója miatt
Tagi blogok
»USB
»PHP, mint sablonmotor egyszerűen
»Én és linux
»Coming out