Está en la página 1de 25

Mtodo en .

NET
Framework
Descripcin
Abs Devuelve el valor absoluto de un nmero.
Acos Devuelve el ngulo cuyo coseno es el nmero especificado.
Asin Devuelve el ngulo cuyo seno es el nmero especificado.
Atan Devuelve el ngulo cuya tangente corresponde al nmero especificado.
Atan2 Devuelve el ngulo cuya tangente es el cociente de dos nmeros especificados.
BigMul Devuelve el producto completo de dos nmeros de 32 bits.
Ceiling Devuelve el valor entero ms pequeo que es mayor o igual Decimal especificado o Double.
Cos Devuelve el coseno del ngulo especificado.
Cosh Devuelve el coseno hiperblico del ngulo especificado.
DivRem Devuelve el cociente de dos de 32 bits o de enteros con signo de 64 bits, y tambin devuelve el resto de un parmetro de salida.
Exp Devuelve e (base de los logaritmos naturales) se produce a la potencia especificado.
Floor Devuelve el entero ms grande que sea menor o igual que Decimal o el nmero especificado de Double.
IEEERemainder Devuelve el resto que es el resultado de la divisin de un nmero especificado por otro nmero especificado.
Log Devuelve el logaritmo natural (de e base) de un nmero especificado o el logaritmo de un nmero especificado en una base
especificada.
Log10 Devuelve el logaritmo en base 10 de un nmero especificado.
Max Devuelve el mayor de dos nmeros.
Min Devuelve el menor de dos nmeros.
Pow Devuelve un nmero especificado elevado a la potencia especificada.
Round Devuelve un valor de Decimal o de Double redondeado al valor entero ms cercano o a un nmero especificado de dgitos
fraccionarios.
Sign Devuelve un valor Integer que indica el signo de un nmero.
Sin Devuelve el seno del ngulo especificado.
Sinh Devuelve el seno hiperblico del ngulo especificado.
Sqrt Devuelve la raz cuadrada de un nmero especificado.
Tan Devuelve la tangente del ngulo especificado.
Tanh Devuelve la tangente hiperblica del ngulo especificado.
Truncate Calcula la parte entera de Decimal o un nmero especificado de Double.



El lenguaje de Visual Basic (I)
En este captulo asumimos que se tienen unas bases mnimas de
programacin, por lo que realizaremos un recorrido por la sintaxis bsica
del lenguaje.
Declaracin de variables
Para declarar una variable usaremos la construccin: Dim NombreVariable As
Tipo donde NombreVariable es un nombre vlido de variable (caracteres
alfanumricos y subrayado comenzando por carcter y teniendo como
mximo 255 caracteres) y Tipo es uno de los tipos de variable definidos por
Visual Basic. Los tipos de variable disponibles figuran en la siguiente tabla:
Tipo Rango de valores
Boolean True a False
Byte Valores enteros de 0 a 255
Integer Enteros de -32768 a 32767
Long Entero largo, de -2147483648 a 2147483647
Single Nmero en coma flotante de simple precisin
Double Nmero en coma flotante de doble precisin
Currency Moneda
String Cadena; puede tener longitud fija o variable
Date Fechas desde el 1/1/100 hasta el 31/12/9999
Object Referencias a objetos
Variant
Tipo de dato variable; puede ser cualquiera de los
anteriores
Hemos visto que las cadenas pueden ser de longitud fija o variable. Para
declarar una cadena de longitud variable haremos Dim NombreVariable As
String mientras que para declarar una cadena de longitud fija haremos, por
ejemplo, Dim NombreVariable As String*15 (esto creara una cadena de 15
caracteres).
Si tenemos que declarar ms de una variable usaremos la sintaxis:
Dim Var1 As Tipo, Var2 As Tipo, ..., VarN As Tipo
aunque los tipos sean iguales. De no ser as, la variable que no tenga el
tipo especificado se asumir que es un Variant.
Declaracin de arrays
Un array es una coleccin de elementos del mismo tipo. Para referirnos a
un elemento en concreto de dicha coleccin, usamos un ndice que nos
posiciona en el elemento requerido. Declararemos arrays de la siguiente
forma: Dim MiArray(NumElementos) As Tipo, por ejemplo: Dim MiArray(20) As
Integer. Esto creara un array de 21 elementos de tipo Integer. 21? No
sera 20?. No; Visual Basic empieza a numerar los arrays desde el elemento
0. En nuestro ejemplo, el primer elemento del array es MiArray(0), el
segundo es MiArray(1), el tercero MiArray(2) y as hasta llegar a
MiArray(20). Si queremos que Visual Basic empiece a contar a partir del 1,
tendremos que usar la declaracin Option Base 1 (por defecto se asume
Option Base 0). Tambin podemos definir rangos para crear arrays, por
medio de la construccin To, por ejemplo: Dim MiArray(-3 To 7), que tendra
11 elementos. Para acceder al elemento i-simo del array usaremos la
notacin MiArray(i), donde i es la posicin a la que queremos acceder.
Arrays multidimensionales
Para definir arrays multidimensionales, separaremos por comas la cantidad
de elementos que vamos a tener en cada dimensin. Por ejemplo, Dim
MiArray(10,20) As Integer creara un array bidimensional de 11 filas y 21
columnas (o 10 y 20, si hemos declarado Option Base 1). Para acceder al
elemento (i, j) usaremos la notacin anloga al caso de los arrays
unidimensionales (los que hemos visto en el punto anterior):MiArray(3,4).
Estaramos accediendo a la fila 3, columna 4. Podemos declarar arrays
multidimensionales usando rangos, por ejemplo: Dim MiArray(-1 To 12, 2
To 20, 0 To 15) As Integer
Tipos definidos por el usuario
Para definir nuestros propios tipos usaremos la construccin Type, que tiene
la forma:
Type MiTipo
Var1 As Tipo
Var2 As Tipo
...
VarN As Tipo
End Type
Por ejemplo:
Type TAlumno
Nombre As String
Apellidos As String
Curso As Integer
FNacimiento As Date
End Type
Luego declararemos variables de este tipo como si fuera un tipo simple. Por
ejemplo, con nuestro tipo TAlumno definido antes declararamos: Dim
Alumnos(30) As TAlumno. Estaramos declarando un array de 31 (o 30)
variables de tipo TAlumno. Para acceder a un campo concreto de esta
estructura usaremos el operador ., por ejemplo, para acceder al curso del
alumno 23: Alumno(23).Curso.
Podemos usar la construccin With para omitir el nombre de la variable
principal y acceder directamente a los campos. Se ver mejor con un
ejemplo:
Dim Alumno As TAlumno

