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 ?

Preguntas similare

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
Respuesta Responder a este mensaje
#2 Anonimo
04/09/2004 - 04:15 | Informe spam
Al parecer todo marcha bien, pero en la ultima
instruccion algo no anda correctamente

Shell "cmd /c ftp -s:" & Proceso & " del " & Proceso,
vbHide

Porque abro el comando ftp y ejecuto el .bat que se
genera con tu codigo, y efectivamente si lo copia

Alguna sugerencia ?

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

.

Respuesta Responder a este mensaje
#3 Héctor Miguel
04/09/2004 - 04:48 | Informe spam
hola, Alex? !

Al parecer todo marcha bien, pero en la ultima instruccion algo no anda correctamente
Shell "cmd /c ftp -s:" & Proceso & " del " & Proceso, vbHide
Porque abro el comando ftp y ejecuto el .bat ... y efectivamente si lo copia
Alguna sugerencia ?



intenta 'eliminando' en la instruccion 'shell' el ['lanzamiento' del] lector de comandos de win-xp [cmd.exe]
y ejecutando 'simplemente' el comando para transferencia de archivos [ftp]
[p.e.] Shell "ftp -s:" & Proceso & " del " & Proceso, vbHide

¿comentas?
saludos,
hector.
Respuesta Responder a este mensaje
#4 Anonimo
06/09/2004 - 18:19 | Informe spam
Ya lo probe y si funciona, solo que en la ultima
instruccion la puse asi :

Shell "cmd /c ftp -s:" & Proceso , vbHide

Porque no queria funcionar

Te felicito eh?

la verdad es que me habia consumado mucho tiempo el
conseguir la solucion tan valiosa para mi

Gracias de nuevo


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

.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida