
Scripting.FileSystemObject -usar sin GETFILE()
Publicado por Jorge Cromer (31 intervenciones) el 11/10/2016 00:42:34
Hola amigos, favor indicarme como puedo capturar el nombre de un archivo dentro de un directorio sin usar el GETFILE() para ser usado con Scripting.FileSystemObject . Tengo el sgte.codigo:
*En en C:/LISTA/LIBRO/ tengo 3 archivos texto : Ejm. le77720160900080100001111.txt, le77720160900080200001011.txt , le77720160900140100001111.txt
*(Originalmente eran archivos con nombre de 8 caracteres y fueron renombrados con RENAME de VFP 6.00, quedando con los nombres en minusculas antes indicados)
*En un Formulario con 2 cajas de Texto: text1 y text2 y un boto "convertir a Mayusculas" en el evento CLICK tengo este codigo:
DIA = "00"
MES = Thisform.text1. value
ANO = Thisform.text2. value
GNFILE =ALLTRIM("le")+ALLTRIM("777")+ALLTRIM(ANO)+ALLTRIM(MES)+ALLTRIM(DIA)+ALLTRIM("080100")+ALLTRIM("00")+ALLTRIM("1111")+".txt"
GNFILEV =ALLTRIM("le")+ALLTRIM("777")+ALLTRIM(ANO)+ALLTRIM(MES)+ALLTRIM(DIA)+ALLTRIM("080200")+ALLTRIM("00")+ALLTRIM("1011")+".txt"
GNFILERV =ALLTRIM("le")+ALLTRIM("777")+ALLTRIM(ANO)+ALLTRIM(MES)+ALLTRIM(DIA)+ALLTRIM("140100")+ALLTRIM("00")+ALLTRIM("1111")+".txt"
SET DEFAULT TO C:\LISTA\LIBRO\
*Para convertir letras minusculas a mayusculas
FSO = CreateObject("Scripting.FileSystemObject")
lcFile = GETFILE() &&Abre el cuadro de dialogo y selecciono el archivo deseado
FSO.MoveFile(lcFile,UPPER(lcFile))
FSO = NULL
*Fin de convertir
*El resultado: Ejm.: archivo le77720160900080100001111.txt queda como : LE77720160900080100001111.txt (todo ok)
*Pero si cambio el lcFile = GETFILE() por una macrosustitucion ejm.:
FSO.MoveFile(&GNFILE,UPPER(&GNFILE))
* El resultado: Ejm.: archivo le77720160900080100001111.txt queda como : le77720160900080100001111.txt (es decir queda igual)
* pero basta que cambie algo, como por ejemplo le quito el ".txt" a la variable GNFILE , entoces si cambia de minuscula a minuscula pero logicamente
* le quita los atributos de texto
Muy agradecido por sus comentarios.
*En en C:/LISTA/LIBRO/ tengo 3 archivos texto : Ejm. le77720160900080100001111.txt, le77720160900080200001011.txt , le77720160900140100001111.txt
*(Originalmente eran archivos con nombre de 8 caracteres y fueron renombrados con RENAME de VFP 6.00, quedando con los nombres en minusculas antes indicados)
*En un Formulario con 2 cajas de Texto: text1 y text2 y un boto "convertir a Mayusculas" en el evento CLICK tengo este codigo:
DIA = "00"
MES = Thisform.text1. value
ANO = Thisform.text2. value
GNFILE =ALLTRIM("le")+ALLTRIM("777")+ALLTRIM(ANO)+ALLTRIM(MES)+ALLTRIM(DIA)+ALLTRIM("080100")+ALLTRIM("00")+ALLTRIM("1111")+".txt"
GNFILEV =ALLTRIM("le")+ALLTRIM("777")+ALLTRIM(ANO)+ALLTRIM(MES)+ALLTRIM(DIA)+ALLTRIM("080200")+ALLTRIM("00")+ALLTRIM("1011")+".txt"
GNFILERV =ALLTRIM("le")+ALLTRIM("777")+ALLTRIM(ANO)+ALLTRIM(MES)+ALLTRIM(DIA)+ALLTRIM("140100")+ALLTRIM("00")+ALLTRIM("1111")+".txt"
SET DEFAULT TO C:\LISTA\LIBRO\
*Para convertir letras minusculas a mayusculas
FSO = CreateObject("Scripting.FileSystemObject")
lcFile = GETFILE() &&Abre el cuadro de dialogo y selecciono el archivo deseado
FSO.MoveFile(lcFile,UPPER(lcFile))
FSO = NULL
*Fin de convertir
*El resultado: Ejm.: archivo le77720160900080100001111.txt queda como : LE77720160900080100001111.txt (todo ok)
*Pero si cambio el lcFile = GETFILE() por una macrosustitucion ejm.:
FSO.MoveFile(&GNFILE,UPPER(&GNFILE))
* El resultado: Ejm.: archivo le77720160900080100001111.txt queda como : le77720160900080100001111.txt (es decir queda igual)
* pero basta que cambie algo, como por ejemplo le quito el ".txt" a la variable GNFILE , entoces si cambia de minuscula a minuscula pero logicamente
* le quita los atributos de texto
Muy agradecido por sus comentarios.
Valora esta pregunta


0