Site hosted by Angelfire.com: Build your free website today!

Instrucciones mas usadas en Visual Basic
[FileCopy]
[Kill]
[MkDir]
[On Error]
[Option Explicit]
[SendKeys]
[Unload]

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