Avatar billede ktp Nybegynder
15. august 2005 - 15:07 Der er 7 kommentarer

Hent fil

Jeg har brug for at hente en XLS fil på ftp med vbscript.
På den pågældene ftp server skal der bruges brugernavn og adgangkode for at hente filen.

Er der nogen som ved hvordan man kan lave script som bare henter filen og gemmer den det samme sted (overskriver) hver gang.
Avatar billede medions Nybegynder
15. august 2005 - 15:10 #1
Avatar billede medions Nybegynder
15. august 2005 - 15:11 #2
Her har du en der har haft samme problemstilling som dig:

http://www.tek-tips.com/viewthread.cfm?qid=823773&page=1

//>Rune
Avatar billede medions Nybegynder
15. august 2005 - 15:18 #3
Avatar billede ktp Nybegynder
15. august 2005 - 15:19 #4
Tak, men de virker ikke efter hensigten, er der ikke nogen som kan skrive koden?
Avatar billede ktp Nybegynder
15. august 2005 - 15:20 #5
De links fandt jeg også selv, men måtte opgive og bruge dem
Avatar billede medions Nybegynder
15. august 2005 - 15:38 #6
Hej KTP, jeg har lige prøvet flg. af, og det virkede helt perfekt:

Option Explicit
Dim objFSO, objMyFile, objShell, strFTPScriptFileName, strFile2Get
Dim strLocalFolderName, strFTPServerName, strLoginID
Dim strPassword, strFTPServerFolder

'Customize code here to fit your needs
strLocalFolderName = "."
strFTPServerName = "medions.dk"
strLoginID = "Brugernavn"
strPassword = "hemmeligt"
strFTPServerFolder = "public_html"

'The following code converts date to the right format, YYYYMMDD
strFile2Get = DatePart("yyyy",Date)

If DatePart("m",Date) < 10 Then
    strFile2Get = strFile2Get & "0"
End If

strFile2Get = strFile2Get & DatePart("m",Date)

If DatePart("d",Date) < 10 Then
    strFile2Get = strFile2Get & "0"
End If

strFile2Get = strFile2Get & DatePart("d",Date)

'The following code generates the file name on the FTP server you want to get
strFile2Get = "Data" & strFile2Get & ".csv"

'The follow lines of code generate the FTP script file on the fly,
'because the get file name changes every day

strFTPScriptFileName = strLocalFolderName & "\links.php"

Set objFSO = CreateObject("Scripting.FileSystemObject")

If (objFSO.FileExists(strFTPScriptFileName)) Then
    objFSO.DeleteFile (strFTPScriptFileName)
End If

Set objMyFile = objFSO.CreateTextFile(strFTPScriptFileName, True)
objMyFile.WriteLine ("open " & strFTPServerName)
objMyFile.WriteLine (strLoginID)
objMyFile.WriteLine (strPassword)
objMyFile.WriteLine ("cd " & strFTPServerFolder)
objMyFile.WriteLine ("ascii")
objMyFile.WriteLine ("lcd " & strLocalFolderName)
objMyFile.WriteLine ("get " & strFile2Get)
objMyFile.WriteLine ("bye")
objMyFile.Close
Set objFSO = Nothing
Set objMyFile = Nothing

'The following code executes the FTP script. It creates a Shell
'object and run FTP program on top of it.
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Run ("ftp -s:" & chr(34) & strFTPScriptFileName & chr(34))
Set objShell = Nothing

//>Rune
Avatar billede ktp Nybegynder
15. august 2005 - 16:05 #7
Hej Rune

Jeg er ikke nogen ekspert i vbscript, og det ser ud til der er mange udnødvendige funktioner i dette script.
Her er en url til den fil jeg skal have fat i (den ligner den), det eneste jeg ønsker er at den tager filen og kopiere den ned i et bestem bibliotek f.eks C:\temp

ftp://brugernavn:password@194.29.120.79/Mappe1/Mappe2/Denmark/Denmark_West/odeeur05.xls

Tror du man kan strikke et script sammen der kan det?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester