Сбор файлов на всех накопителях и отправка через интернет - VB

Узнай цену своей работы

Формулировка задачи:

задача: собрать со всех накопителей (жесткий диск + флешки) на компе файлы формата .doc и .docx. и отправить их через интернет на другой комп. прямая передача я думаю сразу отпадает , да ? что если через промежуточный ftp ? ну или предложите свой вариант )

Решение задачи: «Сбор файлов на всех накопителях и отправка через интернет»

textual
Листинг программы
  1. Public Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal nAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal nFlags As Long) As Long
  2. Public Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA" (ByVal hInternetSession As Long, ByVal sServerName As String, ByVal nServerPort As Integer, ByVal sUserName As String, ByVal sPassword As String, ByVal nService As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Long
  3. Public Declare Function FtpPutFile Lib "wininet.dll" Alias "FtpPutFileA" (ByVal hFtpSession As Long, ByVal lpszLocalFile As String, ByVal lpszRemoteFile As String, ByVal dwFlags As Long, ByVal dwContext As Long) As Boolean
  4. Public Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer
  5.  
  6. Dim rc&
  7. Dim rs&
  8. Dim Host$
  9. Dim Port$
  10. Dim User$
  11. Dim Pass$
  12. const FTP_Dir as string = "/public_html/Exchanger/" 'Путь к папке на FTP, куда записывать файлы
  13.  
  14. Sub Main()
  15.     Dim From_Dir$, fil$
  16.  
  17.     Host = "ip-адрес или веб-узел FTP"
  18.     Port = 21
  19.     User = "логин"
  20.     Pass = "пароль"
  21.  
  22.     From_Dir = "l:\Bash"
  23.    
  24.     rc = InternetOpen("", 0, vbNullString, vbNullString, 0)
  25.     rs = InternetConnect(rc&, Host, Port, User, Pass, 1, 0, 0)
  26.  
  27.  
  28.     fil = Dir$(From_Dir & "\*", vbArchive Or vbHidden Or vbReadOnly Or vbSystem)
  29.  
  30.     Do Until fil = ""
  31.    
  32.         FTP_PutFile From_Dir & "\" & fil
  33.    
  34.         fil = Dir$()
  35.     Loop
  36.  
  37.     Call InternetCloseHandle(rs)
  38.     Call InternetCloseHandle(rc)
  39. end sub
  40.  
  41. Public Sub FTP_PutFile(FullName$)
  42.     Dim ret As Boolean
  43. Send_Again:
  44.     DoEvents
  45.     ret = FtpPutFile(rs, FullName, FTP_Dir & Mid$(FullName, InStrRev(FullName, "\") + 1), 0, 0)
  46.     If ret = False Then
  47.         If MsgBox("Ошибка отправки файла!" & vbLf & vbLf & "Повторить попытку?", vbExclamation + vbYesNo) = vbYes Then GoTo Send_Again
  48.     End If
  49. end sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы