FileCopy Copia un archivo.
Sintaxis FileCopy origen,
destino
La sintaxis de la instrucción FileCopy
consta de los siguientes argumentos con nombre:
| Parte |
Descripción |
| Origen |
Requerido. Expresión de
cadena que especifica el nombre de un archivo que se va a copiar. El
origen puede incluir el directorio o carpeta y la
unidad de disco. |
| Destino |
Requerido. Expresión de
cadena que especifica el nombre del archivo de
destino. Puede incluir el directorio o carpeta y la
unidad de disco. |
Comentarios Si intenta utilizar la
instrucción FileCopy en un archivo abierto actualmente, se
producirá un error.
Ejemplo de la instrucción FileCopy En
este ejemplo se utiliza la instrucción FileCopy para copiar un
archivo en otro. Se supone que ARCHORIG es un archivo que contiene
información.
Dim ArchOrigen, ArchDestino ArchOrigen =
"ARCHORIG" ' Se define el nombre del archivo de origen. ArchDestino =
"ARCHDEST" ' Se define el nombre del archivo de origen. File Copy
ArchOrigen, ArchDestino ' Se copia el archivo de origen en el archivo de
destino.
Arriba
Kill Elimina
archivos del disco.
Sintaxis Kill
nombre_ruta
El argumento requerido nombre_ruta es
una expresión de cadena que especifica uno o más nombres de archivos que
se van a eliminar. Puede incluir el directorio o carpeta y la unidad de
disco.
Comentarios La función Kill
permite el uso de los caracteres comodín '*' (múltiples caracteres) y
'?' (un solo carácter) para especificar varios archivos.
Se producirá un error si intenta usar la
instrucción Kill para eliminar un archivo abierto.
Nota Para eliminar directorios, utilice la
instrucción RmDir.
Ejemplo de la instrucción Kill En este
ejemplo se utiliza la instrucción Kill para borrar un archivo de un
disco.
' Se supone que PRUEBA es un archivo que
contiene información. Kill "PRUEBA" ' Se elimina el archivo. ' En
Microsoft Windows: ' Se eliminan todos los archivos *.TXT del
directorio actual. Kill "*.TXT"
Arriba
MkDir Crea un
directorio o carpeta.
Sintaxis MkDir ruta
El argumento requerido ruta es una
expresión de cadena que identifica el directorio o carpeta que se va a
crear. Puede incluir la unidad de disco. Si no se especifica la unidad de
disco, la instrucción MkDir crea el directorio o carpeta en la
unidad de disco actual.
Ejemplo de la instrucción
MkDir En este ejemplo se utiliza la instrucción MkDir
para crear un directorio o una carpeta. Si no se especifica la unidad de
disco, el directorio o carpeta se crea en la unidad actual.
MkDir "MIDIR" ' Se crea el directorio o la
carpeta.
Arriba
On
Error. Activa una rutina de control de errores y especifica la
ubicación de la misma en un procedimiento; también puede utilizarse para
desactivar una rutina de control de errores.
Sintaxis On Error
GoTo línea On Error Resume Next On Error GoTo
0
La sintaxis de la instrucción On Error
puede tener cualquiera de los formatos siguientes:
Instrucción:
- On Error GoTo línea: Activa la
rutina de control de errores que comienza en la línea
especificada en el argumento necesario línea. El argumento
línea es cualquier etiqueta de línea o número de línea. Si se
produce un error en tiempo de ejecución, el control pasa a línea,
activando el controlador de errores. La línea especificada en el
argumento línea debe encontrarse en el mismo procedimiento que la
instrucción On Error; o de lo contrario, se producirá un error en
tiempo de compilación.
- On Error Resume Next: Especifica que,
en caso de que se produzca un error en tiempo de ejecución, el control
pase a la instrucción que sigue inmediatamente a aquélla en la que se ha
producido el error, donde continúa la ejecución.
- On Error GoTo 0: Desactiva cualquier
controlador de errores del procedimiento actual.
Comentarios Si no utiliza una
instrucción On Error, cualquier error en tiempo de ejecución que se
produzca será fatal; es decir, aparecerá un mensaje de error y la
ejecución se detendrá.
Nota Una rutina de control de errores no es
un procedimiento Sub ni Function,. Es una sección de código
marcada con una etiqueta o un número de línea.
Las rutinas de control de errores se basan en
el valor de la propiedad Number del objeto Err para
determinar la causa del error. Una rutina de control de errores debe
comprobar y guardar los valores de las propiedades del objeto Err
antes de que pueda producirse otro error o antes de que se llame a un
procedimiento que pueda causarlo. Los valores de las propiedades del
objeto Err reflejan solamente el error más reciente. El mensaje de
error asociado a Err.Number se encuentra en
Err.Description.
On Error Resume Next hace que la ejecución
continúe en la instrucción que sigue inmediatamente a la que causó el
error en tiempo de ejecución, o en la que sigue inmediatamente a la última
llamada desde el procedimiento que contiene la instrucción On Error
Resume Next. Esta instrucción permite continuar la ejecución a pesar
de que se haya producido un error en tiempo de ejecución.. Puede colocar
la rutina de control de errores donde se produciría el error, en vez de
transferir el control a otra posición dentro del procedimiento. La
instrucción On Error Resume Next pasa a estar inactiva cuando se
llama a otro procedimiento, por tanto usted debe ejecutar una instrucción
On Error Resume Next en cada rutina que llamada si desea un control
de errores integrado dentro de la propia rutina.
On Error GoTo 0 desactiva el control de
errores en el procedimiento actual. No especifica la línea 0 como el
inicio del código de control de errores, ni siquiera cuando el
procedimiento contiene una línea con el número 0. Sin una instrucción
On Error GoTo 0, el control de errores se desactiva automáticamente
al salir del procedimiento.
Para evitar que el código de control de errores
se ejecute cuando no se ha producido ningún error, coloque una instrucción
Exit Sub o Exit Function inmediatamente antes de la rutina de
control de errores, como en el ejemplo siguiente:
Sub InicializarMatriz(Var1, Var2, Var3,
Var4) On Error GoTo ControlErrores . . . Exit
Sub
ControlErrores: . . . Resume
Next End Sub
Aquí, el código de control de errores viene a
continuación de la instrucción Exit Sub y precede a End Sub
para separarlo del flujo normal del procedimiento. El código de control de
errores puede situarse en cualquier lugar del procedimiento.
Ejemplo de la instrucción On Error Este
ejemplo utiliza primero la instrucción On Error GoTo para
especificar la ubicación de una rutina de control de errores dentro de un
procedimiento. En el ejemplo, un intento de eliminar un archivo abierto
genera el error número 55. El error se controla en la rutina de manejo de
errores y a continuación se devuelve el control a la instrucción que
provocó el error. La instrucción On Error GoTo 0 desactiva la
detección de errores. A continuación se utiliza la instrucción On Error
Resume Next para retardar la detección de errores de forma que se
pueda conocer con total seguridad el contexto para el error generado por
la instrucción posterior. Observe que Err.Clear se utiliza para
borrar las propiedades del objeto Err después de tratar el
error.
Sub DemoInstrucOnError() On Error GoTo
ControlError ' Activa la rutina de control de errores. Open "PRUEBA"
For Output As #1 ' Abre archivo para salida. Kill "PRUEBA" ' Intenta
eliminar el archivo ' abierto. On Error Goto 0 ' Desactiva la
detección de errores. On Error Resume Next ' Retarda detección de
errores. RefObjeto = GetObject("MiWord.Basic") ' Intenta ' iniciar
un objeto que no existe, después ' comprueba errores de
Automatización. If Err.Number = 440 Or Err.Number = 432 Then '
Indica al usuario lo que ha ocurrido. Luego borra el objeto Err. Msg =
"¡Se produjo un error al intentar abrir el objeto
Automatización!" MsgBox Msg, , "Prueba de error retardada" Err.Clear
' Borra campos del objeto Err End If Exit Sub ' Salir para evitar el
controlador. ControlError: ' Rutina de control de errores. Select
Case Err.Number ' Evalúa el número de error. Case 55 ' Error "Archivo
ya está abierto". Close #1 ' Cierra el archivo abierto. Case
Else ' Puede incluir aquí otras situaciones... End Select Resume
' Continuar ejecución en la línea que ' causó el error. End
Sub
Arriba
Option
Explicit Se usa en el nivel de módulo para forzar declaraciones
explícitas de todas las variables en ese módulo.
Sintaxis Option Explicit
Comentarios Si se usa, la instrucción
Option Explicit debe aparecer en un módulo antes de
cualquier procedimiento.
Cuando Option Explicit aparece en un
módulo, debe declarar explícitamente todas las variables mediante las
instrucciones Dim, Private, Public, ReDim o
Static. Si intenta usar un nombre de variable no declarado,
ocurrirá un error en tiempo de compilación.
Nota Utilice Option Explicit para
evitar escribir incorrectamente el nombre de una variable existente o para
evitar confusiones en el código, donde el alcance de la variable no está
claro.
Ejemplo de la instrucción Option
Explicit En este ejemplo se utiliza la instrucción Option
Explicit para forzar la declaración explícita de todas las variables.
Si se intenta utilizar una variable no declarada se obtiene un error en el
tiempo de compilación. La instrucción Option Explicit sólo se
utiliza en el nivel de módulo.
Option Explicit ' Fuerza la declaración
explícita de variables. Dim MiVar ' Declara la variable. MiEnt = 10
' La variable no declarada genera un error. MiVar = 10 ' La variable
declarada no generará error.
Arriba
SendKeys Envía
una o más pulsaciones de teclas a la ventana activa, como si se hubieran
presionado desde el teclado.
Sintaxis SendKeys string[,
wait]
La sintaxis de la instrucción SendKeys
consta de estos argumentos con nombre:
| Parte |
Descripción |
| string |
Requerido. Expresión de
cadena que especifica las pulsaciones de teclas que se van a
enviar. |
| wait |
Opcional. Valor
Boolean que indica el modo de espera. Si este valor es
False (predeterminado), se devuelve el control al
procedimiento inmediatamente después de enviar las pulsaciones. Si
es True, se procesan las pulsaciones antes de devolver el
control al procedimiento. |
Comentarios Cada tecla está representada
por uno o más caracteres. Para especificar un único carácter del teclado,
se utiliza el carácter propiamente dicho. Por ejemplo, para representar la
letra A, utilice "A" como string. Si se desea representar
más de un carácter, agregue cada carácter adicional al que lo precede.
Para representar las letras A, B y C, utilice "ABC" para
string.
El signo más (+), el símbolo de
intercalación (^), el símbolo de porcentaje (%), la tilde
(~) y los paréntesis ( ) tienen significados especiales para
SendKeys. Para especificar uno de estos caracteres, debe incluirlo
entre llaves. Por ejemplo, para especificar el signo más, utilice
{+}.
Para especificar caracteres que no se muestran
al presionar una tecla (como por ejemplo ENTRAR o TAB) y teclas que
representan acciones, en lugar de caracteres, se utilizan los siguientes
códigos:
Tecla:
| RETROCESO |
{BACKSPACE}, {BS}o
{BKSP} |
| INTER |
{BREAK} |
| BLOQ MAYÚS |
{CAPSLOCK} |
| SUPR |
{DELETE} o
{DEL} |
| FLECHA ABAJO |
{DOWN} |
| FIN |
{END} |
| ENTRAR |
{ENTER}o ~ |
| ESC |
{ESC} |
| AYUDA |
{HELP} |
| INICIO |
{HOME} |
| INSERT |
{INSERT} o
{INS} |
| FLECHA IZQUIERDA |
{LEFT} |
| BLOQ NÚM |
{NUMLOCK} |
| RE PÁG |
{PGDN} |
| AV PÁG |
{PGUP} |
| IMPR PANT |
{PRTSC} |
| FLECHA DERECHA |
{RIGHT} |
| BLOQ DESPL |
{SCROLLLOCK} |
| TAB |
{TAB} |
| FLECHA ARRIBA |
{UP} |
| F1 |
{F1} |
| F2 |
{F2} |
| F3 |
{F3} |
| F4 |
{F4} |
| F5 |
{F5} |
| F6 |
{F6} |
| F7 |
{F7} |
| F8 |
{F8} |
| F9 |
{F9} |
| F10 |
{F10} |
| F11 |
{F11} |
| F12 |
{F12} |
| F13 |
{F13} |
| F14 |
{F14} |
| F15 |
{F15} |
| F16 |
{F16} |
Para especificar teclas con cualquier
combinación de las teclas MAYÚS, CTRL y ALT, introduzca delante del código
de la tecla uno o más de los siguientes códigos:
Tecla
| MAYÚS |
+ |
| CTRL (CONTROL) |
^ |
| ALT |
% |
Para especificar que se debe mantener
presionada una combinación cualquiera de las teclas MAYÚS, CTRL y ALT
mientras se presionan otras teclas, ponga entre paréntesis el código
relativo a esas teclas. Por ejemplo, para especificar que se debe mantener
presionada MAYÚS mientras se presionan las teclas E y C, utilice "+(EC)".
Para especificar que se debe mantener presionada MAYÚS mientras se
presiona la tecla E y que luego se debe presionar C, sin presionar MAYÚS,
utilice "+EC".
Para especificar pulsaciones repetidas de
teclas, utilice el formato {tecla número}. Debe dejar un espacio en blanco
entre tecla y número. Por ejemplo, {LEFT 42} significa que
se debe presionar la tecla FLECHA IZQUIERDA 42 veces; {h 10} significa que
se debe presionar la tecla h 10 veces.
Nota No puede utilizar SendKeys para
enviar pulsaciones de teclas a aplicaciones que no estén diseñadas para
funcionar con Microsoft Windows. SendKeys puede enviar también la
pulsación de la tecla IMPR PANT (PRTSC) a cualquier
aplicación.
Ejemplo de la instrucción SendKeys En
este ejemplo se utiliza la función Shell para ejecutar la
aplicación Calculadora incluida en Microsoft Windows; luego se utiliza la
instrucción SendKeys para enviar pulsaciones de teclas para sumar
algunos números y finalmente se termina la aplicación Calculadora. La
instrucción SendKeys no está disponible en Macintosh. (Para ver el
ejemplo, péguelo en un procedimiento y a continuación, ejecute el
procedimiento. Puesto que AppActivate cambia el enfoque a la aplicación
Calculadora, no puede avanzar paso a paso por el código).
Dim ReturnValue, I ReturnValue =
Shell("Calc.exe", 1) ' Ejecuta la Calculadora. AppActivate ReturnValue
' Activa la Calculadora. For I = 1 To 100 ' Establece un bucle
contador. SendKeys I & "{+}", True ' Envía pulsaciones a la
Calculadora Next I ' para sumar cada valor de I. SendKeys "=", True
' Obtiene el total general. SendKeys "%{F4}", True ' Envía ALT+F4 para
cerrar la Calculadora.
Arriba
Unload Descarga
de memoria un formulario..
Sintaxis Unload objeto
El marcador de posición objeto es el
nombre de un objeto Form.
Comentarios La descarga de un formulario
puede ser necesaria o conveniente en aquellos casos en los que la memoria
utilizada sea necesaria para alguna otra tarea o cuando sea necesario
restablecer las propiedades a sus valores originales.
Antes de descargar un formulario se produce el
evento Query_Unload, seguido del procedimiento de evento Form_Unload. Si
establece el argumento cancelar a True en alguno de estos
eventos no se descargará el formulario.
Nota Cuando se descarga un formulario, sólo
se descarga el componente mostrado. El código asociado al módulo del
formulario permanece en memoria.
Ejemplo de la instrucción Unload Este
ejemplo usa la instrucción Unload para descargar un objeto
Form. Para probar este ejemplo, pegue el código en la sección
Declaraciones de un objeto Form y después ejecute el ejemplo y haga
clic en el objeto Form.
Private Sub Form_Click () Dim Answer, Msg '
Declara la variable. Unload Form1 ' Descarga el formulario. Msg =
"Form1 se ha descargado. Elija "Sí" para cargarlo y " Msg = Msg &
"presentarlo. Elija "No" para cargar el " Msg = Msg & "formulario y
dejarlo invisible." Answer = MsgBox(Msg, vbYesNo) ' Obtiene la
respuesta del usuario. If Answer = vbYes Then ' Evalúa la
respuesta. Show ' Si es Sí, muestra el formulario. Else Load
Form1 ' Si es No, sólo lo carga. Msg = "Form1 se ha cargado. Elija
"Aceptar" para mostrarlo." MsgBox Msg ' Presenta el mensaje. Show '
Muestra el formulario. End If End Sub
Arriba
|