Exportar grafico a ftp

02/09/2004 - 16:39 por Alex | Informe spam
Tengo el sig. codigo para exportar grafico :

Sub CopiarUnRangoAGIF()
Sheets("Datos").Select
Dim Izq As Single, Arr As Single, Ancho As Single, Alto
As Single
Application.DisplayAlerts = False
With Range("A1:i29")
Izq = .Left: Arr = .Top: Ancho = .Width: Alto
= .Height: .CopyPicture
End With
With ActiveSheet.ChartObjects.Add(Izq, Arr, Ancho, Alto)
.Chart.Paste
.Chart.Export "ftp://100.65.10.218/images/WorksheetL1.
gif"
.Delete
End With
Application.DisplayAlerts = True
End Sub

El codigo esta mas que probado (gracias a un MVP que no
recuerdo su nombre), el problema radica cuando lo exporto
a ftp (la dir. del ftp es inventada)

Genere una macro que copiara un archivo al ftp y funciona
correctamente

Alguna idea ?
 

Leer las respuestas

#1 Héctor Miguel
03/09/2004 - 07:30 | Informe spam
hola, Alex !

... el sig. codigo para exportar grafico [...] esta mas que probado ...
... el problema radica cuando lo exporto a ftp (la dir. del ftp es inventada) [...]



manejar una transferencia de archivos a sitios web...
NO esta 'tan disponible' como [si estuviera en] tu disco duro :-((
existe un comando interno del sistema operativo que 'se encarga' de ello [ftp.exe] ->requiere<-:
- 'abrir' el sitio/dominio
- 'proveer' un nombre de usuario y [seguramente] una contraseña
- 'poner' un archivo en una ubicacion [dentro del sitio]
- 'cerrar' la sesion de transferencia
[todo 'esto'...] como si estuvieras tecleando las instrucciones en una sesion de d.o.s.
que puedes 'simular'... creando un archivo de proceso por lotes [.bat] y usar el comando 'Shell'
el archivo que se va a enviar [obviamente] YA debe de 'existir' [en tu pc?]
estoy usando la misma ftp inventada que ejemplificas :))
-> pon atencion a las lineas que proveen la id del usuario y la contraseña <-

modifica 'mis' supuestos... haz la prueba... y ¿comentas?
saludos,
hector.
en un modulo de codigo 'normal' ==Sub FTP_Rango_GIF()
Dim DirOrigen As String, ArchivoGIF As String, Batch As Integer, _
Dominio As String, Destino As String, Proceso As String, _
Izq As Single, Arr As Single, Ancho As Single, Alto As Single
DirOrigen = ThisWorkbook.Path & "\"
ArchivoGIF = DirOrigen & "WorkshsetL1.gif"
Dominio = "100.65.10.218"
Destino = "/images/"
Proceso = DirOrigen & "EnviaFTP.bat"
With Range("a1:i29")
Izq = .Left: Arr = .Top: Ancho = .Width: Alto = .Height: .CopyPicture
End With: Application.DisplayAlerts = False
With ActiveSheet.ChartObjects.Add(Izq, Arr, Ancho, Alto)
.Chart.Paste: .Chart.Export ArchivoGIF: .Delete
End With: Application.DisplayAlerts = True
Batch = FreeFile: Open Proceso For Output As #Batch
Print #Batch, "open " & Dominio
Print #Batch, "usuario" ' <- PON aqui la ID del usuario '
Print #Batch, "password" ' <- PON aqui la contrseña '
Print #Batch, "put " & ArchivoGIF & " " & Destino
Print #Batch, "quit": Close #Batch
Shell "cmd /c ftp -s:" & Proceso & " del " & Proceso, vbHide
End Sub

Preguntas similares