Professional Documents
Culture Documents
Visual Basic es un entorno de desarrollo diseado para la creacin de aplicaciones para los
entornos de trabajo Microsoft Windows 95, 98, NT y 2000.
Este lenguaje a una las posibilidades de un lenguaje de alto nivel con las herramientas de
diseo grfico, lo cual nos d acceso a todas las funciones de los sistemas anteriormente
citados. Los elementos del entrono de desarrollo de Visual Basic son:
Barra de herramientas:
Diseador de formularios
Cuadro de herramientas
En el cuadro de herramientas podemos encontrar un conjunto de herramientas que permiten
insertar los objetos o controles en el formulario durante en tiempo de diseo, los objetos
ms comunes son botones (command), etiqueta (label), cuadros de imagen (Picture),
imgenes (Image), etc.
Si hacemos doble click con el ratn sobre alguno de ellos se insertar automticamente en
la ventana del formulario.
Ventana de propiedades
Los objetos tiene asociados unas propiedades que describen sus atributos, valores,
comportamiento y apariencia del objeto. Las opciones de esta ventana son:
Ventana de proyectos
CAPITULO SEGUNDO
PROGRAMACION EN VISUAL BASIC
Estructuras de Cdigo:
Establecer propiedades
Cuando insertas objetos en un formulario tienes que establecer algunas propiedades que
presenta. Las propiedades son aquellas caractersticas propias del objeto que hacen que se
distingan de otro objeto.
En una aplicacin Windows podemos distinguir diversos tipos de ventanas, aunque lo
normal es identificar una ventana inicial que se puede maximizar o minimizar y uno o ms
cuadros de dilogo cuyo tamao suele ser fijo. Sin embargo, debes darte cuenta que las
barras de herramientas tambin son ventanas de una aplicacin.
Normalmente la ventana inicial o de arranque ser la que presente el men principal,
formado por mens desplegables en uno o ms de un nivel. El resto de ventanas no
deberan contener mens desplegables, aunque puede darse el caso.
Algunas propiedades de los formularios que se pueden establecer en tiempo de diseo son:
BorderSytle: Establece el estilo del borde del formulario.
Caption: Establece el texto que aparece en la barra de ttulo del formulario.
ControlBox: Permite mostrar o no el men de control de las ventanas de Windows.
Enabled: Establece si el formulario puede responder o no a los eventos que generes.
Font: Establece las caractersticas de los objetos de texto que se siten en el formulario.
Icon: Cambia el icono que representa el formulario.
Left, Top, Height, Width: Establecen la posicin del formulario en la pantalla as como las
dimensiones.
MaxButton y MinButton: Establece si se podr maximizar o minimizar el formulario.
MousePointer: Modificar el puntero del ratn.
Visible: Establece si el formulario se mostrar visible en tiempo de ejecucin.
WindowState: Establece el modo en que se carga inicialmente el formulario, normal,
maximizado o minimizado.
Todas esta propiedas estn disponibles en tiempo de diseoa travs de la ventana de
propiedades.
En tiempo de ejecucin se puede cambiar o consultar el valor de algunas propiedades que
slo tienen sentido en el tiempo de desarrollo.
NombreObjeto.NombrePropiedad.
Utilizar Mtodos
El conjunto de eventos est predefinido en Visual Basic por lo cual no puedes crear numevo
eventos para los objetos.
El conjunto de evento reconocibles por un objeto est ligado con los procedimientos de
evento. Estos procedimientos son unidades de cdigo que le permiten especificar la
respuesta que debe dar un objeto ante la ocurrencia de un evento que puede reconocer.
La definicin del procedimiento de envento tiene la siguiente forma:
Private Sub NombreObjeto_NombreEvento([Lista de parmetros])
...intrucciones...
End Sub
CAPITULO TERCERO
TRABAJAR CON MENUS
Editor de menus
Al usar mens se evita ocupar mucho espacio en las ventanas, ya que estos slo aparecen
cuando se despliegan explcitamente. Adems, se pueden crear hasta cinco niveles de
mens, por lo que el nmero de comandos y posibilidades es suficientemente amplio.
En Visual Basic se trabajo con el editor de mens para crear, establecer propiedades y
modificar los menes. Para acceder a l basta con pulsar el siguiente botn en la barra de
herramientas:
Este botn slo estar activo cuando est abierto el formulario, ya que el men siempre est
asociado con un determinado formulario.
El editor de mens presenta las siguientes propiedades que se pueden aplicar sobre los
mens:
Caption: Representa es texto que aparecer en el men.
Name: Es el nombre del control. Se puede anteponer el prefijo mnu ms el texto del ttulo
del men.
Checked: Establece si debe aparecer una marca de verificacin a la izquierda del texto del
objeto del men. La marca la puedes utilizar cuando deseas informar de la opcin que est
activada en un momento determinado.
Enabled: Indica si el objeto podr recibir eventos del usuario. Si tiene el valor False el
elemento aparecer atenuado en el men.
Visible: Indica si el objeto debe mostrarse o no, si se establece este valor a False, los
elementos situados a la derecha ocupan el lugar del elemento no visible.
WindowsList: Establece el valor que determina si un objeto de men mantiene una lista de
las ventanas MDI secundarias del formulario actual.
Utilizando los botones de sangra se puede determinar el nivel del objeto men que quieras
seleccionar. As, los ttulos de men se sitan en el nivel superior, mostrndose en la lista
inferior del editor de mens, lo ms a la izquierda posible.
En muchas aplicaciones se pueden ver unas barras horizontales en los mens desplegables
que realizan la funcin de dividir en secciones dichos mens. Este elemento es conocido
como un separador, y sirve para separar aquellos comandos del men que tengan un motivo
en comn.
Para crear un separador, basta con introducir un guin (-) en la propiedad Caption. No se
puede crear un elemento en un nivel inferior inmediatamente despus de un separador, es
decir, no puedes tener como ttulo de men un separador.
Al introducir el carcter & el men est creando una tecla de acceso a dicho objeto. Esta
tecla se representa subrayada en el texto de men y respresenta la tecla del teclado que el
usuario puede pulsar para ejecutar la accin. Dicha tecla se corresponde con la letra que
sigue al caracter & en la propiedad Caption del objeto men.
Si se trata de un ttulo de men tienes que usar la tecla de acceso en combinacin con la
telca [Alt.]. Una vez abierto un ttulo de men y desplegado sus elementos, para acceder
rpidamente a uno de ellos, puedes usar la tecla de acceso directamente.
Tienes que tener cuidado en no utilizar las mismas teclas de acceso para elementos de un
mismo nivel de men ya que entonces no funcionarn. El editor de men tambin admite la
incorporacin de teclas de mtodo abreviado. Las abreviaturas del men son combinaciones
de teclas que se pueden utilizar en lugar de elegir el elemento del men correspondiente.
Para crear una tecla de mtodo abreviado tienes que utilizar la propiedad Shortcut, a la que
puedes acceder al crear el men desde el editor de mens.
Eventos de men
Menus contextuales
Estos mens aparecen cuando hacemos click con el botn secundario del ratn, y suele
presentar opciones que se corresponden con las acciones ms usuales de la aplicacin.
Este men puede aparecer en cualquier ventana de la aplicacin a diferencia de los mens
anteriores.
Un men contextual no se asocia con un determinado objeto situado en el formulario, al ser
igual que un men desplegable est asociado a un formulario.
Para mostrar un men contextual tienes que usar el mtodo PopupMenu del formulario
donde lo ests creando. La sntaxis es la siguiente:
[objeto].PopupMenu NombreMen[,indicadores[,x[,y[,boldcommand]]]]
Donde los corchetes especifican parmetros opcionales. Si no se especifica el objeto sobre
el que se aplica el mtodo, Visual Basic entender que es sobre el formulario actual.
CAPITULO CUARTO
CUADROS DE DIALOGO
Introduccin
La mayora de las aplicaciones Windows hacen uso de los cuadros de dilogo para
establecer las opciones o introducir informacin que necesitan para realizar una accin
indicada por el usuario.
Otro uso posible de los cuadros de dilogo es presentar informacin al usuario. Los cuadros
de dilogo se caracterizan por ser modales y no permitir poder cambiar el tamao de la
ventana, adems no debern tener una barra de mens desplegables.
En Visual Basic podemos crear tres tipos de cuadros de dilogos: personalizados,
predefinidos y dilogo comn.
Cuadros predefinidos
Nos permite mostrar cinco cuadros de dilogo estndar en las aplicaciones. Estos cuadros
de dilogo son:
Abrir
Guardar Como
Imprimir
Fuente
Color
Tambin podemos hacer uso del control dilogo para llamar al motor de Ayuda de Windows
de forma que pueda presentar el archivo de ayuda en lnea de la aplicacin.
Al crear un objeto dilogo comn, se sita en una posicin y un tamao estndar.
En el caso de quere utilizar el cuadro de dilogo comn Guardar como:
DialogTitle: Es el texto que debe aparecer en la barra de ttulo del cuadro de dilogo.
DefaultExt: Es la extensin con la que se guardar el archivo.
Filter: Indica la extensin de los archivos que deben mostrarse en el cuadro de dilogo.
En el caso de la propiedad Filter se puede indicar que muestre ms de un tipo de archivos.
Para esto se utiliza la sntaxis:
Archivos de Texto|*.txt|Base de datos|*.mdb
Con el ejemplo anterior nos aparecern todos los archivos de texto(*.txt) y los de base de
datos(*.mdb).
CAPITULO QUINTO
CONTROLES BASICOS
Introduccin
Al disear una aplicacin con Visual Basic lo primero que deberemos hacer es planear la
interfaz, que est constituida por el conjunto de formularios que aparecen a lo largo de la
ejecucin de la aplicacin.
Los controles son los elementos grficos que aparecen en los formularios y que sirven para
obtener datos y presentar la salida que produce la aplicacin.
Entre los numerosos controles que presenta Visua Basic caben destacar los bsicos, que
aparecen en casitodas las aplicaciones de Visual Basic como etiquetas, cuadros de texto,
botones de comando, etc... Cada uno de estos controles son tratados como bojetos en Visual
Basic, por lo que no tienes que olvidar que tienen su propio conjunto de propiedades,
mtodos y eventos.
Entrada de datos
Dos controles muy relacionados y que se utilizan en la funcin de entrada de datos son las
etiquetas y los cuadros de texto.
Las etiquetas son controles que nos permiten mostrar texto en los formularios y que tienen
la particularidad de que el usuario no puede modificar.
Las etiquetas son controles que nos permiten mostrar texto en los formularios y que tienen
la particularidad de que el usuario no puede modificar.
El control de etiqueta es:
Los cuadro de texto son el control estndar de entrada de datos en Visual Basic. Permiten al
usuario de la aplicacin introducir informacin.
El control del cuadro de texto es:
Propiedad Definicin
Establece la alineacin del texto
Alignment
de la etiqueta
Autosize Si su valor es True, el tamao de
la etiqueta se adapta
automticamente a su contenido
Texto que se visualiza en la
Caption
etiqueta
Permite o no interactuar con la
Enabled
etiqueta
Establece la fuente, tamao y
Font
htmlecto del texto
Los cuadros de texto son semejantes a las etiquetas, pero con la diferencia que el usuario
puede modificar su contenido. El texto que se introduce puede ser tanto numrico como
alfanumrico (nmeros y letras).
A diferencia de la etiqueta, el tamao del texto es fijo al no permitir la propiedad autosize.
Algunas propiedades del objeto cuadro de texto son:
Propiedad Definicin
Alineación de la
Alignment
informacin introducida.
Permite o no que se puedan
Enabled realizar acciones sobre el
cuadro de texto
Igual que en el caso de las
Font
etiquetas
Permite introducir ms de una
Multiline
lnea de texto en el cuadro
Estable el caracter que se
muestra al realizar una entrada
PasswordChar
en el objeto. Slo se mostrar
dicho caracter
Muestra barras de
ScrollBars
desplazamiento
Establece el orden de
TabIndex tabulacin fijado para el
objeto
Indica si al utilizar el
tabulador se puede desplazar
TabStop
entre los controles del
formulario
Texto que se visualiza en el
Text
control
Etiqueta y cuadro de texto
En las ventanas de entrada de datos es muy comn tener la combinacin de etiqueta y
cuadro de texto, ya que los cuadros de texto no tienen la propiedad Caption que permite
crear teclas de acceso.
Cuando quieras permitir un acceso rpido a cierto cuado de texto, el uso de una etiqueta
asociada es la forma ms sencilla de hacerlo. Utiliza el caracter & en la propiedad Caption
de la etiqueta asociada y se crear la tecla de acceso para el cuadro de texto.
Control Marco
El uso principal de los botones de comando es realizar acciones en la aplicacin. Para poder
llevar a cabo las acciones sobre un botn pulsandon Intro, tienes que dejar su propiedad
Default a True.
Bloquear controles
Cuando estn situados los controles en el formulario se pueden bloquear para que no
puedan moverse de forma accidental.
Para esto deberemos pulsar en la barra de herramientas:
Cuando actives este botn y mientras no desbloques los controles utilizando la misma
opcin no se podrn mover ninguno de los controles del formulario activo.
Sin embargo en si abres otro formulario que no tenga los controles bloqueados si se podrn
mover. Si aades ms controles a un formulario bloqueado estos quedan bloqueados
CAPITULO SEXTO
CONTROLES BASICOS II
Casillas de verificacin
Botones de opcin
Cuadro de lista
Otra forma de presentar las opciones es a travs de una lista donde se sitan dichas
opciones.
De forma predeterminada, las opciones que contiene un cuadro de lista (ListBox), se
presentan verticalmente en una columna, aunque tambin puede establecerse ms de una
columna.
Entre las propiedades del cuadro de lista caben destacar:
ListIndex: Indica el ndice de elementos seleccionado. El primer elemento de la lista tiene
que tener valor 0.
ListCount: Indica el nmero de elementos existentes en la lista en todo momento.
Todas estas propiedades son utilizadas en tiempo de ejecucin cuando se interacta con la
lista. Para indicar que la lista est ordenada se utiliza la propiedad Sorted, con el valor true.
A la hora de agregar elementos a la lista es necesario utilizar un mtetodo de sta. El
mtodo AdItem se encarga de esto.
Para borrar elementos de la lista utilizaremos el mtodo RemoveItem.
CAPITULO SEPTIMO
FUNDAMENTOS DE PROGRAMACION
Variables
Una variable es una ubiacin temporal de memoria donde se almacenan datos que interesan
retener durante la ejecucin de la aplicacin.
Las variables pueden contener texto, valores numricos, fechas o propiedades de cierto
objeto. Es una forma de dar nombre a una porcin de datos con la que deseamos trabajar en
nuestro programa.
Las variables se caracterizan por un nombre que las identifica y por un tipo de datos, que
establece el conjunto de valores posibles que pueden contener y operaciones en las que
puede participar. El valor de una variable puede cambiar a lo largo de la vidad de sta.
Es necesario declarar las variables para poder utilizarlas en el programa. En Visual Basic no
es obligatorio pero si recomendable.
Al declarar una variable se reserva memoria para ella y se indica qu valores puede
contener a travs de su tipo de datos.
Para establecer la declaracin de una variable antes de ser utilizada en el cdigo, puedes
hacerlo en la ficha entorno del cuadro de dilogo opciones.
Al activar la casilla Declaracin de las variables requerida, Visual Basic introduce la
instruccin Option Explicit en la seccin de declaraciones de cada mdulo nuevo que se
cree, no de los ya existentes donde tienes que introducirlos manualmente. Esta instruccin
obliga a declarar las variables antes de utilizarlas, lo que es muy recomendable.
El uso de las variables puede hacer que la aplicacin sea ms rpida, por ejemplo, si usas
muchas veces un determinado valor, es aconsejable guardarlo en una variable y utilizarla
cuando se necesite que tener que volver a escribir cdigo cada vez que quieras llamarla. Es
ms rpido el acceso a las variables que a una propiedad de un objeto, por lo que tambin
Variable = 125
txtNmero.Text = Variable
Hemos establecido una variable de valor numrico. Sin embargo en las anteriores lneas se
haba establecido un valor de texto ya que la propiedad Text es de ese tipo de datos.
En la ltima lnea se vuelve a utilizar la variable como origen de la propiedad Text del
cuadro de texto txtNmero.
Tipo de datos
El tipo de datos de una variable establece el nmero de valores que sta puede tener, as
como el conjunto de operaciones en las que puede tomar parte como operando
En Visual Basic dicho tipo de datos se especifica al declarar la variable de forma que se
guarda espacio en memoria para poder alamacenar los valores de dicho tipo de datos.
Es importante indicar el tipo de datos ya que no todos tienen la misma representacin en
memoria, ocupando distinto espacio fsico.
Visual Basic de forma predeterminada, a no ser que se indique el tipo de datos, establece el
tipo Variant para todas las variables. As, al utilizar una intruccin como Dim
NombreVarialbe, se especifica implcitamente el tipo Variant para dicha variable.
El tipo Variant es un tipo especial de datos que puede contener cualquier clase de datos
excepto cadenas de longitud fija y tipos definidos por el usuario. Al utilizar variables de
este tipo, no hay que preocuparse de efectuar conversiones entre tipos para utilizarlas en
distintos contextos.
Las variables de tipo Variant son muy flexibles, pero ocupan mucha memoria y
disminucin de la velocidad.
Vamos a ver los siguientes tipos de variables:
CAPITULO OCTAVO
FUNDAMENTOS DE PROGRAMACION II
Visual Basic incorpora estructuras de control que permiten controlar el flujo de la ejecucin
de un programa.
Si no existen esta estructures el cdigo se ejecutar de arriba hacia abajo y de derecha a
izquierda segn lo hayas escrito.
Entre las estructuras de control cabe citar las estructuras de decisin y las estructuras de
repeticin.
La instruccin If-Then-Else, es la estructura clsica de decisin y presenta la siguiente
sintaxis:
If condición1 Then
[instrucciones]
[ElseIf condicin2 Then
[instrucciones]]
...
[Else
[instruccionesN]
End If
Donde los corchetes representan partes opcionales de la intruccin. Adems es posible que
existan ms de una clusula ElseIf en la misma instruccin If-Then-Else, por ello los puntos
suspensivos.
Si la condicin 1 se cumple, entonces se ejecutar el bloque de instrucciones 1, en caso
contrario se ejecutar el bloque de instrucciones (2...N-1) de la primera clusula ElseIf
condicin se cumpla. Si finalmente no se cumple ninguna de las condiciones se ejecutara
el bloque de instrucciones N correspondiente a la clusula Else.
La condicin es una expresin, es decir, un conjunto de palabras que se evalan a verdadero
o falso sin posibilidad de poder tener otro valor. Se dice que una condicin se cumple
cuando se evala a verdadero y que fracasa en caso contrario. Las condiciones tambin se
conocen como expresiones lgicas.
Vamos a ver un ejemplo:
El cdigo sera:
Dim moneda
moneda = lstMoneda.ListIndex
If moneda = 0 Then
MsgBox "Peseta"
ElseIf moneda = 1 Then
MsgBox "Dólar"
ElseIf moneda = 2 Then
MsgBox "Franco"
End If
Se utiliza una variable para establecer el valor de una propiedad que indica que la opcin
del cuadro de lista lstMoneda est seleccionado.
Una vez conocida la opcin seleccionada, deberemos sacar el mensaje adecuado, para ello
necesitamos una estructura de decisin.
La intruccin de la clusula Else, slo se ejecuta cuando el resto de condiciones han
fracasado. Cualquiera de los bloques de instruccin puede contener un nmero arbitrario de
instrucciones, incluida la posibilidad de que existan otras instrucciones If-Then-Else.
Cuando existe un gran nmero de instrucciones a evaluar es aconsejable utilizar otra
estructura de decisin, como puede ser las instruccin Select Case.
Esta instruccin no d ms potencia al lenguaje, pero hace que el cdigo sea ms legible y
eficiente. La sntaxis de la instruccin Select Case es:
Select Case expresiónDeComparacin
[Case listaExpresiones]
[intrucciones]
...
Case Else
[intruccionesN]
End Select
Adems, la lista de expresiones de cada clusula Case puede ser mucho ms complicada,
refirindose a ms de un valor o rango de valores:
Case 1 To 9 valores desde el 1 hasta 3l 9
Case 1,2,3 valores 1, 2 y 3
Case 1,2,5 To 12 valores 1, 2 y desde el 5 hasta el 12
Expresiones Logicas
Visual Basic incorpora una serie de operadores de comparacin que nos son tiles a la hora
de establecer condiciones.
=......Igual a
<>....Distinto a
<.....menor que
>.....Mayor que
<=....menor o igual que
>=....Mayor o igual que
Adems existen los llamados operadores lgicos, que nos permiten establecer condiciones
que dependadan de ms de un criterio de seleccin.
Todos los operadores hacen que la expresin en la que se encuentren se evala a verdadero
o falso, sin posibilidad de cualquier otro valor.
Estas expresiones son:
And: exp1 And exp2, donde se evala a verdadero sólo en el caso que el exp1 como
exp2 se evalen a verdadero. En cualquier otro caso se evala a falso.
Or: exp1 Or exp2, donde se evala a verdadero cuando alguna de las expresiones exp1 o
exp2 se evala a verdadero.
Not: Not exp1. aqu se evala a verdadero si exp1 es falso y se evala a falso si exp1 es
verdadero.
Xor: exp1 Xor exp2, se evala a verdadero slo en el caso de que una y slo una de las
expresiones exp1 o exp2 se evala a verdadero
Matriz de controles
Load objeto(ndice)
Donde el objeto se refiere al nombre del control original que dio paso al control de la
matriz e ndice es el lugar que ocupar en la matriz
De la misma forma se puede eliminar un control en tiempo de ejecucin, pero esta vez
usando la instruccin Unlaod.
Estructuras de repeticin
Otro tipo de estructuras que pueden modificar la ejecucin de un programa son las
estructuras de repeticin o bucles. Estas estructuras sirven para repetir una y otra vez un
conjunto de instrucciones.
Existirn dos tipos de estructuras de repeticin: aquellas en las que se conoce el nmero de
repeticiones y aquellas en que dicho nmero se establece durante la ejecucin.
La estructura de repeticin For...Next es adecuada cuando conocemos el nmero de veces
que debe repetirse un conjunto de instrucciones y deseamos reducir la cantidad de cdigo
escrito.
La sntaxis es la siguiente:
Do [While|Until] condicin
[instrucciones]
[Exit Do]
[intrucciones]
Loop
CAPITULO NOVENO
FUNDAMENTOS DE PROGRAMACION III
Tipos de procedimientos>
Los argumentos deben coincidir en la llamada en nmero y tipo con la definicin del
procedimiento. Tanto si se especifica en la llamada un nmero distinto de argumentos como
si alguno de stos no pueden convertirse al tipo declarado en la definicin del
procedimiento, se crear un error de compilacin.
La llamada al procedimiento ser como una instruccin ms del lenguaje, donde se
especifica el nombre del procedimiento seguido sin parntesis, de una lnea de argumentos
que deber coincidir en nmero y tipo con los parmetros de la definicin y que darn valor
a los parmetros para que se ejecute el cuerpo del procedimiento.
Una vez se llega a la instruccin End Sub del procedimiento el fujo de ejecucin vuelve a la
lnea siguiente a la que ocasion la llamada.
NombreVarialbe = NombreFunction(ListaParmetros)
Si quieres utilizar el valor que devuelve el procedimiento Function, tienes que encerrar la
lista de argumentos, en la llamada, con parntesis. Esto no era as en el caso del
procedimiento Sub.
Visual Basic incorpora un gran nmero de funciones que puedes utilizar en tus
aplicaciones, entre ellas cabe destacar MsgBox, InputBox, Date...
Paso de parametros
mbito de la accin
Cuando un proyecto est constituido por distintos mdulos, ya sean de formulario, clase o
mdulos generales de Visual Basic, es importante delimitar dnde se pueden utilizar y
dnde no, los procedimientos, variables y constantes que tengas definidos o declaradas.
El nivel de ocultacin es establecido por el programador al declarar las variables y
constantes o al definir procedimientos utilizando las palabras Pulbic y Private.
Una declaracin de variables de tipo Public NombreVariable As Tipo, indica que dicha
variable puede ser utilizada tanto en el mdulo donde se realiza como en el resto de
mdulos de la aplicacin.
Si la declaracin fuera del tipo Private NombreVariable As Tipo, dicha variable slo podr
ser conocida y por tanto utilizada, en el mismo mdulo donde se declara.
El uso de Public y Private tambin se aplica a la declaracin de procedimientos.
Un caso especial es cuando se declara una variable dentro de un procedimiento, en estos
casos, dichas variables slo pueden ser conocidas por el propio procedimiento, por lo que
no es vlida la declaracin Public de estas.
Adems, si existe conflicto de nombre, al haber declarado dos variables con el mismo
nombre, una a nivel de mdulo y otra a nivel de procedimiento, siempre tiene preferencia la
ms local, es decir, la declarada a nivel de procedimiento.
Al utilizar Dim en la declaracin de las variables, en lugar de Private o Public, la visibilidad
de dichas variables es la que deban tener por defecto: a nivel de mdulo est visible para
todos los procedimientos y a nivel de procedimiento slo para ste.
CAPITULO DECIMO
EFECTOS GRAFICOS
Control Line
La incorporacin de elementos grficos a las aplicaciones hacen que tenga una interfaz ms
amigable para el usuario.
Visual Basic incorpora una serie de controles grficos que permiten la incorporacin de
elementos de este tipo a tus formularios.
Para agregar lneas a los formularios utilizaremos el control Line:
Este control tiene pocas propiedades, se puede establecer el grosor, mediante la propiedad
BorderWidth o el color mediante BorderColor. Tambin se puede cambiar el estilo de la
lnea con la propiedad BorderStyle.
Control Shape
Con el control Shape (Forma), podemos dibujar distintas figuras como crculos, rectgulos,
valos...
Para agregar figuras a los formularios utilizaremos el control Shape:
La apariencia inicial de un objeto Shape es siempre un rectgulo. Dicha caracterstica se
establece a travs de la propiedad Shape.
Otra propiedad interesante de este control es el relleno de las figuras que estableceremos
con la propiedad FillStyle.
Tambin, mediante la propiedad FillColor podrs establecer el color de dicho relleno, el
color de los bordes con BorderColor.
Visual Basic permite que el programador indique cundo y cmo un control puede ser
arrastrado con el ratn por la ventana en la que se encuentra.
Los controles situados en la ventana podrn darse cuenta que un determinado control puede
est siendo arrastrado por encima de ellos, permitindoles responder de la forma adecuada.
Si quieres permitir que el usuario de la aplicacin pueda arrastrar un control en tiempo de
ejecucin puedes hacerlo de dos formas: realizar un arrastre automtico o controlar cundo
debe empezar dicho arrastre. Esto se controla mediante la propiedad DragMode del objeto
que quieres arrastrar.
Esta propiedad tiene dos valores: manual y automtico. En el primer caso tienes que
controlar cundo debe permitirse arrastrar el control. Normalmente esto depende de alguna
circunstancia que ser comprobada cuando se pulse en dicho control, es decir, en el evento
MouseDown.
Otra circunstancia que hay que tener en cuenta a la hora de arrastrar un objeto es el
htmlecto que tendr el puntero del ratn cuando lo haga. Si no se especifica nada en la
propiedad DragIcon, Visual Basic muestra un icono como puntero del ratn, que es el
contorno del objeto arrastrado. Normalmente te interesar mostrar un icono distinto
indicando la accin de arrastrar el objeto.
DragMode y DragIcon son las dos propiedades que tienes que tener en cuenta a la hora de
permitir el arrastre de objetos en la aplicacin. Tambin hay que tener en cuenta el evento
DragOver, sucede cuando el usuario arrastra un objeto por encima de otro, en este ltimo,
es decir el destino, el que reconoce el eveto DragOver. El procedimiento de evento
DragOver trabaja con cuatro parmetros: Source X, Y y State. El parmetro Source
representa el control que est siendo arrastrado, siendo X e Y la posicin exacta en la que se
encuentra.
El parmetro State indica si el movimiento del ratn, al realizar el arrastre, es para entrar en
el objeto destino o para salir del mismo. Todos esto parmetros estn situados en la
cabecera del procedimiento DragOver.
Si State tiene un valor 0, entonces el movimiento del objeto que est siendo arrastrado es
para entrar en el objeto que reconoce el DragOver. En el caso de que State sea igual a 1, el
movimiento de arrastre es hacia afuera, es decir, saliendo. Utilizando el valor de ste
parmetro podrs decidir qu debe ocurrir.
Cuando el usuario de una aplicacin pulsa con el ratn en un objeto y lo mueve, est
haciendo un arrastre o drag del objeto.
Cuando decide soltar el botn del ratn se dice que est colocando el objeto o que est
haciendo un drop. Cuando esto sucede, el evento DragDrop es generado y reconocido por el
objeto sobre el que se ha soltado.
Existe la posibilidad de que el usuario suelte el ratn sobre otro objeto o que lo haga en una
zona del formulario vaca, en este caso es el formulario el que reconoce el evento DragDrop
o el objeto sobre el que se ha soltado.
El procedimiento DragDrop posee en su cabecera tres parmetros que tienen el mismo
significado que en el caso DragOver: Source, X e Y.
Debes decidir qu sucede cuando el ususario arrastra un objeto y lo suelta sobre otro. El
hecho de soltarlo en una posicin distinta a la que se encontraba no implica absolutamente
nada, es decir, el objeto no cambiar de posicin si no lo indicas expresamente a travs de
la programacin.
Vamos a ver un ejemplo de procedimiento evento DragDrop en el que se indica qu debe
ocurrir cuando soltamos el objeto identificado por la cadena "Disquete" en su propiedad
Tag:
En este caso aumentars el tamao del control destino hacindolo a travs de sus
propiedades Heihgt y Width
CAPITULO DECIMOPRIMERO
EL ADMINISTRADOR DE DATOS
Introduccion
Visual Basic puede acceder a distintos tipos de bases de datos. El acceso ms sencillo es a
una base de datos creada con el MotorJet que incorpora Visual Basic y que es compartido
por Access, es decir, si quieres crear una base de datos con Access o en el Administrado de
datos de Visual Basic el acceso a la misma ser inmediato.
Otro tipo de bases de datos con las que se puede acceder con Visual Basic son las llamadas
bases de datos ISAM (Mtodo Secuencial Indexado), entre las que se incluyen Btrive,
dBASE, Foxpro y Paradox
El otro tipo de acceso es a una base de datos compatible con ODCB (Conectividad abierta
de bases de datos), en las que es necesario un controlador ODCB para el tipo especfico de
base de datos. Si tienes dicho controlador el acceso tambin ser inmediato.
El MotorJet de Visual Basic es un completo sistema gestor de bases de datos con el que se
puede crear y manipular una base de datos.
La creacin de una base de datos es un proceso en el cual podemos diferenciar dos partes:
El anlisis y el diseo
Se realiza el anlisis de la base de datos cuando se piensa en qu se necesita almacenar para
tenerlo disponible en cualquier momento.
El diseo es el proceso dependiente del tipo de base de datos que vayamos a utilizar, que
casi con toda seguridad ser relacional. Al crear una base de datos relacional tienes que
trabajar con tablas, registros, campos, ndices, etc.
Conocer el administrador
Visual Basic incorpora el Administrador de datos con el que puedes crear y establecer las
propiedades de las tablas que conformen la base de datos.
Sin embargo, si tienes Microsofr Access es recomendable utilizarlo en lugar del
Administrador de Datos, ya que genera el mismo tipo de base de datos pero con una
facilidad y flexibilidad mucho mayor.
Para acceder al Administrador de Datos lo haremos mediante la opcin de mismo nombre
en el men Complementos.
El administrador de datos nos permite modificar una base de datos ya creada o crear una
nueva. Una base de datos creada con el MotorJet est compuesta por un nico archivo con
extensin *.MDB. Una base de datos MDB se compone de un conjunto de tablas y de
QueryDef. Las tablas son la estructura fundamental de las bases de datos, formadas por
distintos campos y sus valores en los registros introducidos. Las QueryDef son
instrucciones SQL, que han sido guardadas con un nombre al tener inters en utilizarlas en
futuras ocasiones.
SQL es un lenguaje que nos permite entre otras cosas extraer resultados de una base de
datos.
Lo primero que tienes que hacer para crear una base de datos es indicar dnde se guardar
el archivo y darle un nombre vlido.
Una vez hayas creado el archivo de la base de datos, es el momento de ir construyendo las
tablas que formarn la misma.
Tienes que introducir el nombre de la nueva tabla, los campos que quieres que aparezcan en
la aplicacin. Puedes utilizar ms de una tabla para los nombres de los campos.
Debers seleccionar el o los campos que quieras incluir y pasarlos a campos seleccionados.
CAPITULO DECIMOSEGUNDO
ACCESO A BASES DE DATOS
Control Data
Con el control Data, podemos acceder a una base de datos, mostrar su informacin,
introducir nuevos registros, etc, y todo sin programar ni una sla lnea de cdigo
Los pasos a seguir para utilizar una base de datos en Visual Basic son:
a.- Dibujar el control data y establecer la conexin a la base de datos apropiada.
b.- Utilizar otros controles para manejar la informacin. Estos controles son conocidos
como controles enlazados, al depender del control data como origen de los datos que
muestran.
El control data posee varios controles al estilo de un reproductor de vdeo para acceder a los
registros anterior, posterior, primero y ltimo.
Las propiedades del control data que tienes que establecer para realizar la conexin con la
base de datos son:
Connect: Indica el tipo de base de datos a la que vamos a acceder. Por omisin es Access.
DatabaseName: Indica el archivo de base de datos a la que se quiere acceder indicando la
ubicacin exacta del archivo.
RecordSource: Permite indicar el conjunto de datos especfico de la base de datos indicada
en la anterior propiedad. Normalmente ser el nombre de una tabla de la base de datos o
una instruccin SQL.
Estableciendo adecuadamente el valor de estas tres propiedades tendremos la conexin con
la base de datos que queramos.
Si conoces la base de datos y el conjunto de datos a los que quieres tener acceso en tiempo
de diseo puedes utilizar la ventana de propiedades para establecer estas propiedades, en
caso contrario lo puedes hacer con cdigo escrito.
Controles enlazados
Una vez establecida la conexin a la base de datos e indicando el conjunto de datos a los
que vamos a tener acceso mediante el control data, es necesario utilizar otros controles para
mostrar o introducir dicha informacin.
Estos controles son conocidos como controles enlazados, ya que el origen de la informacin
que muestran esta ligado a un determinado control data.
Normalmente se utilizan cuadro de texto, cuadros de lista e incluso controles imagen para
mostrar el contenido de la base de datos a la que quieres acceder. Todos estos controles
pueden actuar como controles enlazados.
Exciten dos propiedades que tienes que modificar para enlazar los controles con el control
data:
DataSource: Indicaremos el control data que actuar como origen de los datos.
DataField: Campo especfico al que se enlaza el control.
Por ejemplo:
txtNombre.DataSource = datEmpleados
txtNombre.DataField = "Nombre"
Aqu se indica que se ligue el control txtNombre al campo Nombre de la tabla Empleados
que se accede mediante el control data (datEmpleados). Este control deber tener
correctamente establecidas las tres propiedades anteriormente citadas
Recordsets
Al utilizar un control data y establecer la conexin con la base de datos, ests indicando el
conjunto de datos sobre los que quieres tener acceso. En Visual Basic a dicho conjunto de
datos se les denomina RecordSet, siendo una propiedad del control data.
Existen tres tipos de Recordset: Table, Dynaset y Snapsoht. Dicho tipo se establece
mediante la propiedad RecordsetType del control data, que predeterminadamente tiene el
valor Dynaset.
Un Recordset tipo Dynaset es un conjunto dinmico de registros que representan una
determinada tabla o el resultado de una consulta, segn se haya establecido la propiedad
RecordSource del control data. Puedes agregar nuevos registros, modificar los campos
existentes e incluso eliminar registros y todos estos cambios se reflejan en la base de datos
afectada.
Un Recordset de tipo Table representa una determinada tabla de base de datos. Al crear un
Recordset de este tipo estars representando dicha tabla, cargndose en memoria un solo
registro que se corresponde con el registro actual. Toda modificacin que se realice se ver
reflejada en la tabla.
Finalmente el tipo Snapshot crea una copia esttica del conjunto de datos al que se accede
mediante el control data. En este caso no puedes actualizar la base de datos, slo puedes
visualizar los datos obtenidos.
Aadir registros
Se pueden agregar nuevo registros a la base de datos sin tener que programar para ello. En
este caso tienes que situarte en el ltimo registro y moverte al siguiente.
Si estableces correctamente la propiedad EOFAction al realizar dicha accin se crear un
nuevo registro al que se le puede introducir nueva informacin.
La propiedad EOFAction puede tener tres valores y nos indica lo que debe ocurrir cuando
se llega al final de un Recordset del control data:
Si EOFAction tiene un valor MoveLast, mantiene el ltimo registro como registro actual sin
desplazarse al siguiente registro, que no existe, aunque pulsemos el botn del control data
para desplazarnos al prximo registro.
Si el valor EOFAction deja el registro actual invalidado (ya que dicho registro todava no
existe), y desactivas el botn que nos permite desplazarnos al siguiente tienes que controlar
esta situacin mediante cdigo ya que cualquier intento de acceder a la informacin del
registro actual producir un error al no ser un registro vlido.
Si EOFAction posee el valor AddNew, esntonces cuando te desplaces ms all del ltimo
registro, Visual Basic crear un registro nuevo en la base de datos, donde puedes introducir
la nueva informacin.
El valor AddNew es el que nos permite aadir nuevos registros a la base de datos sin tener
que programar para ello. Para crear un nuevo registro tienes que sobrepasar el ltimo
registro que tengas en esos momentos, entonces Visual Basic limpiar el valor de los
controles enlazados permitindote introducir la informacin del nuevo registro. Cuando te
muevas a otro registro se aadir a la base de datos.
Al igual que se puede indicar que debe ocurrir cuando se llegue al final de un recordset,
tambin podrs hacerlo cuando se llega al principo mediante la propieda BOFAction del
control data de la misma forma que EOFAction
CAPITULO DECIMOTERCERO
PROGRAMAR CON BASES DE DATOS
Moverse por un recordset
El control data nos permite movernos por un recordset de una forma rpida y sencilla a
travs de sus botones. Sin embargo en muchas ocasiones tendrs que escribir cdigo en el
que es necesario moverse a un determinado registro rpidamente.
Para ello es necesario entender que aunque un recordset es una propiedad de control data,
tambin tiene carcter de objeto, por lo que sern aplicables otras propiedades y mtodos.
La forma de hacerlo ser con la sintaxis estndar.
NombreControlData.Recordset.NombrePropiedad
NombreControlData.Recordset.NombreMtodo
Los mtodos que puedes utilizar para desplazarte por un recordset son:
Buscar registros
Para buscar registros puedes utilizar los mtodos Find cuando trabajes con recordset de tipo
Dynaset o Snapshot, o utilizar el mtodo Seek para un recordset de un tipo Table.
El mtodo Find presenta cuatro variantes:
Veamos un ejemplo:
With.datEmpleados
.Recordset.FindFirst "Nombre = ' " & txt.Nombre.Text & "'"
If Recordset.NoMatch Then
MsgBox "Lo siento no es un nombre de empleado vlido"
Exit Sub
End If
End With
Mediante el uso de la estructura With nos evitamos tener que repetir cdigo. As no ser
necesario escribir la estructura datEmpleados hasta que lleguemos a End With.
En la lnea .Recordset.FindFirst "Nombre = ' " & txt.Nombre.Text & "'" es donde se
produce la bsqueda de un determinado registro del recordset.
Al utilizar el mtodo FindFirst se est indicando que se efecte la bsqueda del primer
registro cuyo valor en el campo Nombre coincide con el valor que se ha introducido en el
txtNombre.
Con el uso del operador & concatenamos para crear el criterio de bsqueda, si por ejemplo
se hubiera introducido el valor Coral en el cuadro de texto, esta lnea quedara de la
siguiente forma:
datEmpleados.Recordset.FindFirst "Nombre='busqueda'"
Luego utilizamos el mtodo Nomatch del recordset para comprobar, una vez realizada la
bsqueda, si se ha encontrado un registro o no. Si no se ha encontrado el registro, el mtodo
nomatch devolver True por lo que se mostrar un menseja mediante el MsgBox y se saldr
del procedimiento utilizando el mtodo Exit Sub.
Aadir registros
El valor AddNew en la propiedad EOFAction del control data nos permita agregar
registros, pero esta forma slo es adecuada cuando estamos accediendo a una nica tabla en
el recordset.
El objeto recordset contiene el mtodo AddNew que permite la creacin de un registro
nuevo en blanco donde puedes asignar los valores a sus campos.
Una vez introducida dicha informacin, tendrs que hacer uso del mtodo Update del
recordset, con el objetivo de que el nuevo registro se actualice en la tabla. Si no utilizas
Update el nuevo registro no se agregar finalmente.
El cdigo ser:
datEmpleados.Recordset.Update
La propiedad Bookmark se usa para saltar rpidamente al nuevo registro indicado por el
marcador LasrModified. Boolmark te permite guardar el puntero del registro actual y
colocarse rpidamente en un registro especfico.
El cdigo ser:
Eliminar registros
Mediante el mtodo Delete, puedes borrar un registro entero de un recordset. En este caso
te tienes que situar en el registro y hacer uso de ste mtodo.
Tienes que tener cuidado a la hora de eliminar un registro, ya que el registro actual sigue
siendo el registro eliminado, por lo que cualquier intento de acceder a la informacin del
registro actual provocar un error de ejecucin.
Para evitar ste problema es conveniente desplazarno a un registro vlido una vez hayas
utilizado el mtodo. No es necesario el uso de Update para hacer efectiva la eliminacin.
Un cdigo de ejemplo sera
If datEmpleados.Recordset.EOF = False
datEmpleados.Recordset.Delete
If datEmpleados.Recordset.EOF = True Then
cmdEliminar.Enabled = True
End If
datEmpleados.Recordset.MoveLast
End If
CAPITULO DECIMOCUARTO
OPCIONES AVANZADAS DE BASES DE DATOS
Consultas en SQL
SELECT -columnas-
FORM -tablas-
[WHERE -condiciones-]
[ORDER BY -columnas-]
SELECT Nombre
FORM Empleados
Se especifica que se muestre el campo Nombre de los registros que pertenecen a la tabla
Empleados.
Si quieres que se muestra ms de un campo, hay que separarlos por comas, y si quieres que
se muestren todos los campos de una tabla se puede utilzar el carter *. As, la consulta
devolver todos los campos de la tabla Empleados
En esta caso se est pidiendo que se muestren los campos Nombre y TiempoAlta de los
registros situados en la tabla Empleados y cuyo Puesto exista en algn registro de la tabla
Puesto.
Si se utilizan ms de una tabla de consultas es conveniente indicar el nombre de la tabla en
la clusula SELECT junto al nombre del campo que quieres mostrar, por que las dos tablas
podran tener el mismo nombre para uno o ms campos
Si el nombre de un campo est compuesto por ms de una palabra, tienes que utilizar
corchetes para delimitarlo.
Todas las tablas implicadas aparecen en la clusula FORM separadas por comas.
La clusula WHERE presenta el criterio de comparacin.
Cuando se intereactua con el control data en un formulario podemos utilizar alguno de sus
eventos para establecer niveles de validacin de los datos que se han introducido o
modificado.
El evento ms utilizado es validate. Sucede siempre antes de que el registro actual cambie.
Veamos un ejemplo:
CAPITULO DECIMOQUINTO
TRABAJAR CON ARCHIVOS
Controles especializados
Al cuadro de lista de unidades (figura superior), tienes que darle un tamao adecuado para
que se pueda mostrar cualquier unidad que tengas en tu ordenador. En tiempo de diseo se
muestra la etiqueta de la unidad del disco duro de forma que puedas ajustar el control al
tamao de la misma.
Este control incluye las unidades de disco duro, disco flexible y Cd-Rom, etc...
El cuadro de lista de directorios nos permite mostrar los directorios del sistema de archivos
del ordenador.
Es conveniente que este control muestre tres o cuatro carpetas o directorios. En tiempo de
diseo muestra la carpeta en la que se inicia la apliacin y en la que por defecto se guarda
el proyecto
En tiempo de diseo, al dibujar los distintos controles del sistema de archivos, estos
muestran la unidad y el directorio en la que se crea el proyecto como he comentado
anteriormente. En tiempo de ejecucin el usuario puede cambiar la unidad y el directorio o
carpeta y esta situacin no se ver reflejada si no se escribe cdigo.
Para que los controles estn sincronizados es necesario conectarlos.
El evento predeterminado del control cuadro de lista de unidades es Change. Este evento
sucede cuando el usuario despliega la lista de unidades y selecciona una unidad distinta a la
actual, por lo que es el evento adecuado para actualizar la lista de directorios de la siguiente
forma:
Para el control cuadro de lista de directorios deberemos hacer algo parecido, el cdigo ser
el siguiente:
De esta forma tenemos conectados los tres controles de acceso al sistema de archivos.
Cuando se escribe cdigo en tiempo de diseo, Visual Basic puede detectar errores y avisar
de ellos. Posteriormente se pueden detectar ms errores en tiempo de compilacin, estos
errores son de carcter semntico. Los errores en tiempo de ejecucin son sucesos
inesperados que Visual Basic no puede controlar por s mismo.
Ante este tipo de errores existe la posibilidad de incorporar un manejador o controlador
de errores, que son un conjunto de lneas de cdigo que slo se ejecutan cuando se produce
un error que es interceptado por Visual Basic.
Se deben de escribir manejadores de errores siempre que se pueda prever la ocurrencia de
un error en tiempo de ejecucin. Alguna de estas situaciones son:
- Problemas con las unidades de disco flexible.
- Desbordamientos.
- Falta de memoria.
- Problemas con la red.
- Perifricos.
- Errores lgicos (nombre de archivo mal escrito...)
La instruccin que nos permite detectar errores en tiempo de ejecucin es On Error. Su
sntaxis es: On Error Goto Etiqueta, donde la etiqueta representa el nombre del
manejador de error, que tiene que estar situado en el mismo procedimiento que la
instruccin On Error. Cuando se produce un error en el procedimiento donde se coloca On
Error, Visual Basic dar el control al manejador de errores escrito en dicho procedimiento.
El cdigo puede ser:
ManejadorError:
If Err.Number = 68 Then
resp = MsgBox("El dispositivo no est preperado", vbAbortRetryIgnore)
Resume
ElseIf resp = vbAbort Then
Drive1.Drive = Dir1.Ptah
Resume Next
End If
End If
CAPITULO DECIMOSEXTO
TRABAJAR CON ARCHIVOS II
Archivos de texto
Vamos a escribir cdigo para cuando el usuario haga click en un archivo de la lista de
archivos (captulo 15), su contenido se muestre en un cuadro de texto.
El cdigo puede ser el siguiente:
La fuente es el archivo que queremos copiar y el destino es el archivo que ser resultado de
la copia.
El archivo fuente tiene que estar cerrado antes de utilizar esta instruccin ya que en caso
contrario se producir un error en tiempo de ejecucin. Con la instruccin FileCopy puedes
copiar cualquier archivo independientemente de su tipo
CAPITULO DECIMOSEPTIMO
UTILIZACION DE OLE
Introduccion
El contenedor OLE
Mediante el uso del control contenedor OLE, puedes crear formularios de Visual Basic en
los que se incluya informacin proveniente de distintas aplicaciones Windows.
En este cuadro nos aparecen los distintos tipos de objetos que podemos insertar en el
formulario. Estos objetos provienen de las aplicaciones compatibles con OLE que tengas
instaladas en tu equipo.
Cuando una aplicacin se instala en un ordenador queda registrada en el Registro de
Windows. Este registro es como una base de datos don Windows guarda informacin
referente a las aplicaciones que tiene instaladas. Entre otras cosas se guardan los objetos
insertables que ofrecen dichas aplicaciones y que despus nos aparecern en el cuadro de
dilogo insertar objeto.
Se puede insertar en un formulario un objeto utilizando la opcin Cerrar Nuevo o utilizar
uno ya existente mediante la opcin cerrar desde archivo. En este ltimo caso tienes que
especificar el archivo que posee el objeto a insertar.
Si quieres que el objeto insertado aparezca en el formulario como un icono, puedes activar
la casilla mostrar como icono del cuadro de dilogo insertar objeto.
Puedes indicar que el objeto sea incrustado o vinculado. Al incrustar un objeto se crea una
copia y se guarda en la aplicacin Visual Basic, por lo que slo se podr usar en esta.
Al vincular un objeto, ste sigue estando almacenado en el archivo original, guardndose en
la aplicacin una referencia al mismo y no el objeto en s.
Cuando insertas un objeto a travs del control contenedor OLE, ests en disposicin de
editar el objeto con la aplicacin creadora del mismo. Para ello lo nico que tienes que
hacer es doble click sobre el objeto.
Al activar el objeto haciendo doble click, la aplicacin servidora es iniciada y el usuario
puede interactuar con ella utilizando toda la funcionalidad que presente.
En este sentido es importante indicar aplicaciones que permitan que la edicin sea en el
propio control contenedor (Edicin Visual), y otras en la que la edicin se produce en una
ventana independiente.
Para que la edicin del objeto sea en el propio contenedor OLE, es necesario haber
incrustado el objeto, ya que toda vinculacin producir que la aplicacin servidora se
muestre en una ventana independiente. Por otra parte, si el objeto se representa como un
icono en el formulario, tambin se presentar en una ventana independiente la aplicacin
servidora.
Cuando la aplicacin servidora se muestra en una ventana independiente, no existen
problemas para presentar los mens y barras de herramientas de la misma.
Pero si el formulario donde has insertado un objeto posee mens o barras de herramientas y
la edicin del objeto se produce en el propio contenedor, tienes que negociar dichos
elementos, es decir, tienes que indicar como se han de mostrar.
Si quieres que los mens de la aplicacin servidora se muestren al editar el objeto, es
necesario que el formulario donde est insertado el objeto posea un elemento de men,
aunque est no visible. Adems en el editor de mens puedes especificar en qu posicin
deben de mostrarse cuando se edite el objeto en el contenedor OLE.
La propiedad NegociatePosition que aparece en el editor de mens, establece la posicin
de los elementos del men de nuestro formulario.
Puede tener los siguientes valores:
- 0: Indica que dicho elemento del men se ver cuando se edite el objeto, mostrndose
nicamente el men de la aplicacin servidora.
- 1, 2 y 3: Establece donde se mostrar, pudiendo ser a la izquierda, centro o derecha.
Objetos insertables
Algunas aplicaciones proporcionan objetos que pueden utilzarse como controles
personalizados en Visual Basic.
De esta forma se pueden agregar a la caja de herramientas de Visual Basic sin tener que
utilizar el control contenerdor OLE.
Para esto utilizaremos el el men contextual de la caja de herramientas o elegir Controles
personalizados en el men de herramientas.
Activa las casillas de los objetos que utilzas normalmente en tus aplicaciones y ya no ser
necesario utilizar el control contenedor OLE, insertando el objeto especfico de una forma
directa a travs de los botones de la caja de herramientas que aparecen para ello.
Adems es posible que una aplicacin aporte ms de un tipo de objeto insertable. Por
ejemplo, Excel permite la insercin de objetos hoja de clculo y grficos.
Tienes que tener en cuenta que al utilizar un objeto insertable como control personalizado
en la caja de herramientas, slo puedes incrustar un objeto nuevo ya que no tienes la opcin
de utilizar un archivo existente, pero si puedes editarlo en tiempo de ejecucin, aplicando
las mismas reglas que en el caso del control contenedor OLE
Automatizacion OLE
Dim x As Object
Set x = CreateObject ("Word.Basic")
x.ArchivoNuevo
x.TamaoFuente 24
x.Insertar "Uso de la Automatizacin OLE"
.En el ejemplo anterior se puede observar un fragmento de cdigo donde se crea un objeto
Word, se utiliza un mtodo para crear un nuevo archivo, se establece la propiedad tamao
de fuente a 24 puntos y se inserta texto en el punto de insercin.