With Alumno
.Nombre = "Pepe"
.Apellidos = "Garca"
.Curso = 3
.FNacimiento = #12/12/1983#
End With
mbito de las variables
Como en todos los lenguajes de programacin, la declaracin de una
variable en un procedimiento es local a ese procedimiento. Dos
procedimientos podrn pues usar el mismo nombre de variable sin entrar
en conflicto sus valores. Sin embargo, si declaramos una variable global y
dentro de un procedimiento una variable con el mismo nombre, las
modificaciones se harn sobre la variable local al procedimiento y no sobre
la variable global. Debemos pues ser cuidadosos con los nombres de las
variables para asegurarnos de que estamos modificando la que queremos.
Conversiones
Visual Basic nos da las siguientes funciones para conversin de tipos:
Funcin Tipo resultante
CBool Boolean
CByte Byte
CInt Integer
CLng Long
CSng Single
CDbl Double
CStr String
CDate Date
CVar Variant
Por ejemplo, podemos hacer:
Dim Numero As Integer
Dim Cadena As String

Cadena = "24"

Numero = CInt("2") + CInt(Cadena)
En el prximo captulo veremos las expresiones aritmticas y lgicas, y
veremos tambin las primeras estructuras de control.

El lenguaje de Visual Basic (II)
Expresiones aritmticas
En Visual Basic disponemos de los siguientes operadores aritmticos para
construir expresiones:
Operador Descripcin de la operacin
+ Suma los dos operandos
- Resta el segundo operando al primer operando
* Multiplica los dos operandos
/
Divide el primer operando entre el segundo
operando
^ Eleva el primer operando al segundo operando
\
Realiza la divisin entera del primer operando entre
el segundo operando
Mod
Devuelve el resto de la divisin entera del primer
operando entre el segundo operando
Expresiones relacionales
El resultado de una expresin relacional es el valor True o el valor False.
Las expresiones relacionales que tenemos disponibles son:
Operador Relacin
= Los operandos son iguales
<> Los operandos son distintos
< El primer operando es menor que el segundo
> El primer operando es mayor que el segundo
<= El primer operando es menor o igual que el segundo
>= El primer operando es mayor o igual que el segundo
El resultado de una expresin relacional se asignar a una variable de tipo
Boolean. Por ejemplo:
Dim EsMenor As Boolean, Num As Integer

Num = 3
EsMenor = N < 9
almacenar en EsMenor el valor True
Expresiones lgicas
Disponemos de las siguientes expresiones lgicas para construir predicados
ms complejos:
Operador Accin que realiza
And Y lgica de los dos operandos
Or O lgica de los dos operandos
Xor O exclusiva lgica de los dos operandos
Eqv Igualdad lgica de los dos operandos
Not Negacin lgica del operando (este es unario)
A continuacin pasamos a estudiar las estructuras de control, necesarias
para alterar el flujo secuencial del programa
Estructuras de control: condicionales
Tenemos una til funcin que evala una condicin y si es cierta nos
devuelve un valor, y si es falsa nos devuelve otro valor. Esta es la funcin
IIf. Un ejemplo de uso sera: Numero = IIf(Valor < 3, 10, 20). Esto hara lo
siguiente: evala la condicin Valor < 3 y si es cierta, devuelve 10 que ser
almacenado en Numero, pero si es falsa (es decir, Valor es mayor o igual
que 3) entonces devuelve 20, que ser almacenado en Numero.
Tambin podemos usar la funcin Swith para devolver un valor
dependiendo de varias condiciones. Por ejemplo: Numero = Switch(N = 2, 3,
N = 6, 4, N = 10, 5). Esta funcin devolvera un 3 si N = 2, un 4 si N = 6 y
un 5 si N = 10.
Tenemos tambin la construccin If ... Then ... Else ... End If para crear
condicionales. Por ejemplo (vemos de paso cmo anidar un If):
If Numero > 10 Then
X = Numero
ElseIf Numero < 5 Then
X = Numero + 3
Else
X = Numero + 10
End If
Es igual, pero escrito de otra manera, hacer:
If Numero > 10 Then
X = Numero
Else
If Numero < 5 Then
X = Numero + 3
Else
X = Numero + 10
End If
End If
Por ltimo, tenemos la construccin Select Case, que nos permite
especificar varias alternativas entre las que se incluyen rangos. Por
ejemplo:
Select Case Numero
Case 1, 4 To 10
X = X + Numero
Case Else
X = Numero
End Select
Como vemos, con Case Else especificamos el cdigo a ejecutar si no se
cumple ninguno de los otros Case
Estructuras repetitivas
La primera de ellas es un bucle For, que tienen la estructura:
For Variable = ValorInicial To ValorFinal [Step
CantidadASaltar]
Codigo
Next
Step es opcional e indica la cantidad a incrementar Variable cada vez que
se produzca una "vuelta" del bucle. Si no lo ponemos, es como poner Step
1 (es decir, se incrementa de uno en uno). Por ejemplo:
For i = 1 To 10
Print i
Next
imprimir los valores 1 a 10, mientras que:
For i = 1 To 10 Step 2
Print i
Next
imprimir los valores 1, 3, 5, 7 y 9, ya que avanza de dos en dos.
Los otros bucles de que disponemos son variantes del Do, a saber:
Do While Condicion
Codigo
Loop
Do
Codigo
Loop While Condicion
y
Do
Codigo
Loop Until Condicion
Por ltimo, hay una forma especial de recorrer en un bucle los elementos
de una matriz:
For Each VariableElemento In VariableArray
Codigo
Next
Definicin de procedimientos y funciones
Terminamos este captulo definiendo cmo se ha de declarar un
procedimiento o una funcin. Definiremos un procedimiento siguiendo el
esquema:
Private|Public Sub NombreProcedimiento ([ByVal|ByRef]
Variable1 As Tipo
, ..., [ByVal|ByRef] VariableN As Tipo)
Codigo
End Sub
En primer lugar definiremos el procedimiento como pblico o privado al
mdulo, empleando para ello la palabra Public o la palabra clave Private. A
continuacin escribimos Sub y el nombre para el procedimiento. Los valores
se pasan por defecto por referencia. Para especificar que queremos que se
pasa por valor antepondremos la palabra clave ByVal. Podramos tambin
anteponer ByRef para especificar explcitamente que pasamos un valor por
referencia. Indicaremos la lista de variables as como el tipo de valor que le
pasamos.
Para definir una funcin usaremos el esquema siguiente:
Private|Public Function NombreFuncion(Variable1 As Tipo
, ..., VariableN As Tipo) As Tipo
Codigo
End Function
Notar que al final del parntesis indicamos el tipo de valor devuelto por la
funcin. Si queremos salir de un procedimiento antes de que lleguemos al
final del cdigo usaremos Exit Sub, mientras que para salir de una funcin
antes de llegar al final usaremos Exit Function. Esto puede ser til si, por
ejemplo, se produce un error.
El lenguaje de Visual Basic (III)
Comentarios
Comenzamos diciendo cmo podemos insertar comentarios en nuestro
cdigo. Tenemos dos posibilidades. La primera es con un apstrofe y a
continuacin el comentario, o bien con la palabra reservada REM y a
continuacin el comentario:
' Esto es un comentario
Rem Esto tambin
Continuacin de cdigo en varias lneas
Si tenemos una lnea de cdigo que sea demasiado larga, podemos dividirla
en varias lneas usando el separador subrayado: _ . Por ejemplo:
Variable = Variable2 * Variable3 _
- Variable5
Nothing
Va la instruccin Set usaremos Nothing para desvincular una variable
objeto del objeto real. Por ejemplo, Set MiVariable = Nothing
Null
El valor Null indica que una variable no tiene datos vlidos.
La funcin MsgBox
Su sintaxis es:
MsgBox(Texto [, Botones][, Titulo])
Muestra un cuadro de dilogo con el texto Texto y una serie de botones,
esperando que el usuario pulse uno de ellos. El valor devuelto es un Integer
que nos notifica del botn pulsado.
Botones puede ser una de las siguientes constantes, que indican los botones
que se mostrarn en el dilogo:
Constante Valor Descripcin
vbOKOnly 0 Botn Aceptar
vbOKCancel 1 Botones Aceptar y Cancelar
vbAbortRetryIgnore 2
Botones Anular, Reintentar e
Ignorar
vbYesNoCancel 3 Botones S, No, Cancelar
vbYesNo 4 Botones S, No
vbRetryCancel 5 Botones Reintentar, Cancelar
vbCritical 16 Icono de mensaje crtico
vbQuestion 32 Icono de pregunta
vbExclamation 48 Icono de advertencia
vbInformation 64 Icono de informacin
vbDefaultButton1 0
El primer botn es el
predeterminado
vbDefaultButton2 256
El segundo botn es el
predeterminado
vbDefaultButton3 512
El tercer botn es el
predeterminado
vbApplicationModal 0
La ventana es modal: se debe
responder pulsando un botn
antes de seguir trabajando
vbMsgBoxRight 524288 Alinea el texto a la derecha
vbMsgBoxRtlReading 1048576
El texto debe aparecer para ser
ledo de derecha a izquierda
(hebreo y rabe)
Podemos sumar los valores de tipo de botones y tipo de icono para obtener
una ventana que muestre un mensaje con los botones e iconos
seleccionados.
Titulo ser el ttulo que queramos que aparezca en la ventana de cuadro
de mensaje.
Un ejemplo de uso sera: MsgBox "Texto de prueba", vbQuestion + vbYesNo,
"Ttulo". Los valores que devuelve esta funcin son:
Constante Valor
vbOK 1
vbCancel 2
vbAbort 3
vbRetry 4
vbIgnore 5
vbYes 6
vbNo 7
La funcin InputBox
Esta funcin nos sirve para solicitar una informacin del usuario. Su
sintaxis es:
Variable = InputBox(Texto[, Ttulo][, ValorPorDefecto])
donde Texto es el texto que se mostrar en el cuadro, Ttulo ser el ttulo
de la ventana, ValorPorDefecto ser una cadena en la que especifiquemos el
valor por defecto que tendr la variable de retorno Variable si pulsamos
"Aceptar". Un ejemplo de uso sera:
Variable = InputBox("Escriba algo", , "Defecto")
Si pulsamos "Cancelar", el valor devuelto ser nulo.
Funciones: cadenas
En Visual Basic, las cadenas se delimitan entre comillas dobles: "Esto es
una cadena".
Usaremos la constante vbCrLf para forzar un retorno de carro con avance
de lnea. La constante vbCr es el retorno de carro y la constante vbLfel
avance de lnea. Tambin tenemos la constante vbTab, que representa al
tabulador.
Se unen cadenas por medio del operador &, por ejemplo: "Aqu unimos" & "
" & "tres cadenas".
Vamos a ver ahora algunas de las funciones de cadenas que nos resultarn
de utilidad:
Asc(cadena)
Devuelve un entero que representa el cdigo de carcter correspondiente a
la primera letra de la cadena. La cadena debe ser una cadena vlida y no
vaca, de lo contrario, la funcin provocar un error. Por ejemplo, Asc("A
ver qu sale") devolver 65, el cdigo de la letra "A", y ser lo mismo que
devuelva Asc("Ahora"), porque ambas cadenas comienzan con la misma
letra.
Chr(nmero)
Devuelve una cadena con el carcter cuyo cdigo ASCII sea el dado
por nmero. Los cdigos del 0 al 31 dan lugar a caracteres no imprimibles.
Str(nmero)
Devuelve la representacin de cadena de un nmero. Siempre se reserva
un espacio a la izquierda del nmero para su signo. Si el signo es positivo,
la cadena devuelta contiene un espacio a la izquierda (se da por supuesto
el signo +). Slo reconoce el punto como separador decimal vlido. Si se
quiere usar un separador decimal diferente, ser recomendable usar la
funcin de conversin CStr. Por ejemplo, Str(23.45)devuelve la cadena "
23.45" (notar el espacio) y Str(-4.23) devuelve la cadena "-4.23".
Hex(nmero)
Devuelve una cadena con la representacin hexadecimal del nmero
pasado como argumento. Este nmero puede ser de tipo numrico o de
tipo cadena (siempre y cuando la cadena represente un nmero vlido). Si
el nmero no es un entero, se redondea al entero ms cercano. Por
ejemplo, las siguientes llamadas a la funcin Hex producen el mismo
resultado, 4D2: Hex("1234"), Hex(1234), Hex("1234,4"), Hex(1234.4),Hex("&H4D
2") Hay que hacer notar que en el ltimo hemos antepuesto &H a la cadena
que representa al nmero en hexadecimal. Con esta notacin
representamos nmeros hexadecimales directamente. Si el nmero a
convertir es Null, la funcin devuelve Null. Si es Empty (es decir, an no se
ha asignado un valor a la variable), devuelve 0. En cualquier otro caso, se
devuelve la representacin hexadecimal del nmero hasta ocho caracteres
hexadecimales.
InStr([comienzo, ] cadena1, cadena2 [, comparar])
Devuelve la posicin en la que la cadena2 aparece en la cadena1. El
parmetro comienzo es opcional, y determina la posicin inicial en la que la
funcin buscar en las cadenas. El parmetro opcional comparar determina
el tipo de comparacin que se debe realizar para buscar una cadena dentro
de otra. Puede tomar uno de los siguientes valores:
vbUseCompareOption
Realiza la comparacin con los valores
de la instruccin Option Compare
vbBinaryCompare
Realiza la comparacin tomando la
representacin binaria de las cadenas.
vbTextCompare
Realiza la comparacin tomando la
representacin textual.
Si no ponemos valor para comparar, se usa por defecto vbUseCompareOption.
Por ejemplo, InStr("Dabale arroz a la zorra el abad", "aba") devuelve 2,
mientras que InStr(3, "Dabale arroz a la zorra el abad", "aba") devuelve
28. Si cadena1 tiene longitud 0, InStrdevuelve 0. Si es Null, devuelve Null,
Si cadena2 tiene longitud 0, devuelve comienzo. Si es Null, devuelve Null. Si
no se encuentran ocurrencias de cadena2 en cadena1, devuelve 0. Por ltimo,
si cadena2 se encontr en cadena1, devuelve la posicin en la que ha sido
encontrada.
LCase(cadena)
Devuelve la cadena en minsculas.
UCase(cadena)
Devuelve la cadena en maysculas
Left(cadena, numCaracteres)
Devuelve la subcadena de cadena formada por los
primeros numCaracteres caracteres. Por ejemplo, Left("Cadena", 3) devuelve
la cadena"Cad".
Len(cadena)
Devuelve la longitud de la cadena. Por ejemplo, Len("Cadena") devuelve 6.
Right(cadena, numCaracteres)
Devuelve la subcadena de cadena formada por los
ltimos numCaracteres caracteres. Por ejemplo, Right("Cadena", 3) devuelve
la cadena"ena".
Mid(cadena, inicio [, longitud])
Devuelve la subcadena a partir de la posicin inicio con tamao opcional
dado por longitud. Por ejemplo, Mid("Cadena", 2) devuelve"adena" mientras
que Mid("Cadena", 2, 3) devuelve "ade".
Split(cadena [, delimitador [, cuantasCadenas]])
Devuelve una matriz unidimensional con ndice inferior 0 que contiene una
serie de subcadenas en base a un delimitador. El delimitador es opcional, si
no se especifica, se sobreentiende el carcter espacio. Si el delimitador es
una cadena de longitud cero (es decir, ""), se devuelve una matriz cuyo
nico elemento es la cadena completa. El parmetro cuantasCadenas indica
el nmero mximo de subcadenas en que queremos dividir la cadena. Si no
se especifica, se asume que se quieren todas las subcadenas.
Por ejemplo, Split("abc;abcde;abcdefg", ";") devolver una matriz con las
subcadenas "abc", "abcde" y "abcdefg", puesto que el caracter delimitador
es ";". Es decir, si hacemos Cadenas = Split("abc;abcde;abcdefg", ";"),
tendremos que Cadenas(0) = "abc", Cadenas(1) = "abcde" y Cadenas(2) =
"abcdefg".
Join(array [, delimitador])
Devuelve una cadena uniendo todas las cadenas contenidas en el array que
se le pasa como argumento, separadas por el delimitador especificado. El
delimitador es opcional. Si no se indica, se asume que es el carcter
espacio. Si es una cadena de longitud cero, se unen todas las cadenas sin
separacin).
Por ejemplo, si tenemos el array Cadenas donde
Cadenas(0) = "abc"
Cadenas(1) = "abcde"
Cadenas(2) = "abcdefg"
tendremos que Join(Cadenas, "4") devuelve la cadena "abc4abcde4abcdefg".
StrComp(cadena1, cadena2 [,comparar])
Compara las cadenas cadena1 y cadena2, devolviendo uno de los
siguientes valores enteros:
-1 cadena1 es menor que cadena2
0 cadena1 es igual que cadena2
1 cadena1 es mayor que cadena2
Null cadena1 o cadena2 es Null
El parmetro opcional comparar define qu se entiende por cadenas
"menores, mayores o iguales" que otras. Este parmetro puede tomar los
siguientes valores:
vbUseCompareOption
Realiza la comparacin con los valores de
la instruccin Option Compare
vbBinaryCompare
Realiza la comparacin tomando la
representacin binaria de las cadenas.
vbTextCompare
Realiza la comparacin tomando el orden
lexicogrfico natural.
El orden lexicogrfico consiste en decidir qu caracteres son menores que
otros. La ordenacin natural es "A" < "B" < ... < "Z" < "a" < ... < "z".
As, la cadena "aaa" es menor que "aab" pero mayor que "aaB".
Replace(cadena, cadenaASubstituir, cadenaSubstitucion)
Substituye en la cadena cadena todas las ocurrencias
de cadenaASubstituir por cadenaSubstitucion. Por
ejemplo, Replace("cadena", "a", "A") devuelve "cAdenA".
Funciones: Fechas
En Visual Basic, las fechas se representan entre almohadillas: MiFecha =
#2/2/2003#. Veamos las funciones de fechas ms interesantes:
Date
Devuelve la fecha actual.
Now
Devuelve la fecha y hora actuales.
Time
Devuelve la hora actual.
Day(Fecha)
Devuelve el da del mes de la fecha pasada como argumento. Por
ejemplo, Day(#7/27/2003#) devuelve 27.
Hour(Hora)
Devuelve la hora de la hora pasada como argumento. Por
ejemplo, Hour(#7/27/2003 7:22:00 PM#) devuelve 19 (las siete de la tarde).
Minute(Hora)
Devuelve el minuto de la hora pasada como argumento. Por
ejemplo, Minute(#7/27/2003 7:22:00 PM#) devuelve 22.
Month(Fecha)
Devuelve el mes de la fecha pasada como argumento. Por
ejemplo, Month(#7/27/2003#) devuelve 7 (el mes de julio).
Second(Hora)
Devuelve el segundo de la hora pasada como argumento. Por
ejemplo, Second(#7/27/2003 7:22:14#) devuelve 14.
Weekday(Fecha)
Devuelve un nmero que identifica al da de la semana de la fecha pasada
como argumento. El da 1 es el domingo, el 2 es el lunes y as
sucesivamente hasta el sbado, que es el da 7. Por
ejemplo, Day(#7/27/2003#) devuelve 1, es decir, el domingo.
Year(Fecha)
Devuelve el ao de la fecha pasada como argumento. Por
ejemplo, Year(#7/27/2003#) devuelve 2003.
IsDate(expresin)
Nos dice si es una fecha vlida o no la expresin dada. Por
ejemplo, IsDate("abcde") devuelve Falso.
Format(expresin[, formato[, primerDaSemana[,
primerDaAo]]])
Devuelve una cadena que contiene una expresin formateada de acuerdo a
las instrucciones dadas en formato. La expresion debe ser cualquier
expresin vlida (por ejemplo, llamadas a Now, Date o Time). El
valor primerDaSemana es opcional e indica cul es el primer da de la
semana:
Constante Valor Descripcin
vbSunday
1 Domingo
vbMonday
2 Lunes
vbTuesday
3 Martes
vbWednesday
4 Mircoles
vbThursday
5 Jueves
vbFriday
6 Viernes
vbSaturday
7 Sbado
El valor primerDaAo es opcional, pudiendo tener uno de los siguientes
valores:
Constante Valor Descripcin
vbFirstJan1
1
Comienza con la semana donde est el
1 de enero (predeterminado).
vbFirstFourDays
2
Comienza con la primera semana del
ao que tenga cuatro das como
mnimo.
vbFirstFullWeek
3
Comienza con la primera semana
completa del ao.
En formato estableceremos un formato predefinido o bien un formato
personalizado. Los formatos predefinidos son los siguientes:
Valor Descripcin
"General date"
(fecha general)
Valor predeterminado. Si la expresin slo es una
fecha, no se muestra ninguna hora, si es slo una
hora, no se muestra ninguna fecha.
"Long date"
(fecha larga)
Igual que el valor de fecha larga del cuadro de dilogo
"Propiedades de configuracin regional" del Panel de
control. Por ejemplo, "martes, 29 de julio de 2003"
"Medium date"
(fecha
mediana)
Fecha mediana, por ejemplo: "30-jul-03"
"Short date"
(fecha corta)
Igual que el valor de fecha corta del cuadro de dilogo
"Propiedades de configuracin regional" del Panel de
control. Por ejemplo, "30/07/2003"
"Long time"
(hora larga)
Igual que el valor de la ficha "Hora" del cuadro de
dilogo "Propiedades de configuracin regional" del
Panel de control. Por ejemplo, "16:26:32"
"Medium time"
(hora
mediana)
Hora mediana, por ejemplo, "04:27"
"Short time"
(hora corta)
Hora corta, por ejemplo, "16:27"
Los formatos personalizados nos permiten construir una cadena de formato
en base a los smbolos siguientes:
Smbolo Descripcin
---------------------------------------------------------------
-------------
: (dos puntos) Separador de hora. Los separadores se
establecen en el
cuadro de dilogo Propiedades de Configuracin
regional del
Panel de control de Windows.
/ Separador de fecha.
c Igual que el formato predefinido Fecha
general.
d Da del mes en uno o dos dgitos numricos,
segn sea
necesario (1 a 31).
dd Da del mes en dos dgitos numricos (01 a
31).
ddd Tres primeras letras del da de la semana (Lun
a Dom)
dddd Nombre completo del da de la semana (Lunes a
Dom).
ddddd Igual que el formato predefinido Hora corta.
dddddd Igual que el formato predefinido Fecha larga.
s Da de la semana (1 a 7).
ss Semana del ao (1 a 53).
m Mes del ao en uno o dos dgitos numricos,
segn sea
necesario (1 a 12).
mm Mes del ao en dos dgitos numricos (01 a
12).
mmm Tres primeras letras del mes (Ene a Dic).
mmmm Nombre completo del mes (Enero a Diciembre).
t Fecha mostrada como trimestre del ao (1 a 4).
y Nmero de da del ao (1 a 366).
yy Dos ltimos dgitos del ao (01 a 99).
yyyy Ao completo (0100 a 9999).
h Hora en uno o dos dgitos, segn sea necesario
(0 a 23).
hh Hora en dos dgitos (00 a 23).
n Minuto en uno o dos dgitos, segn sea
necesario (0 a 59).
nn Minuto en dos dgitos (00 a 59).
s Segundo en uno o dos dgitos, segn sea
necesario (0 a 59).
ss Segundo en dos dgitos (00 a 59).
ttttt Igual que el formato predefinido Hora larga.
AM/PM Reloj de 12 horas con las letras maysculas
"AM" o "PM",
segn sea apropiado.
am/pm Reloj de doce horas con las letras minsculas
"am" o "pm",
segn sea apropiado.
A/P Reloj de doce horas con la letra mayscula "A"
o "P", segn sea
apropiado.
a/p Reloj de doce horas con la letra minscula "a"
o "p", segn sea
apropiado.
AMPM Reloj de doce horas con el designador de
maana/tarde
apropiado establecido en el cuadro de dilogo
Propiedades de
Configuracin regional del Panel de control de
Windows.
Ejemplos de cadena de formato son:
"ddd"", ""d mmm"", ""yyyy"
Por ejemplo, Format(Now, "ddd"", ""d mmm"", ""yyyy") produce la cadena de
salida: "mi, 30 jul, 2003".
"dd mmmm"", ""yyyy" Por ejemplo, Format(Now, "dd mmmm"", ""yyyy") produce
la cadena de salida: "30 julio, 2003"
La funcin Format tambin sirve para dar formato a expresiones numricas.
Para ello, usa dos caracteres especiales: # y 0. Se ver claro su uso con los
siguientes ejemplos:
Format(5459.4, "#,#0.00") = "5.459,40"
Format(5459.499, "#,#0.00") = "5.459,50"
Tambin formatea porcentajes, por ejemplo:
Format(2.499, "0.00%") = "249,90%"
Adems, convierte a maysculas o a minsculas:
Format("Sube", ">") = "SUBE"
Format("BAJA", "<") = "baja"

Funciones: Matemticas
Abs(nmero)
Calcula el valor absoluto del nmero pasado como argumento. Por
ejemplo, Abs(-3) = 3, Abs(7) = 7
Sin(ngulo)
Calcula el seno del ngulo pasado como argumento, siendo este ngulo un
valor expresado en radianes.
Cos(ngulo)
Calcula el coseno del ngulo pasado como argumento, siendo este ngulo
un valor expresado en radianes.
Tan(ngulo)
Calcula la tangente del ngulo pasado como argumento, siendo este ngulo
un valor expresado en radianes.
Atn(ngulo)
Calcula el arcotangente del ngulo pasado como argumento, siendo este
ngulo un valor expresado en radianes.
Sgn(nmero)
Devuelve el signo del nmero pasado como argumento. Si el nmero es
mayor que cero, devuelve 1, si es cero, 0 y si es menor que cero devuelve
-1.
Exp(nmero)
Devuelve e elevado al exponente indicado en nmero. Recordar que e es
una constante cuyo valor aproximado es 2,71828182845
Log(nmero)
Devuelve el logaritmo neperiano del nmero pasado como argumento. No
puede calcularse el logaritmo de un nmero negativo o cero.
Sqr(nmero)
Devuelve la raz cuadrada del nmero pasado como argumento.
Int(nmero), Fix(nmero)
Ambas funciones devuelven la parte entera del nmero pasado como
argumento. La diferencia est cuando el nmero es negativo: Int(-3.2) = -
4 pero Fix(-3.2) = -3
Rnd[(nmero)]
Genera un nmero aleatorio entre 0 y 1, includo el 0. Para evitar que se
repita la secuencia de nmeros aleatorios, usaremos la
instruccinRandomize, que inicializa la secuencia de nmeros aleatorios con
una semilla basada en el reloj del sistema. Si queremos producir nmeros
enteros aleatorios en el intervalo [a, b], usaremos la frmula: Int( (b - a
+ 1) * Rnd + a)
Funciones: Miscelnea
IsArray(variable)
Devuelve True si la variable es un array y False si no lo es.
IsEmpty(expresin)
Devuelve True si la expresin est vaca o False si no lo est. Por ejemplo,
si no declaramos una variable y hacemos IsEmpty(variable) se
devolver True.
IsNull(expresin)
Devuelve True si la expresin es Null, y False si no lo es. Es importante
usar esta funcin en evaluaciones en las que est implicado el valorNull.
Por ejemplo, si tenemos en un trozo del cdigo If A = Null Then nunca se
ejecutar lo que haya a continuacin del Then, porque una expresin en la
que interviene Null es evaluada como False, as que A = Null sera
evaluada como False incluso si A fuese Null. Por ello, cuando queramos
evaluar si una variable es Null o no, usaremos esta funcin, IsNull.
IsNumeric(expresin)
Devuelve True si la expresin es numrica y False si no lo es. Por ejemplo:
IsNumeric(12) = True
IsNumeric("12") = True
IsNumeric("1a2") = False
Val(cadena)
Devuelve los nmeros contenidos en una cadena como un valor numrico
del tipo adecuado. Por ejemplo, Val(" 123 456 789 abc 0123")devuelve el
nmero 123456789.
VarType(nombreVariable)
Devuelve un entero que indica el tipo de la variable nombreVariable. Estos
valores estn recogidos en la siguiente tabla:
Constante Valor Descripcin
vbEmpty
0 No inicializado (empty)
vbNull
1 Null (datos no vlidos)
vbInteger
2 Entero
vbLong
3 Entero largo
vbSingle
4 Coma flotante de simple precisin
vbDouble
5 Coma flotante de doble precisin
vbCurrency
6 Moneda
vbDate
7 Fecha
vbString
8 Cadena
vbObject
9 Objeto
vbError
10 Valor de error
vbBoolean
11 Booleano
vbVariant
12
Variant (slo con matrices de
Variant)
vbDataObject
13 Objeto de acceso a datos
vbDecimal
14 Decimal
vbByte
17 Byte
vbUserDefinedType
36 Tipo definido por el usuario
vbArray
8192 Matriz
IIf(expresin, parteSiVerdadera, parteSiFalsa)
Devuelve parteSiVerdadera si expresin es True o parteSiFalsa si expresin e
s False. Hay que tener cuidado: IIf evala
tantoparteSiVerdadera como parteSiFalsa, independientemente del valor de
verdad de la expresin, as que habr que verificar que ambas partes no
van a generar errores.
RGB(Rojo, Verde, Azul)
Devuelve un identificador vlido de color. Rojo, Verde y Azul son las
componentes RGB del color deseado. Pueden tomar valores enteros de 0 a
255, siendo 255 la mxima intensidad de la componente y 0 la mnima. Por
ejemplo, RGB(255, 255, 0) devuelve el identificador vlido para el color
amarillo.
Eval(cadena)
Evala una expresin que da como resultado una cadena de texto o un
valor numrico. Por ejemplo, Eval("1 + 1") devuelve 2. Si pasamos a la
funcin Eval una cadena que contiene el nombre de una
funcin, Eval devuelve el valor de retorno de esa funcin. Por
ejemplo,Eval("Chr(66)") devuelve "B". Si vamos a pasar el nombre de una
funcin, siempre debemos incluir los parntesis despus del nombre. Por
ejemplo, Eval("Date()"). Si se le pasa una cadena que no contiene una
expresin numrica o un nombre de funcin, sino una simple cadena de
texto, Eval dar un error en tiempo de ejecucin.