+ All Categories
Home > Documents > Tutorial Visual Basic (Aplicado a Hormigón Armado)

Tutorial Visual Basic (Aplicado a Hormigón Armado)

Date post: 05-Jul-2018
Category:
Upload: marianarenis
View: 218 times
Download: 0 times
Share this document with a friend

of 119

Transcript
  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    1/119

     

    UNIVERSIDAD TÉCNICA FEDERICOSANTA MARÍA 

    Apunte de Visual Basic de Excel aplicado aHormigón Armado I

    USM Campus SantiagoI Semestre 2015 

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    2/119

    Hormigón Armado I, UTFSM Santiago.

    1Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    TABLA DE CONTENIDOS 

    1.  ALCANCE 4 

    2.  NOCIONES BÁSICAS 5 

    2.1.  INGRESAR AL AMBIENTE VISUAL BASIC  5 

    2.2.  AMBIENTE VISUAL BASIC  7 

    2.3.  ENTRANDO A UN ESPACIO DE PROGRAMACIÓN  8 

    3.  PROGRAMACIÓN 10 

    3.1.  VARIABLES  10 

    3.1.1. TIPOS DE VARIABLES  10

    3.1.2. DECLARACIÓN DE UNA VARIABLE  113.2.  DECLARACIÓN DE UNA SUB  11 

    3.3.  DECLARACIÓN DE UNA FUNCIÓN  12 

    3.4.  SENTENCIAS BÁSICAS DE PROGRAMACIÓN  14 

    3.4.1. DECLARACIÓN DE UN "FOR" 14

    3.4.2. DECLARACIÓN DE UN "IF" 15

    3.4.3. DECLARACIÓN DE UN "SELECT CASE" 16

    3.4.4. DECLARACIÓN DE UN "DO WHILE". 17

    3.5.  LLAMADO DE SUB, FUNCIONES Y VARIABLES DESDE OTRAS SECCIONES  18 

    3.6.  HERRAMIENTAS ÚTILES DE VISUAL BASIC  19 

    3.6.1. MENSAJE EN PANTALLA  19

    3.6.2. CONCATENAR (&) 22

    3.7.  MANEJO DE ARREGLOS (MATRICES). 22 

    3.7.1. DECLARACIÓN DE UN ARREGLO  23

    3.7.2. DIMENSIONES DE UN ARREGLO  23

    3.7.3. REDIMENSIONAR UN ARREGLO  24

    3.7.4. PEGAR UN ARREGLO EN UNA HOJA DE CÁLCULO  26

    3.8.  MANEJO DE CADENAS DE TEXTO. 28 

    3.8.1. FUNCIÓN REPLACE 29

    3.8.2. FUNCIÓN LEN 29

    3.8.3. FUNCIÓN SPLIT 29

    3.8.4. FUNCIÓN LEFT 293.8.5. FUNCIÓN RIGHT 30

    3.8.6. FUNCIÓN MID 30

    3.8.7. FUNCIÓN INSTR 30

    3.8.8. FUNCIÓN JOIN 31

    3.8.9. FUNCIÓN LCASE 31

    3.8.10. FUNCIÓN UCASE 31

    3.9.  MANEJO DE ARCHIVOS DE TEXTOS  31 

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    3/119

    Hormigón Armado I, UTFSM Santiago.

    2Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    3.9.1. ABRIR UN ARCHIVO DE TEXTO  32

    3.9.2. LEER UN ARCHIVO DE TEXTO  32

    3.9.3. ESCRIBIR UN ARCHIVO DE TEXTO NUEVO: 33

    3.9.4. ESCRIBIR UN ARCHIVO DE TEXTO CONSERVANDO LO ALMACENADO  34

    3.9.5. EJEMPLO DE UTILIDAD  34

    3.10.  FUNCIONES ÚTILES DE MICROSOFT EXCEL  36 3.10.1. GRABAR MACRO  36

    3.10.2. BUSCARV  – BUSCARH 38

    3.10.3. K.ESIMO.MAYOR & K.ESIMO.MENOR  39

    3.11.  MANEJO DE CELDAS  40 

    3.11.1. REFERENCIAR UNA CELDA MEDIANTE CELLS(). 40

    3.11.2. REFERENCIAR UNA CELDA O RANGO MEDIANTE RANGE() 41

    3.12.  RUTINA BUSCAR OBJETIVO  42 

    3.12.1. BUSCAR OBJETIVO, FUNCIÓN DE EXCEL. 42

    3.12.2. BUSCAR OBJETIVO, PROGRAMADA EN VISUAL BASIC A. 43

    3.13.  FUNCIONES MATEMÁTICAS DE VB. 44 

    3.14.  FUNCIONES DE EXCEL  45 3.15.  MANEJO DE ERRORES  46 

    3.15.1. EVITAR QUE LOS ERRORES DERIVEN EN MOSTRAR EL CÓDIGO  47

    4.  INTERFAZ GRÁFICA DE VB 49 

    4.1.  INTRODUCCIÓN A LOS FORMULARIOS (USERFORM) 49 

    4.1.1. INICIANDO UN FORMULARIO  49

    4.1.2. PROGRAMACIÓN EN UN FORMULARIO  50

    4.2.  OBJETOS (CONTROLES) 51 

    4.2.1. PROGRAMACIÓN DE LA RUTINA DE RESPUESTA A UNA ACCIÓN DE UN OBJETO  524.2.2. MANEJO DE LAS PROPIEDADES DE UN OBJETO  53

    4.2.3. CUADRO DE TEXTO, TEXTBOX ( ) 56

    4.2.4. ETIQUETA, LABEL ( ) 57

    4.2.5. MARCO, FRAME ( ) 57

    4.2.6. BOTÓN DE COMANDO, COMMANDBUTTON ( ) 58

    4.2.7. CASILLA DE VERIFICACIÓN, CKECKBOX ( ) 59

    4.2.8. BOTÓN DE OPCIÓN, OPTIONBUTTON ( ) 59

    4.2.9. CUADRO DE LISTA, LISTBOX ( ) 60

    4.2.10. CUADRO COMBINADO, COMBOBOX ( ) 614.2.11. BOTÓN DE NÚMERO, SPINBUTTON ( ) 62

    4.2.12. TOGGLEBUTTON ( ) 63

    4.3.  EJECUCIÓN DE RUTINAS  64 

    5.  EJEMPLOS APLICADOS A HORMIGÓN ARMADO 65 

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    4/119

    Hormigón Armado I, UTFSM Santiago.

    3Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    5.1.  MOMENTO CURVATURA  65 

    5.1.1. CONSIDERACIONES  65

    5.1.2. GEOMETRÍA Y PROPIEDADES DE LA VIGA  66

    5.1.3. ANÁLISIS Y DESARROLLO  67

    5.1.4. PROGRAMACIÓN EN VISUAL BASIC  67

    5.2.  ARMADO DE VIGAS  73 5.2.1. DISEÑO VIGA SIMPLEMENTE ARMADA  73

    5.2.2. ANÁLISIS DE LA VIGA DOBLEMENTE ARMADA  76

    5.2.3. PROGRAMACIÓN EN VISUAL BASIC COMO CÓDIGO  80

    5.2.4. INTERACCIÓN EXCEL - VISUAL BASIC  84

    5.3.  DIAGRAMA DE INTERACCIÓN CARGA AXIAL –  MOMENTO ,  85 5.4.  PUNTOS CARACTERÍSTICOS DEL DIAGRAMA DE INTERACCIÓN CARGA AXIAL - MOMENTO  88 

    5.4.1.  PUNTO DE TRACCIÓN PURA ,: 885.4.2.  PUNTO DE FLEXIÓN PURA: 88

    5.4.3. PUNTO DE BALANCE EN FLEXO COMPRESIÓN: 89

    5.4.4. PUNTO DE

    =.  90

    5.4.5. PUNTO DE =.: 905.4.6. PUNTO DE COMPRESIÓN PURA ,: 915.5.  DIAGRAMA DE INTERACCIÓN P-M DE DISEÑO      92 5.6.  EJEMPLO DIAGRAMA DE INTERACCIÓN CARGA AXIAL - MOMENTO ,: 93 5.6.1. CÁLCULO DEL CENTROIDE PLÁSTICO: 94

    5.6.2. TRACCIÓN PURA: 94

    5.6.3. FLEXIÓN PURA: 94

    5.6.4. PUNTO DE =.: 965.6.5. PUNTO DE =.: 965.6.6. PUNTO DE BALANCE EN FLEXO COMPRESIÓN: 97

    5.6.7. PUNTO DE COMPRESIÓN PURA: 985.6.8. RESUMEN DE LOS PUNTOS CARACTERÍSTICOS: 98

    5.7.  ELABORACIÓN DE UNA RUTINA EN VISUAL BASIC DE EXCEL QUE CALCULE UN DIAGRAMA DE INTERACCIÓN

    CARGA AXIAL - MOMENTO. 99 

    5.8.  DIAGRAMA MOMENTO CURVATURA CON CARGA AXIAL  106 

    5.8.1. CÓDIGO EN VISUAL BASIC: 109

    258.1.  GRÁFICA DE KENT & PARK PARA DISTINTAS CUANTÍAS DE CONFINAMIENTO  114 

    258.1.1. CÓDIGO Y COMENTARIOS: 115

    258.1.2. UTILIZACIÓN DEL CÓDIGO MEDIANTE BOTÓN EN PLANILLA. 118

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    5/119

    Hormigón Armado I, UTFSM Santiago.

    4Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    1 Alcance

    El presente documento tiene por objetivo acercar al alumno de Hormigón Armado I a las

    herramientas de análisis contenidas en Microsoft Excel a través de Visual Basic.

    El documento se encuentra en desarrollo a medida que el curso avanza en contenidos, los cualesse enumeran a continuación:

    Capitulo Tópico

    IntroducciónCondiciones del curso - 1. Introducción

    NCh 430 - Otra normas

    Materiales 2. Materiales

    Diseño 3. Conceptos de Diseño - Ejemplo

    Flexión

    4. Flexión: Comportamiento - Momento-Curvatura - Agrietamiento

    4. Flexión: Post-agrietamiento - Rango no lineal

    4. Flexión: Rango no-lineal

    4. Flexión: Diseño sección rectangular refuerzo en tracción - Ref en compresión

    4. Flexión: Viga de sección T

    4. Flexión - Ejemplos

    Corte en Vigas

    5. Corte: General - Previo agrietamiento - Post agrietamiento

    5. Corte: Post agrietamiento - Diseño

    5. Corte: Diseño - Ejemplos

    Flexo-compresión

    6. Flexo-compresión: Compr. Axial - Flexo-compr. Uniaxial

    6. Flexo-compresión: Diseño

    6. Flexo-compresión: Cap. de deformación - Flexión Bi-axial

    6. Flexo-compresión: Ejemplo Marco

     Adherencia y Anclajes 7. Adherencia y Anclajes

    Detallamiento 8. Detallamiento

    Diseño por capacidad9. Diseño por capacidad: Mecanismo de Colapso

    9. Diseño por Capacidad: Casos

      Profesor Casa Central: Gilberto Leiva, [email protected],  coordinador del

    curso.

     

    Profesor Campus Santiago: Ricardo Bustamante, [email protected] 

      Ayudantes Campus Santiago:

    Ignacio Mayorga, [email protected] 

    o  Ignacio Ruiz, [email protected] 

    mailto:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]:[email protected]

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    6/119

    Hormigón Armado I, UTFSM Santiago.

    5Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    2 Nociones Básicas

    2.1. Ingresar al Ambiente Visual Basic

    Para utilizar Visual Basic

      para Excel, es necesario ejecutar el software Excel para luego

    proceder a ejecutar el VB. Importante destacar que al guardar una planilla de Excel en la cual seprogramará, ésta debe ser guardada como un archivo de Excel habilitada para Macros ∗.. A continuación se mostrará la interfaz de Excel

    Ilustración 1-¡Error! Utilice la pestaña Inicio para aplicar 0 al texto que desea que aparezca aquí..1: Vista "Normal" deuna hoja de Excel.

    Luego es necesario ejecutar Visual Basic, para lo cual se tienen dos opciones, la primera es tener

    activada en la barra de herramientas de Excel la sección de Programación (Excel 2010 y anteriores)

    o de Desarrollador (Excel 2013 y posteriores), como se muestra a continuación:

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    7/119

    Hormigón Armado I, UTFSM Santiago.

    6Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    Ilustración 2-1-¡Error! Utilice la pestaña Inicio para aplicar 0 al texto que desea que aparezca aquí. .2: se muestra cómoabrir Visual Basic mediante las herramientas de Excel.

    En la imagen anterior se aprecia que en la barra de herramienta, anteriormente mencionada, se

    encuentra la opción para acceder a Visual Basic.

    En el caso que esta no esté activada, se puede activar en la sección de opciones de Excel, yendo a

    “Archivo” y luego a “Opciones”, en donde se ejecutará la siguiente pantalla:

    Ilustración 2-1-¡Error! Utilice la pestaña Inicio para aplicar 0 al texto que desea que aparezca aquí. .3: modo de activar laherramienta programador o desarrollador de Excel.

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    8/119

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    9/119

    Hormigón Armado I, UTFSM Santiago.

    8Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

      Módulos: esta sección está netamente dedicada a la creación de rutinas de programación,

    macros y creación de funciones dentro de Excel, para ser utilizadas posteriormente tanto

    en las Hojas de cálculo como en los Formularios 

    En las tres secciones anteriores se puede programar, la diferencia radica en lo siguiente:

      Programar en las hojas de cálculo (Microsoft Excel Objectos)  implica que todas las

    funciones, variables, y rutinas que se programen en una hoja dada, solo podrán ser

    ejecutadas en esa hoja. En el caso de programar en Thisworkbook lo declarado se puede

    utilizar en todas las hojas de cálculo.

    Estos códigos (en hoja de cálculo o en Thisworkbook) no pueden ser utilizados para

    interfaz gráfica.

      Programar en Formularios, la creación de un formulario (Una Interfaz) funciona de manera

    independiente a las hojas de cálculo, por ende cada formulario genera su espacio para

    escribir códigos, variables, funciones, rutinas.

      Programar en Módulos considera que la información es de uso público, es decir, si declaro

    una función, esta puede ser llamada tanto de una hoja de cálculo como de un Userform.

    Comentario:

    Lo usual, y a modo de llevar un orden es: en el caso de tener varias hojas de cálculo que se tengan

    distintas "Macros (códigos que generan una acción)", por hoja, es declarar esas macros en cada

    hoja (programar en Microsoft Excel Objetos). En el caso de tener una macro que mezcla

    información de Varias hojas, ideal que esté programada en Thisworkbook. Las funciones generales

    que se utilizan programarlas en Módulos. Y en el caso de hacer una interfaz, utilizar la

    programación en Userform y Módulos.

    2.3. Entrando a un Espacio de Programación

    Como se comentó en la sección anterior, existen tres espacios de programación,

      Microsoft Excel Objetos

      Formularios

      Módulos

    La forma de entrar a estos difiere:

      En el caso de Microsoft Excel Objetos, basta sólo decidir en qué hoja programar y hacer

    doble click  en ésta.

      En el caso de Formularios, primeramente se debe crear un nuevo formulario (yendo a

    Insertar → UserForm). Luego creado, click derecho en el Userform → Ver código. Como seobserva a continuación:

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    10/119

    Hormigón Armado I, UTFSM Santiago.

    9Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    Ilustración 2-3-1: entrar a un espacio de programación de un formulario.

    En la imagen anterior se destacan dos opciones, las cuales corresponden a “Ver código” y

    “Ver objetos”. Para el caso de formularios direcciona inmediatamente a los objetos ( se

    observa la interfaz con sus diferentes objetos como botones, etiquetas, etc.), pero al

    ingresar a los códigos se abre el espacio para programar.

     

    Y por último, en el caso de los módulos, para entrar al espacio de programación bastasolamente te crear y módulo y doble "click"  sobre éste.

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    11/119

    Hormigón Armado I, UTFSM Santiago.

    10Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    3 Programación

    Se procederá definir los aspectos más importantes de la programación en Visual Basic.

    3.1. Variables

    La capacidad de este programa es bastante amplia en términos de datos de entrada, pudiéndose

    generar variables del tipo numérico, textos, caracteres entre otros. Además se pueden generar

    variables con dimensiones, generando así variables de tipo matricial.

    En este caso se mostrarán algunos de los tipos de variables, las cuales tienen un mayor índice de

    utilización en el desarrollo de rutinas relacionas a los cursos de “Hormigón Armado”.

    3.1.1.  Tipos de Variables

      Integer:  corresponde a una variable representa los números enteros.

    (orden de magnitud aprox.: E+9 y E-9).

      Single: corresponden a los números reales, además posee un rango más amplio

    que los del tipo “Interger” (orden de magnitud aprox.: E+38 y E-45).

      Double:  este tipo de variable posee las mismas características de las variables de

    tipo “single”, la diferencia radica en el orden de magnitud de los máximos

    y mínimos. (orden de magnitud aprox.: E+308 y E-324).

      Short: corresponde a una variable numérica de tipo entero, y de valores positivos

    y negativos (orden de magnitud aprox.: E+4)

      Long:  corresponde a una variable numérica de tipo entero, similar a los “Short”,

    y de valores positivos y negativos (orden de magnitud aprox.: E+18)

      String: corresponden a una de tipo texto, la longitud de ésta variable es cercana a

    los 2 millones de caracteres. (ejemplo “casa”) 

      Char: corresponde a un carácter individual. (ejemplo “X”) 

      Boolean:  las variables de tipo “boolean” solo pueden tener dos tipos de valores, los

    cuales son solamente “True” o “False”. 

    De no definir una variable, VB tomará dicha variable como tipo "Variant " lo asigna como texto,

    entero o decimal.

    Otra diferencia entre las distintas variables es el tamaño en Bytes que ocupan. Por ejemplo una

    variable que será utilizada como contador, es preferible declararla como Integer o Short  antes que

    Double, debido a que Integer  "pesa" menos, que se podría traducir en rutinas más rápidas, mas

    refinadas y livianas.

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    12/119

    Hormigón Armado I, UTFSM Santiago.

    11Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    3.1.2. 

    Declaración de una Variable

    Para definir las variables se tiene que hacer de la siguiente manera:

    Dim Nombre_de_Variable As Tipo_de_Variable

    Si queremos definir una variable la cual tenga 2 dimensiones, el caso de una matriz, ésta se debe

    definir de la siguiente manera:

    Dim Nombre_de_Variable(n_inicial To n_final) As Tipo_de_Variable

    En la definición anterior el tipo de variable no es mandatorio incorporarlo. Por ejemplo si se quiere

    tener una variable que se llame Tipos_Acero, y que sea una matriz de 33 del tipo “Double”, setendrá lo siguiente:

    Dim Tipos_Aceros(1 To 3, 1 To 3) As Double 

    Comentario: las matrices también se pueden definir del siguiente modo:

    Dim Tipos_Aceros(2,2) As Double

    La matriz definida en Ilustración 2.1.3 también corresponde a una matriz de dimensiones 33.Pero a diferencia del ejemplo anterior, la matriz en este caso se llenará desde el índice 0 hasta 2.(en el caso anterior, se tenía comienzo desde el índice 1).Para llamar o definir un término en específico de esta variable, se tiene que hacer de la siguiente

    manera:

      Para asignar un valor a un coeficiente de una matriz:

    Tipos_Aceros(1, 1) = Valor_a_Asignar 

      Para asignarle a una variable cualquiera el valor que corresponde a un cierto coeficiente

    de una matriz.

    Alguna_Variable = Tipos_Aceros(1, 1) 

    En una sección posterior se profundizará mas en el tema Matrices. (Manejo de Arreglos

    (Matrices).) 

    3.2. Declaración de una Sub

    Las "Sub" son el espacio donde se debe programar lo que se desee hacer, éstas tiene que estar

    definas por un nombre y se pueden crear en los tres espacios posibles (Módulos, Hojas de cálculo

    o formularios). La forma de declararlas es la siguiente:

    Sub Nombre1() 

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    13/119

    Hormigón Armado I, UTFSM Santiago.

    12Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    'Acá va la rutina

    End Sub

    Dentro de espacio de programación se pueden crear múltiples Sub de manera independiente de

    modo que no interfieren entre sí, la única forma de activarlas es llamarla desde la rutina de una.Supongamos que se tienen dos Sub, una llamada “Nombres” y otra “Rut ”, y dentro del código de la

    sub rutina Nombres llamaremos a Rut  de la siguiente forma:

    Sub Nombres()

    Call Rut

    'Se ejecutó la sub Rut

    End Sub

    Por otro lado, existe una función para que éstas rutinas sean privadas o públicas, esto quiere decir

    que si se está trabajando dentro de un Userform y se crea una rutina cualquiera de forma privada,

    ésta no se podrá utilizar en los códigos de las hojas de cálculo o módulos. Para que la rutina quede

    de forma privada se tiene que declarar de la siguiente manera:

    Private Sub Nombre1()

    'Acá va la rutina

    End Sub

    De manera análoga, si se quiere la rutina sea de carácter público y pueda ser utilizada desde todas

    las secciones se debe declarar de la siguiente manera:

    Public Sub Nombre1()

    'Acá va la rutina

    End Sub

    3.3. 

    Declaración de una Función

    La creación de funciones es de gran utilidad dentro de la programación ya que permite ordenar los

    códigos y encontrar errores más fácilmente. Para declarar las funciones se requiere asignarle un

    nombre y señalar las variables de entrada para la función, las cuales serán utilizadas dentro de la

    rutina de la función, posteriormente se debe asignar un valor al nombre de la función, que será lo

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    14/119

    Hormigón Armado I, UTFSM Santiago.

    13Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    que el valor que devolverá dicha función. Para declarar las funciones se hace de la siguiente

    manera,

    Public Function Nombre1(Variable1, Variable2)

    Dim n As Double 'al definirla acá sólo estará en la función

    n = Variable1 + Variable2 

    Nombre1 = n 'La función devuelve el valor de n

    End Function

    Ó

    Private Function Nombre2(Variable1, Variable2)

    Dim n As Double 'al definirla acá sólo estará en la funciónn = Variable1 * Variable2 

    Nombre2 = n 'La función devuelve el valor de n

    End Function

    Se observa que las funciones funcionan de manera similar a las rutinas Sub, ya que éstas se

    pueden declarar de manera pública o privada. Del mismo modo como se explicó antes.

    Para la utilización de las funciones dentro de los códigos, basta simplemente con asignar valores a

    las variables de entrada de la función, como se muestra a continuación

    Public Sub Suma()Dim a As DoubleDim b As Double

    a = 1 b = 2

    Range("A1") = Nombre1(a,b)End Sub

    En el ejemplo anterior al ejecutar la rutina, la Celda A1 tendrá un valor de 3. Dado que lo que hace

    la función creada previamente Nombre1, es sumar los dos parámetros de entrada.

    Comentario:  es recomendable también definir qué tipo de variable se ingresará a la función.

    (porque de no definirla VB lo tomará como Variant, siendo esta una variable que pesa más). La

    forma de definir el tipo de variable de entrada y el tipo de variable de retorno es:

    Public Function Nombre1(Var1 As String, Var2 As String) As Double

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    15/119

    Hormigón Armado I, UTFSM Santiago.

    14Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    Nombre1 = Var1 + Var2

    End Function

    Las funciones pueden ser utilizadas en planillas de cálculos, para utilizarlas, estas funciones deben

    ser declaradas como públicas y no deben tener un nombre que genere conflicto con el nombre delas celdas por ejemplo “AB12”, para utilizarlas se debe llamar como cualquier función integrada en

    Excel.

    3.4. Sentencias Básicas de Programación

    Para generar algoritmos son necesarios elementos básicos de programación tales como los ‘For’,

    ‘If ’ o  ‘While’, entre otros. Se procederá a mostrar las distintas formas de cómo declarar éstas

    estructuras.

    3.4.1. 

    Declaración de un "For"

    Para caso que se necesite repetir una operación  número de veces, una alternativa es aplicar un“For” la cual se debe declarar de la siguiente manera 

    For n = n_o To n_1 Step 2

    'Acá va la rutina

    Next

    En lo anterior se aprecia que se utilizó un paso (Step) de valor 2, esto implica que el valor de la

    variable  irá aumentando de dos en dos. El valor del paso puede ser positivo o negativo. Ademásno es necesario incorporarlo, ya que al no estar presente, el programa trabaja con un paso

    automático de 1, en tal caso el valor de las variables  y  deben corresponder a un parámetrode valor entero.

    Por ejemplo, si se quiere definir un proceso reiterativo que parta desde el 5 y termine en 0 con unpaso de 0.5 se tiene que declarar de la siguiente manera

    Por otro lado, si se requiere generar un rutina que parta desde 0 hasta 100 con un paso unitario.Se tiene lo siguiente

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    16/119

    Hormigón Armado I, UTFSM Santiago.

    15Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    3.4.2. 

    Declaración de un "If"

    En el caso de tener que efectuar distintas operaciones según alguna condición o conjunto de éstas.

    Según si son incluyentes o excluyentes . La manera de declararla, es la siguiente:

    Se pueden asignar múltiples de condiciones. Las cuales se sientan en los siguientes funciones

    matemáticas:

     

    < : menor que...  > : mayor que...

      = : mayor o igual que...

      : distinto a...

      = : igual a...

    Además se pueden complementar dichas condiciones utilizando:

      And : corresponde a "Y", lo que en lógica es ∧.  Or : corresponde a "Ó", lo que en lógica es ∨. 

    Ejemplo:

    En el ejemplo anterior, el uso de "And" y "Or" son opcionales y no requieren de ser utilizadas,basta con sólo una condición. Al igual que el uso del "Elseif", que en este caso se usa dado a la

    cantidad de alternativas que se tiene.

    Para el caso en que se tienen condiciones que utilizan un caso en especial, es conveniente el uso

    de la rutina Case.

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    17/119

    Hormigón Armado I, UTFSM Santiago.

    16Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    Otro aspecto bastante útil del uso del If, por su sencillez,  es en el caso de que dado una condición

    en especial se asigne un valor, como lo muestra el siguiente ejemplo.

    Que es la forma más simplificada del uso del If.

    Un uso bastante común del uso del "If" , es en el caso de condicionar el valor de una variable enfunción de otras dos o más variables. Como lo muestra el siguiente ejemplo:

    3.4.3. 

    Declaración de un "Select Case"

    El “Case” funciona de manera similar al ‘If ’. Solo se puede manejar una variable para las

    condiciones, siendo ésta variable de cualquier tipo. Para declarar un ‘Case’ se hace de la siguiente

    manera:

    Las Cláusulas tienen 3 tipos de opciones para definir, las cuales se mostrarán a continuación:  Forma 1: lo primero y más sencillo es definir una expresión, la cual puede

    ser una variable, valor o un ‘True’ o ‘False’, lo que indicará que la

    variable será igual a esta expresión.

    á:    Forma 2: en el caso de que la variable sea de carácter numérica, se puede

    definir un rango para la aplicación del caso mediante los 2 valores

    y la expresión ‘To’, de la siguiente manera.

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    18/119

    Hormigón Armado I, UTFSM Santiago.

    17Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    á: 1 2   Forma 3: la última forma es ocupar restricciones del tipo =, = . Para

    poder utilizar este forma es necesario anteponer la expresión ‘Is’.

    á:

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    19/119

    Hormigón Armado I, UTFSM Santiago.

    18Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    3.5. Llamado de Sub, Funciones y Variables Desde Otras Secciones

    Cuando se tienen definidas funciones, rutinas y/o variables en distintas ubicaciones, sean éstas

    módulos, formularios u hojas de cálculo, éstas pueden ser utilizadas desde cualquier ubicación con

    tan sólo anteponer el nombre de la ubicación de lo que se esté buscando, siempre y cuando estén

    definidos como público. Se mostrarán ejemplos para llamar todos los tipos de elementos

    Para hacer el llamado de una función, sub, variable, objeto, etc. Se debe Anteponer la ubicación de

    éste. Ejemplo:

      Sub que está en un módulo:

    Del mismo modo se llama a funciones que estén en algún módulo.

     

    Funciones que estén en algún formulario:

    En el caso de los objetos(etiquetas, cuadros de textos, cuadros de listas, etc). Se

    llaman igual, por ejemplo se quiere el valor de un cuadro de texto que está en un

    cierto formulario sería:

    El uso de "Value" se verá posteriormente, pero es para especificar que se quiere el

    valor del cuadro de texto.

      Variable que está definida en una hora o formulario. 

    Para llamar a una variable que fue definida en alguna hoja, o en algún formulario

    en específico, basta con identificar su origen.

    Aquí se mostró un par de ejemplos, pero se puede extrapolar a cualquier combinación, lo

    importante es mencionar la ubicación de donde se encuentra el elemento de interés. Además se

    puede efectuar lo mismo con elementos de interfaz gráfica que aún no se han mencionado, tales

    como:

      TextBox

      CheckBox

      ListBox

      SpinButton

      ComboBox

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    20/119

    Hormigón Armado I, UTFSM Santiago.

    19Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

      OptionButton

      CommandButton

      Label

    Notar que sólo es necesario anteponer el nombre de la sección en la que se encuentre.

    3.6. Herramientas útiles de Visual Basic

    En esta sección se mostrarán distintos tipos de herramientas que son bastante útiles en la

    programación, además de algunas herramientas para utilizar algunas opciones de Excel y algunos

    códigos de programación con características muy útiles.

    3.6.1. 

    Mensaje en Pantalla

    Una de las herramientas más útiles al momento de comenzar a programar es el mensaje en

    pantalla, debido a que pidiéndole a la rutina que muestre un valor obtenido o cualquier cosa en

    medio de un código es bastante útil para:

      Identificar errores

      Entender un código

      Uso de interfaz gráfica

    La forma de hacer que muestre algo por pantalla es mediante el código . A modo de ejemplo:

    Lo que se mostrará por pantalla es lo siguiente:

    Algunas propiedades de los mensajes de texto:

      Agregar un formato

    Formato General:

    o  VbCritical:

    o  VbQuestion:

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    21/119

    Hormigón Armado I, UTFSM Santiago.

    20Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    o  VbInformation:

    o  VbExclamation:

    La forma de agregar estos formatos generales, es colocándolos después del textomediante posterior a una coma.

    Ejemplo:

    Mostrará:

    Formato de botones (msgbox como función):

    o  VbAbortRetryIgnore: mostrará los botones Anular, Reintentar, Omitir.

    o  VbOKCancel: mostrará los botones Aceptar y Cancelar.

    o  VbOKOnly: mostrará sólo el botón Aceptar.

    VbYesNo: mostrará los botones Si y No.

    o  VbYesNoCancel: mostrará los botones Si, No y Cancelar.

    Lo lógico sería utilizar el msgbox  con distinto tipos de botones para obtener algún retorno,

    y en función de esta continuar con el código. En este caso, como el mensaje de texto

    devolvería un valor (dependiendo del botón seleccionado por el usuario) es correcto decir

    que se utilizará como función, de modo que se debe programar como tal.

    En primer lugar los valores que se obtienen en función del botón seleccionado son:

    Constante Valor

    Aceptar 1

    Cancelar 2

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    22/119

    Hormigón Armado I, UTFSM Santiago.

    21Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    Anular 3

    Reintentar 4

    Omitir 5

    Si 6

    No 7

    Y dado que es una función se programa como tal. Ejemplo:

    Se mostrará:

    Existen más opciones de formato de botones, en esta sección se expusieron lo que se

    consideraron fundamentales.

     

    Agregar un Título: se debe ingresar posterior al formato escogido. Por ejemplo,

    (Caso de utilizar el msgbox como sólo un mensaje)

    (Caso de utilizar el msgbox  como función)

    En el último ejemplo se mostrará,

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    23/119

    Hormigón Armado I, UTFSM Santiago.

    22Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    3.6.2.  Concatenar (&)

    Esta herramienta sirve para juntar varios textos distintos y a su vez variables numéricas dentro un

    texto. En las planillas de cálculo ésta opción se puede utilizar mediante la siguiente forma

    =1,2,…  En el caso de la programación cuando se requiera unir textos con valores numéricos, sea esto para

    una variable o algún mensaje, para esto se debe utilizar el carácter “&”, un ejemplo clásico es aldefinir una celda

    En el ejemplo anterior el mensaje de texto mostrará el valor de la variable TipoAcero:

    3.7. 

    Manejo de Arreglos (Matrices).

    La utilización de los arreglos es un aspecto fundamental que debemos conocer y aplicar. Las

    principales razones de que son de gran utilidad son:

      Para realizar operaciones matemáticas.

      Orden de nuestras variables.

      Hacer códigos más eficientes.

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    24/119

    Hormigón Armado I, UTFSM Santiago.

    23Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    El último aspecto es de gran importancia dado que la experiencia nos dice que el uso de matrices

    mejora considerablemente el tiempo de ejecución de una rutina.

    Para comenzar, un arreglo es una variable que almacena datos ordenados en columnas y filas. En

    el caso de tener un arreglo con solamente filas hablaremos de un vector. Y en su defecto

    estaremos utilizando una Matriz.

    3.7.1.  Declaración de un Arreglo

    Visual Basic tiene dos formas de declarar un arreglo, que es:

    En ambos casos son vectores que almacenan datos tipo Double. En lo que difieren ambas formas

    es que en el primer caso se tiene un elemento más, dado que considera que el elemento

    PrimeraForma(0).

    La manera de llenar dichos vectores as asignándole un valor a una cierta posición del arreglo, es

    decir:

    Para el caso de querer declarar una matriz (filas y columnas) es análogo.

    Al igual que el ejemplo del vector, se difiere sólo en que en el primer caso considera un elemento

    más, debido a que toma desde el elemento cero.

    La forma de llenar el arreglo es análogo al caso del vector, es decir:

    3.7.2.  Dimensiones de un arreglo

    Para conocer la dimensión que tiene un arreglo utilizaremos la función UBound, esta nos entrega

    el índice del último valor del arreglo. 

    En el caso de los Vectores definidos previamente al utilizar:

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    25/119

    Hormigón Armado I, UTFSM Santiago.

    24Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    ó  

    Obtendríamos en ambos casos el número 10, debido a que para ambos vectores  el últimoelemento está en la posición 10.En el caso de estar interesados en conocer la cantidad de filas y columnas que tiene una matriz, el

    procedimiento es el mismo, pero se debe especificar si se quiere conocer las filas o las columnas,mediante el número 1 ó 2 de la siguiente forma.

    Lo que obtendríamos en el caso anterior sería 10 y 5.También es bueno conocer la función Lbound, que entrega el índice del primer elemento del

    arreglo. Funciona igual que la función Ubound. Es decir si utilizamos:

    Esto para el caso de preguntar por los Vectores. Se entregan valores distintos debido a que como

    se mencionó anteriormente, uno parte desde cero y el otro desde uno. Dependiendo de cómo se

    definieron.

    3.7.3.  Redimensionar un Arreglo

    Puede que inicialmente no conozcamos la dimensiones que tendrá el vector o matriz que

    utilizaremos, para esto existe la función Redim y Redim Preserve.

    La función Redim se utiliza para redimensionar un arreglo, por ejemplo:

    En el caso anterior se observa que se redimensionó la matriz a una que tuviese una fila y una

    columna más. Para el uso de esta función se debe tener en cuenta lo siguiente: 

      La función Redim no conserva los valores previos, borra y asigna dimensiones nuevas.

      Para que se pueda utilizar, el arreglo tuvo que previamente ser definido como SIN

    DIMENSIONES, es decir de la siguiente forma:

    La función Redim Preserve  se utiliza para redimensionar un arreglo pero CONSERVANDO los

    valores almacenados. Por ejemplo:

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    26/119

    Hormigón Armado I, UTFSM Santiago.

    25Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    En este caso se agregó una columna. Para el uso de esta función se debe tener en cuenta lo

    siguiente:

      Solo se pueden redimensionar la cantidad de columnas.

      En este caso también se debe haber definido el arreglo como sin dimensiones.

    Comentario:  la función Redim Preserve, es de gran utilidad debido a que muchas veces no

    tendremos certeza de cuántos elementos tendrá la matriz a utilizar. el siguiente ejemplo se

    muestra el uso de la función Redim Preserve.

    Ejemplo función Redim Preserve:

    Se llenará una matriz que contenga los datos de la siguiente tabla:

    Ilustración ¡Error! Utilice la pestaña Inicio para aplicar 0 al texto que desea que aparezca aquí. .4: datos que contendrá lamatriz creada.

    La intención de este ejemplo es crear una matriz que almacene los datos la tabla mostrada. Ahora

    bien, la gracia es que se hará genérica de modo que si la tabla de datos tuviese una fila más, la

    matriz pudiese tomarla.

    El código es:

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    27/119

    Hormigón Armado I, UTFSM Santiago.

    26Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    Entonces se observa que lo que se hizo es:

      Declarar la Variable Viga_Ancho_Alto  como un arreglo SIN DIMENSIÓN. Para así

    posteriormente poder utilizar la función Redim Preserve.

      Se entrará al Do While, siempre y cuando la celda no esté vacía. Esto es por que como

    queremos que la matriz contenga todos los datos que yo llene en la tabla, debemos saber

    cuándo parar.

      Como se mencionó previamente, la función Redim Preserve solo permite redimensionar la

    cantidad de columnas, por lo que en verdad uno está haciendo es agregando los datos de la

    tabla de una forma Traspuesta. Es decir, si uno puede ver el contenido de la matriz creada

    sería así:

    Por ende los mensajes por pantalla que mostraría sería 3 5. Que corresponden a tres filas y cincocolumnas.

    3.7.4. 

    Pegar un arreglo en una hoja de cálculo

    Muy útil para visualizar los resultados obtenidos es pegar los datos de un arreglo en una hoja de

    cálculo. 

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    28/119

    Hormigón Armado I, UTFSM Santiago.

    27Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    Una formar de hacer esto es recorriendo todo el arreglo e ir vaciando su contenido en celdas.

    Mediante el uso de la sentencia For  esto es sencillo. Sin embargo no es la forma más eficiente.

    Una manera óptima de hacerlo es seleccionado un rango y pegando los datos. (mucho más rápido

    que corriendo todos los elementos de la matriz y pegando uno a uno).

    Se selecciona el rango donde se mostrarán los valores, para esto hay que conocer las dimensionesde la matriz, se utilizará la función UBound:

    Donde el rango es:

    Se utilizó la función Range para seleccionar el rango. La celda 11,2 que corresponde a la "B11".se asignó porque ahí se copiarán los datos.

    Ahora bien los datos se copiarán tal cual están en la matriz. Y como se comentó anteriormente

    estos están transpuestos a los originales. Por lo que si se desea pegar los datos como estaban

    originalmente se puede ocupar la función de Excel Transponer. Como se muestra a continuación.

    Donde Rango es:

    Corriendo el código lo que se obtiene es:

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    29/119

    Hormigón Armado I, UTFSM Santiago.

    28Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    Ilustración ¡Error! Utilice la pestaña Inicio para aplicar 0 al texto que desea que aparezca aquí. .5: Se muestra loobtenido de mostrar los datos de una matriz en una hoja de cálculo.

    Lo que se hizo en este ejemplo fue:

     

    Crear una matriz general para la cantidad de filas que se tengan en la tabla que comienza

    en la celda "B2".

      Almacenar los datos en esta matriz.

      Mostrar los datos a través de una hoja de cálculo. Mostrarlos según distribución del

    arreglo y la transpuesta de éste.

    3.8. Manejo de Cadenas de Texto.

    En este apartado se verán algunas funciones para trabajar las cadenas de texto (Strings). El buen

    manejo de las cadenas de texto facilita a los usuarios a crear rutinas que apunten a manejo dedatos, modificación de archivos, creación de archivos, lectura, etcétera.

    Las principales funciones son:

    Para los ejemplo se usará la cadena de texto:

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    30/119

    Hormigón Armado I, UTFSM Santiago.

    29Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    3.8.1. 

    Función REPLACE

    Remplaza un caracter de una cadena de texto por otro a elección. Por ejemplo, al utilizar:

    Se mostrará por pantalla el texto:

    3.8.2. 

    Función LEN

    Entrega la cantidad de caracteres que posee la cadena de texto. Por ejemplo:

    Se obtiene 33. 

    3.8.3. 

    Función SPLIT

    Crea un vector que almacena lo filtrado de una cadena. La dimensión que se asigna al vector

    depende de la cantidad de particiones en que queda la cadena después del filtro.

    A modo de ejemplo, si uno utiliza:

    El mensaje por pantalla mostrará 4. Debido a que se filtró todo lo que no lleva espacio " ". Porende los elementos del vector generado serán:

    3.8.4.  Función LEFT

    Devuelve la parte de la cadena que se encuentra a la izquierda de la posición indicada.

    Considerando el caracter de la posición indicada. Por ejemplo, al utilizar:

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    31/119

    Hormigón Armado I, UTFSM Santiago.

    30Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    En la posición 12 se encuentra la letra "" de "". Por ende se mostrará:

    3.8.5. 

    Función RIGHT

    Devuelve la parte de la cadena que se encuentra a derecha de la posición indicada. La posición se

    contabiliza del último caracter hacia la izquierda. Considerando el caracter de la posición indicada.

    Por ejemplo, al utilizar:

    En la posición 15 de derecha a izquierda se encuentra la letra "" de "ó". Por ende semostrará:

    3.8.6. 

    Función MID

    Con esta función se puede extraer parte de una cadena. Se debe seleccionar la posición desde

    donde se comenzará a extraer, y la cantidad de caracteres a extraer. Por ejemplo:

    En la posición 10  se encuentra la letra "" de "". Y como se extraerán 3  caracteres semostrará:

    3.8.7. 

    Función INSTR

    Devuelve la posición de una caracter especificado, dentro de una cadena. En caso que el caracter

    esté más de una vez, solo devolverá la primera posición. por ejemplo:

    La letra "" se encuentra en las posiciones 7, 12, 15, 17 31.  Notar que esta función es sensible alas mayúsculas, y no considera el caracter ""  igual a "". Lo que mostrará por pantalla será 7.debido que es la primera posición donde se encuentra el caracter buscado.

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    32/119

    Hormigón Armado I, UTFSM Santiago.

    31Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    3.8.8. 

    Función JOIN

    Función para vectores que sirve para unir los elementos de un vector. Por ejemplo:

    Se unirá "ó" con "", mediante una separación " ".

    3.8.9.  Función LCASE

    Función que cambia de mayúsculas a minúsculas. Por ejemplo:

    Se mostrará:

    3.8.10. Función UCASE

    Función que cambia de minúsculas a mayúsculas. Por ejemplo:

    Se mostrará:

    3.9. Manejo de Archivos de Textos

    En esta sección se verá los aspectos básicos de manejar archivos de texto. La utilidad que tieneesto apunta a que muchos de los programas que utilizamos en ingeniería civil permiten exportar

    sus datos en un formato de texto. Por ende aprender a manejar estos archivos y complementando

    con el manejo de cadenas de texto puede ser de gran utilidad.

    Entonces, a modo de motivación la razones del porqué aprender esto:

      Poder leer y manipular la información que exportan los programas.

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    33/119

    Hormigón Armado I, UTFSM Santiago.

    32Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

      El mantener la información en archivos de texto hace que las planillas de Excel no estén

    colapsadas implicando rutinas más eficientes en velocidad.

    3.9.1.  Abrir un Archivo de Texto

    para abrir un archivo de texto es necesario conocer la dirección donde se encuentra. Para esto seutilizará una función de  muy útil. La función ℎ.ℎ entrega la ruta donde seencuentra el libro de Excel que se está utilizando. Por ejemplo:

    Mostrará que el archivo que estoy utilizando está en el escritorio (dado que ahí lo tengo

    guardado).

    Ahora bien, supongamos que se quiere abrir un archivo de texto que se llama

    y se

    encuentra en la carpeta que está en el escritorio con nombre . Se debe hacer de la siguienteforma:

    Tener en consideración:

     

    Se creó una variable tipo texto que incluye la dirección en formato que utiliza . Notarque al final de la dirección tiene que estar especificado que el archivo corresponde a unaarchivo de texto, por eso la extensión .. 

      hace referencia a que el archivo será abierto para ser leído, no para poder escribirsobre este.

        # hace referencia al nombre de archivo abierto, para efectos de código, y como severá un poco más adelante, VBa tratará a este archivo abierto como número 1.Se pueden tener muchos archivos de texto abiertos a la vez.

      El archivo se encontrará abierto pero de forma interna, es decir como usuarios no

    notaremos que el archivo está abierto debido a que no se abre ninguna pestaña en el

    computador.

    3.9.2. 

    Leer un Archivo de Texto

    Una vez que se ha abierto el archivo, se está en condición de comenzar a leerlo. La forma de hacer

    esto:

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    34/119

    Hormigón Armado I, UTFSM Santiago.

    33Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    Donde:

        hace referencia a que se hará lo que se especifica hasta que elarchivo llegue a su fin. (END OF FILE). El número 1, es porque es el archivo número 1. Seculmina con .

      #,  se refiere a leer una línea y asignársela a la variable cadena.

    Por ende se recorre el archivo de texto y cada línea pasa a ser tomada por una variable que se

    llamó cadena. Teniendo la línea como cadena de texto asignada en una variable se puede trabajar

    ésta mediante lo que se aprendió en (Manejo de Cadenas de Texto.) 

    3.9.3. 

    Escribir un Archivo de Texto Nuevo:

    En este caso se debe abrir el archivo de texto en el cual se va a escribir, este puede o no existir, de

    no existir   lo crea. Por ende ya no sería de la forma , tal como se muestra acontinuación:

    Considerar qué:

        hace referencia a que el archivo que se abrirá será utilizado para escribir.  Si el archivo ya existe y se abre como  se borrará todo lo que éste contiene.  #, ""  se refiere a escribir el texto.  cada vez que se utiliza #, "" es una línea nueva. Por ende en este caso se

    tendría:

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    35/119

    Hormigón Armado I, UTFSM Santiago.

    34Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    Ilustración ¡Error! Utilice la pestaña Inicio para aplicar 0 al texto que desea que aparezca aquí. .6: resultado de escribiren un archivo de texto.

    3.9.4.  Escribir un Archivo de Texto Conservando lo Almacenado

    En este caso se debe abrir el archivo de texto en el cual se va a escribir conservando lo que ya

    tiene. Solo se podrá escribir sobre el archivo de texto y no leerlo.

    Considerar qué:

         hace referencia a que el archivo se abrirá para seguir escribiendo sobre este.  El texto nuevo se escribirá a continuación del existente. Es decir por debajo de la última

    línea.

    3.9.5.  Ejemplo de Utilidad

    Supongamos tenemos un registro de aceleración basal del terremoto del 2010, denominado

    concepción. La fuente es una estación que contiene la implementación de un acelerógrafo.

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    36/119

    Hormigón Armado I, UTFSM Santiago.

    35Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    El formato del registro está en un archivo de texto, como se muestra en la siguiente imagen:

    Ilustración ¡Error! Utilice la pestaña Inicio para aplicar 0 al texto que desea que aparezca aquí..7: registro deconcepción.

    Donde,

    En la primera columna corresponde al tiempo y la segunda a la aceleración percibida en /2. Seobserva que los datos están separados por un espacio.

    Si se desea extraer estos datos y graficarlos en Excel para ver el tiempo historia sería:

    Se observa qué:

      Se abrió el archivo de texto para ser leído.

      Se declaró una matriz que irá almacenando todos los datos que contenga el archivo de

    texto. Esto se aprendió en la sección Manejo de Arreglos (Matrices). 

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    37/119

    Hormigón Armado I, UTFSM Santiago.

    36Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

      Se utilizó el manejo de cadenas para poder trabajar con la información que contenía el

    archivo de texto. Esto se aprendió en la sección Manejo de Cadenas de Texto. 

    Ahora bien, como ya se tiene una matriz que contiene todos los gráficos, se puede pasar dicha

    matriz a una hoja de cálculo y mostrar la gráfica de los datos obtenidos. La forma de pasar los

    datos de una matriz a la hoja de cálculo se explico en la sección Manejo de Arreglos (Matrices). 

    Se obtiene:

    Ilustración ¡Error! Utilice la pestaña Inicio para aplicar 0 al texto que desea que aparezca aquí. .8: resultado de graficarlos datos de la matriz registro aceleración.

    3.10. 

    Funciones Útiles de Microsoft Excel

    En esta sección se presentarán algunas funciones útiles de Microsoft Excel, pensando en ser

    utilizadas y llamadas desde Visual Basic.

    3.10.1. Grabar Macro

    Microsoft Excel presenta una herramienta de gran utilidad que permite grabar lo que uno realiza

    en las hojas de cálculo, con el fin de posteriormente realizar la misma acción nuevamente. La idea

    es que se utilice para rutinas que son repetitivas.

    Pero la gran característica que posee es que al momento de ser grabada la acción todo queda

    registrado como una rutina   que se almacena con el nombre de  en lenguaje VisualBasic. El siguiente ejemplo muestra la utilidad de esto:

      Para comenzar a grabar Macro, ir a →→ … 

    -5

    -3

    -1

    1

    3

    5

    0 10 20 30 40 50 60 70 80 90 100

       A

       c   e    l   e   r   a   c   i    ó   n    [   g    ]

    Tiempo [seg]

    Tiempo historia

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    38/119

    Hormigón Armado I, UTFSM Santiago.

    37Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    Ilustración ¡Error! Utilice la pestaña Inicio para aplicar 0 al texto que desea que aparezca aquí. .9: herramienta de Excelque permite grabar una rutina y después visualizar su código.

    Se abre una ventana emergente que solicita al usuario ingresar el nombre con cual se grabará la

    rutina. Esta se grabará en el ambiente de Visual Basic sección Módulos. Se aprendió en la sección

    Ambiente Visual Basic. 

    Posterior a esto ya se está grabando todo y escribiendo instantáneamente lo que uno realice en

    una rutina Sub. Por ejemplo, supongamos que ya se realiza lo que se observa a continuación:

    Ilustración ¡Error! Utilice la pestaña Inicio para aplicar 0 al texto que desea que aparezca aquí. .10: ejemplo de grabaruna Macro.

    Para detener la grabación se debe ir a → → … Luego ahí mismo sepuede acceder a ver lo grabado, poner →→ …→. Y se verálo siguiente:

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    39/119

    Hormigón Armado I, UTFSM Santiago.

    38Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    Si se observa se grabó todo lo que se ejecutó. Ahora bien, el lenguaje en el cual se graba quizás nova muy de la mano de cómo se ha enseñado en este tutorial, dado que existen muchas formas de

    hacer lo mismo. Por ejemplo, el siguiente código realiza lo mismo, pero más acorde a lo que se ha

    enseñado.

    Que claramente es más legible.

    Comentario: el uso de esta herramienta es muy potente, debido a que permite al usuario a hacer

    mucho sabiendo poco, es simplemente grabar cosas, verlas, modificarlas un poco y en términos

    concreto copiarlas. Para cuando uno está aprendiendo es fundamental.

    3.10.2. 

    BuscarV –

     BuscarH

    Esta función busca un valor específico en la primera columna de una matriz de tabla y devuelve, en

    la misma fila, un valor de otra columna de dicha matriz de tabla. La V de BUSCARV significa

    vertical. Utilicar BUSCARV en lugar de BUSCARH si los valores de comparación se encuentran en

    una columna situada a la izquierda de los datos que desea buscar.

    = buscarVvalor_buscado;matriz_buscar_en; indicador_columnas; ordenado 

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    40/119

    Hormigón Armado I, UTFSM Santiago.

    39Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    Donde sus parámetros de entrada son:

      Valor_buscado:  valor que se buscará en la primera columna de la matriz de tabla.

    Valor_buscado puede ser un valor o una referencia. Si valor_buscado es inferior al menor

    de los valores de la primera columna de matriz_buscar_en, BUSCARV devuelve al valor de

    error #N/A.

      Matriz_buscar_en:  dos o más columnas de datos. Use una referencia a un rango o un

    nombre de rango. Los valores de la primera columna de matriz_buscar_en son los valores

    que busca valor_buscado. Estos valores pueden ser texto, números o valores lógicos. Las

    mayúsculas y minúsculas del texto son equivalentes.

      Indicador_columnas:  número de columna de matriz_buscar_en  desde la cual debe

    devolverse el valor coincidente. Si el argumento indicador_columnas  es igual a 1, la

    función devuelve el valor de la primera columna del argumento matriz_buscar_en; si el

    argumento indicador_columnas es igual a 2, devuelve el valor de la segunda columna de

    matriz_buscar_en y así sucesivamente.

    Si indicador_columnas es:

    o  Inferior a 1, BUSCARV devuelve al valor de error #VALUE!o  Superior al número de columnas de matriz_buscar_en, BUSCARV devuelve el valor

    de error #REF!

      Ordenado: valor lógico que especifica si BUSCARV va a buscar una coincidencia exacta o

    aproximada:

    Si se omite o es VERDADERO, se devolverá una coincidencia exacta o aproximada. Si

    no localiza ninguna coincidencia exacta, devolverá el siguiente valor más alto inferior a

    valor_buscado. 

    Los valores de la primera columna de matriz_buscar_en deben estar clasificados según

    un criterio de ordenación ascendente; en caso contrario, es posible que BUSCARV no

    devuelva el valor correcto. Para obtener más información, vea Ordenar datos. 

    o  Si es FALSO, BUSCARV sólo buscará una coincidencia exacta. En este caso, no esnecesario ordenar los valores de la primera columna de matriz_buscar_en. Si hay dos

    o más valores en la primera columna de matriz_buscar_en, se utilizará el primer valor

    encontrado. Si no se encuentra una coincidencia exacta, se devolverá el valor de error#N/A.

    3.10.3. K.esimo.mayor & K.esimo.menor

    Devuelve el valor k-ésimo mayor (o menor) de un conjunto de datos:

    http://appendpopup%28this%2C%27837837018_1%27%29/http://office.microsoft.com/es-es/excel-help/redir/HP010073947.aspx?CTT=5&origin=HP010069835http://office.microsoft.com/es-es/excel-help/redir/HP010073947.aspx?CTT=5&origin=HP010069835http://appendpopup%28this%2C%27837837018_1%27%29/

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    41/119

    Hormigón Armado I, UTFSM Santiago.

    40Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    =K.esimo.mayomatriz;k.esimo_buscado 

    3.11.  Manejo de Celdas

    Las celdas de las planillas se pueden declarar de dos formas distintas. Mediante la denotación decelda o mediante un rango, este último puede seleccionar más de una celda.

    3.11.1. Referenciar una Celda mediante Cells().

    En este caso se debe conocer el número de Fila y de Columna a la cual se quiere referenciar. En la

    interfaz clásica de Hoja de Excel, se tiene que por el costado izquierdo están numeradas las filas,

    mientras que por el costado superior se tienen las letras de las diferentes columnas.

    La forma de referencial la celda es:

    Como en este caso se requiere conocer el número de la fila (no la letra). Para esto, en vez de

    contar las leras es conveniente seleccionar el rango, y Excel arroja el número de filas.

    Ejemplo:

    Se requiere asignar el valor de la Celda "5" a la variable (previamente definida) . Entonces se tiene:

      Número de la fila: 5   Número de la columna: ¿ ? → dos opciones, contar o seleccionar rango y que nos diga el

    propio Excel la fila.

    Ilustración ¡Error! Utilice la pestaña Inicio para aplicar 0 al texto que desea que aparezca aquí..11: seleccionando unrango se obtiene el número de la columna que tiene cierta celda. En el ejemplo la celda “AA5” 

    Ya sabiendo la fila y la columna de la celda a referenciar se lleva a código.

    Ventaja

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    42/119

    Hormigón Armado I, UTFSM Santiago.

    41Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    La ventaja de referenciar una celda de este modo es que es de fácil uso para códigos en que es

    necesario variar la celda. Porque dado que se ingresa la fila y la columna, estos perfectamente

    podrían tener un valor variable que permita el poder recorrer una tabla de datos, por ejemplo.

    3.11.2. 

    Referenciar una Celda o Rango Mediante Range()

    Otra forma de referenciar una celda es mediante la letra de su columna y el número de su fila. De

    la siguiente forma:

    Para el caso de referenciar un rango se denota de la siguiente forma:

    Ahora bien, con lo ya aprendido, la celda uno y dos las podemos escribir como Cells()  o comoRange(). Además se puede asignar mediante la notación que ocupa Excel para un Rango. Ver el

    siguiente ejemplo.

    Ejemplo de uso:

    Es muy común trabajar con matrices en los códigos. Por ende, si se requiere asignar a una matriz

    un rango de una hoja, una alternativa sería hacerlo de la siguiente forma:

    Ilustración ¡Error! Utilice la pestaña Inicio para aplicar 0 al texto que desea que aparezca aquí. .12: tabla de una hoja deExcel que pasará a ser una matriz mediante Range(). 

    Por lo tanto el Rango que se desea utilizar es desde la celda 4 a la 8. Por ende según lo antesexplicado se tiene:

      Celda 1: 4   Celda 2: 8 

    Para el código, se creará una matriz que se llamará Geometría_Vigas  y se le asignará el rango

    mencionado.

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    43/119

    Hormigón Armado I, UTFSM Santiago.

    42Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    Los tres casos cumplen con el objetivo, creándose una Matriz de 5 filas y 4 columnas. En donde suprimera columna será el nombre de la viga, la segunda el alto, tercera el ancho y cuarta el

    recubrimiento.

    Importante

    La variable Geometría_Vigas no debe ser previamente declarada (Dim G…). Todo lo referente a

    matrices se verá en un apartado posterior.

    Ventajas 

    Las ventajas de preferir usar Range() antes que Cells() son:

      Para el caso de querer referenciar una celda en específico y que ésta no variará (celda fija).

    Es conveniente ocupar Range() debido a que el código queda más legible. (es más fácil

    encontrar la celda "AA56" que la celda 56,27).  Para llenar Matrices es de gran utilidad.

    3.12. 

    Rutina Buscar Objetivo

    Esta función de Excel es una de las más potentes que posee este programa y de gran utilidad. Loque hace es variar el valor de una celda, de tal manera que una segunda celda, la cual depende de

    la primera, obtenga un valor dado específico.

    La función es muy útil en los casos donde la variable buscada no se logra despejar explícitamente

    de una ecuación, sino que está implícita en ella y para la obtención de ésta se requiere hacer

    iteraciones.

    3.12.1. 

    Buscar Objetivo, función de Excel.

    La función es propia de Excel y se puede utilizar yendo a Datos → Análisis → Buscar Objetivo… Ejemplo:

    Se tiene una Función que depende de la variable . Se quiere que la función sea igual a 45. Nota:  se tiene la opción de hacer la función objetivo a la celda C3 variando la celda B3. Sin

    embargo, lo que se hará será crear en otra celda el delta entre lo obtenido y lo que se desea

    obtener, y a ésta función aplicar Buscar objetivo variando la celda B3.

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    44/119

    Hormigón Armado I, UTFSM Santiago.

    43Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    ¿Por qué esto?, la razón del porqué es debido a que muchas funciones que se utilizan son muy

    complejas, lo que hace dificultoso que Excel dé con el valor exacto que cumpla la condición. Es por

    esto que creando una celda como el diferencial uno puede asignar una tolerancia,  ¿cómo?,

    asignando a la celda E3 la siguiente fórmula:

    De este modo, se dejará de iterar cuando el F(x) buscado con el F(x) obtenido difieran en la

    centésima.

    Ilustración ¡Error! Utilice la pestaña Inicio para aplicar 0 al texto que desea que aparezca aquí. .13: función buscarobjetivo.

    Se observa en el ejemplo anterior que la función requiere:

      Definir la celda: corresponde a la celda a la cual se obtendrá el valor deseado.

      Con el Valor: corresponde al valor deseado.

      Cambiando la celda: corresponde a la celda que se iterará su valor.

    Al apretar aceptar comienza la iteración que es bastante rápida.

    Nota: hay funciones que tiene más de una solución. Y Buscar Objetivo no detecta esto, solamente

    se detiene al momento en que encuentra la primera. Por ende es recomendable comenzar la

    iteración (dejar el valor de x en este caso) en un valor cercano al esperado.

    3.12.2. Buscar Objetivo, programada en Visual Basic A.

    Al ser la función Buscar Objetivo una iteración de una variable que se detiene al encontrar un

    resultado. Es posible programar una rutina que haga lo mismo y que incluya la sentencia “Do

    While”. Sin embargo nuestra experiencia nos dice que los resultados de hacer esto no son mejores

    que la función Buscar Objetivo, debido al tiempo en la obtención del resultado.

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    45/119

    Hormigón Armado I, UTFSM Santiago.

    44Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    Es por esta razón que es preferible utilizar la función Buscar Objetivo en una hoja de cálculo, pero

    programarla por dentro.

    La manera de declarar esta función desde VB es la siguiente:

    Donde,

      La primera celda corresponde a la celda donde se espera el valor.

      “valor” corresponde al valor esperado 

      Y la segunda celda en la celda que se iterará.

    La mayor utilidad que tiene definir la función mediante VB, es que permite generar varias

    funciones objetivos. Cómo se verá en el siguiente ejemplo:

    Supongamos que en el ejemplo anterior se desea utilizar la función Buscar Objetivo para más de

    una celda:

    Ilustración ¡Error! Utilice la pestaña Inicio para aplicar 0 al texto que desea que aparezca aquí. .14: función buscarobjetivo, para múltiple celdas.

    Para esto se requiere de la siguiente programación:

    Que ejecutará la función objetivo en todas las filas requeridas y de manera rápida.

    3.13.  Funciones matemáticas de VB.

    Es necesario saber cómo aplicar algunas herramientas matemáticas esenciales, como lo pueden

    ser el cálculo de un coseno, seno o un logaritmo entre otros, para esto existe una herramienta

    matemática la cual ofrece de manera sencilla todas las opciones disponibles. Para ocupar esta

    herramienta se declara de la siguiente manera:

    Sin embargo para la aplicación no es necesario anteponer Math. 

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    46/119

    Hormigón Armado I, UTFSM Santiago.

    45Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    Las funciones matemáticas más utilizadas son:

    FUNCIÓN DESCRIPCIÓN

    Abs Devuelve el valor absoluto de un número.

    Acos Devuelve el ángulo cuyo coseno es el número especificado.

    Asin Devuelve el ángulo cuyo seno es el número especificado.Atan Devuelve el ángulo cuya tangente corresponde al número especificado.

    Ceiling Devuelve el valor entero más pequeño que es mayor oigual Decimal especificado o Double.

    Cos Devuelve el coseno del ángulo especificado.

    Cosh Devuelve el coseno hiperbólico del ángulo especificado.

    Exp Devuelve e (base de los logaritmos naturales) se produce a la potenciaespecificada.

    Floor Devuelve el entero más grande que sea menor o igual queDecimal o el númeroespecificado de Double.

    IEEERemainder Devuelve el resto que es el resultado de la división de un número especificadopor otro número especificado.

    Log Devuelve el logaritmo natural (de e base) de un número especificado o ellogaritmo de un número especificado en una base especificada.

    Log10 Devuelve el logaritmo en base 10 de un número especificado.

    Max Devuelve el mayor de dos números.

    Min Devuelve el menor de dos números.

    Round Devuelve un valor de Decimal o de Double redondeado al valor entero máscercano o a un número especificado de dígitos fraccionarios.

    Sin Devuelve el seno del ángulo especificado.

    Sinh Devuelve el seno hiperbólico del ángulo especificado.Sqrt Devuelve la raíz cuadrada de un número especificado.

    Tan Devuelve la tangente del ángulo especificado.

    Tanh Devuelve la tangente hiperbólica del ángulo especificado.

    Truncate Calcula la parte entera de Decimal o un número especificado de Double.

    Tabla 1: funciones matemáticas de Visual Basic.

    3.14.  Funciones de Excel

    De igual manera que en la sección anterior, se pueden utilizar funciones utilizadas frecuentementeen una planilla de Excel. Es importante tener esto en consideración debido a que Excel contiene

    una infinidad de funciones que pueden ser usadas en VB.

    Para utilizar estas funciones es necesario ingresar el siguiente código:

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    47/119

    Hormigón Armado I, UTFSM Santiago.

    46Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    3.15.  Manejo de Errores

    Los errores pueden provenir de un gran espectro de posibilidades, las cuales tengan que ver con la

    programación en sí. Por ejemplo el caso de no definir una variable, o errores matemáticos como

    tener una división por 0, son los errores más recurrentes.Generalmente la mayoría de los errores   los detecta e informa al usuario mediante unaventana emergente como la siguiente:

    Que sería en el caso que por algún motivo se haya ejecutado una división por cero. Se observa que

    en este caso es bastante específico .Los errores más recurrentes son:

      División por cero:  dirá explícitamente División por cero.

     

    Tipo de variable: este error ocurre cuando una variable toma un tipo de dato que no lecorresponde. Por ejemplo declarar una variable como   y asignarle un valor detexto.  dirá que No coinciden los tipos.

      Error matricial: en el caso que se llame a un índice de una matriz, pero que este no exista.

    Por ejemplo un vector de cinco elementos y que se llame a un elemento seis.  diráque Sub índice fuera del intervalo.

    Entre muchos otros, siendo estos del tipo ejecución. Muchos de estos   los detecta y da laalternativa de ir a la sección de código donde se encuentra la falta. ¿cómo? mediante el botón

    depurar, que lo que hace, es amistosamente dirigirnos a la parte del código que se encuentra la

    inconsistencia y no solo eso sino que además la destaca en amarillo. Muy útil.

    Sin embargo, existe un sin fin de situaciones donde no se puede acceder a depurar, y es acá

    cuando empiezan los dolores de cabeza intentando descubrir el error. Que por cierto no tiene

    porque ser un error que interrumpa la ejecución sino que podría ser un error que haga que los

    resultados no sean válidos. Entonces, cabe preguntarse, ¿qué hacer en estos casos?, intentar

    descubrirlo, no queda otra. Una forma de encontrar de manera rápida el error es apoyándose en

    los mensajes de texto, ubicarlos en ciertas partes del código de modo de saber hasta dónde está

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    48/119

    Hormigón Armado I, UTFSM Santiago.

    47Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    corriendo bien, dado a que si el mensaje se muestra sabremos que el código se ejecutó hasta ahí.

    O mostrar una variable en específico, para saber si se está considerando bien, etcétera. Son de

    gran utilidad.

    3.15.1. Evitar que los Errores Deriven en Mostrar el Código

    Para programaciones más elaboradas donde no es deseable que al ocurrir un error el usuario

    visualice el código, existe la alternativa de manejar los errores en tiempo de ejecución.

    Para esto existen funciones de  como:  : que como su traducción indica, en caso de haber error no se continúa y

    se salta a donde especifique el programador. De este modo, podría por ejemplo pedírsele

    al usuario que vuelva a comenzar porque ha ocurrido un error. 

    A modo de ejemplo:

    La imagen anterior muestra una interfaz gráfica que claramente al apretar el botón se

    obtendrá un error. Para evitar el error se utilizará

      como se muestra a

    continuación.

    Donde:

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    49/119

    Hormigón Armado I, UTFSM Santiago.

    48Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    o   direcciona a la línea ___. Esta línea debe llevarlos dos puntos.

    o   se utiliza para terminar la ejecución del . De no poner esto, seejecutaría de todas forma el mensaje.

      : en este caso, de haber error se omite y el código continúa enla siguiente línea. Es la forma más sencilla para evitar que salte la ventana emergente de

    error de , pero de este modo el usuario no se da cuenta que hubo un error y podríainterpretar mal la información.

    El código sería:

    Y en el caso de ingresar un valor negativo, no se mostraría el mensaje por pantalla

    diciendo : dado que el error estaría en esa línea y se la saltaría. Pero alingresar una letra, se mostraría como respuesta cero, dado que el error se produce al

    asignarle valor a la variable , por ende al saltarse esta línea, ésta nunca obtuvo unvalor.

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    50/119

    Hormigón Armado I, UTFSM Santiago.

    49Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    4 Interfaz Gráfica de VB

    En esta sección se verán los aspectos necesarios para poder lograr una interfaz gráfica que

    incorpore los diferentes objetos que presenta Visual Basic para aplicaciones.

    4.1. 

    Introducción a los Formularios (UserForm)

    Los formularios (Userforms) corresponden a la interfaz gráfica que almacena los diferentes objetos

    (recién mencionados) que dan vida y utilidad a éste.

    4.1.1.  Iniciando un Formulario

    La manera de crear un UserForm es simplemente yendo a:

    Insertar → UserFormEn la ventana de Visual Basic.

    Con lo que se debería visualizar lo siguiente:

    Ilustración ¡Error! Utilice la pestaña Inicio para aplicar 0 al texto que desea que aparezca aquí. .15: creación de unformulario. Se observan los principales aspectos.

    En la imagen anterior se observan varios aspectos importantes:

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    51/119

    Hormigón Armado I, UTFSM Santiago.

    50Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

      El formulario se crea con un nombre automático, que depende de la cantidad de

    formularios existentes, en este caso, al ser el primero se llamó UserForm1. 

      En el recuadro en verde se pueden seleccionar el formulario que se desea. El contenido de

    las diferentes carpetas que se observan en el recuadro verde se vio con mayor detalle en

    la sección Ambiente Visual Basic. 

      El recuadro en rojo (cuadro de herramientas) es fundamental en el formulario, dado que

    éste contiene a los objetos (Etiquetas, botones…) que se insertarán en el formulario. La

    forma de abrir este cuadro es mediante el ícono que se observa en la imagen o yendo a

    Ver → Cuadro de Herramientas.  También se observa debajo del recuadro verde que están las propiedades del formulario,

    esto se verá en una sección aparte.

    4.1.2. 

    Programación en un Formulario

    La programación de los formularios se basa a responder con algún código a alguna acción que sea

    ejecutada en el formulario. Es decir, uno debe programar que cuando inicie el formulario corra

    cierto código, que cuando se seleccione alguna opción se ejecute otro, y así.

    Para hacer esto se debe entrar a la sección donde se programa, existen dos formas:

    1. 

    Click  derecho → Ver código

    Ilustración ¡Error! Utilice la pestaña Inicio para aplicar 0 al texto que desea que aparezca aquí. .16: ingresar a la seccióndonde se programan los formularios.

    2. 

    O simplemente Doble Click al fondo del formulario.

    Se observará una hoja en blanco en donde uno puede comenzar a escribir las rutinas que se

    utilizarán en el formulario (Funciones o Subs).

    La hoja en blanco presenta las siguientes propiedades:

    Ilustración ¡Error! Utilice la pestaña Inicio para aplicar 0 al texto que desea que aparezca aquí. .17: sección donde seprograman los formularios.

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    52/119

    Hormigón Armado I, UTFSM Santiago.

    51Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    En la imagen anterior se observan dos características muy importantes en lo que es la

    programación de un formulario. Se presentan como cuadros combinados (permiten seleccionar

    una opción). Estos son:

      Cuadro Combinado de la izquierda (color verde): En este cuadro permite seleccionar lo

    siguiente:

    o  (General): caen todas las rutinas declaradas como Sub y Funciones. Al asignar estasección, en el cuadro combinado de la derecha (color rojo) se cargarán todas las

    funciones y rutinas que hay en el formulario.

    o  Objetos:  caen todos los objetos creados en el formulario (botones, etiquetas,Imágenes, etcétera). Además del formulario en sí, que también tiene acciones

    (como cuando se abre, cuando se cierra, etcétera). Al seleccionar algún objeto, en

    el cuadro combinado de la derecha (color rojo) se cargarán todas las acciones que

    se pueden hacer este objeto.

      Cuadro Combinado de la derecha (color rojo): este cuadro depende de lo seleccionado en

    el cuadro anterior. En el caso de haber seleccionado (General) en el anterior, se mostrarán

    acá las funciones o rutinas, seleccionado una se irá automáticamente a la parte de la hoja

    que contiene ésta. En el caso de haber seleccionado un objeto, acá se mostrarán las

    acciones que se pueden hacer con éste, al seleccionar una se abrirá instantáneamente un

    código que permite programar en caso que se haga dicha acción. Esto se verá más

    detalladamente en la sección posterior.

    Tener esto presente es muy útil al momento de agilizar el encontrar una rutina y o función en

    específico (caso de tener códigos muy extensos).

    4.2. 

    Objetos (Controles)

    En esta sección se mostrará los diferentes tipos de objetos que le dan vida a los formularios. Se

    verán los principales aspectos que permiten comprender la utilidad de cada uno de estos.

    Los objetos que se verán son:

      Etiqueta (Label)

      Cuadro de Texto (Text Box)

      Cuadro Combinado (Combo Box)

      Cuadro de Lista (List Box)

      Casillas (Check Box)

      Botón de opción (Option Button)

      Marco (Frame)

      Botón de Comando (Command Button)

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    53/119

    Hormigón Armado I, UTFSM Santiago.

    52Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

      Barra de Tabulaciones (Tab Strip)

      Página Múltiple (Multi Page)

      Barra de Desplazamiento (Scroll Bar)

      Botón de Número (Spin Button)

      Imagen (Image)

    La creación de un objeto en el formulario se hace mediante el cuadro de herramientas que se

    explicó en la sección Iniciando un Formulario. 

    4.2.1.  Programación de la rutina de respuesta a una acción de un objeto

    El apretar un botón, ingresar una tecla, iniciar un formulario, terminar un formulario, posicionar el

    mouse sobre una etiqueta, seleccionar algo. Son algunos ejemplos de lo que en éste formularios

    llamaremos como Acciones.

    Estas acciones actúan sobre los objetos o formularios, y la forma de declarar una respuesta

    (código) a una acción es la siguiente:

      En la sección anterior se comentó que al seleccionar el un objeto en el recuadro

    combinado de la izquierda (ver Programación en un Formulario). En el recuadro

    combinado de la derecha aparecían todas las acciones de dicho objeto. Y al hacer click  en

    una se abría el código en el cual se puede especificar la respuesta.

    Ejemplo:

    Ilustración ¡Error! Utilice la pestaña Inicio para aplicar 0 al texto que desea que aparezca aquí. .18: ir a la sección dondese programa la respuesta a una acción.

    Se observa que se seleccionó el objeto TextBox1  y se desea programar la respuesta

    cuando la acción sea que éste cambie. Es decir, cada vez que el valor del cuadro de texto

    1 cambie, se ejecutará la rutina que está dentro de:

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    54/119

    Hormigón Armado I, UTFSM Santiago.

    53Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    Del mismo modo se programan todas las respuestas a las acciones. Las acciones más utilizadas

    son:

       _Click():

    Acción de clickear  el objeto. Siempre utilizado en los botones de comando.

       _Change():

    Acción de que cambie de valor el objeto. Se utiliza en los objetos que pueden cambiar de

    valor, como por ejemplo un cuadro de texto, un cuadro de lista, entre otros.

       _AfterUpdate():

    Acción de después que se actualizó de valor del objeto. Se asimila a Change() la diferencia

    radica en que éste actúa después de haber cambiado todo el valor.

       _mouseMove():

    Acción de pasar el mouse por sobre el objeto.

       _Initialize():

    Acción de iniciar el formulario. Importante declarar acá por ejemplo los datos que cargan

    el formulario.

       _Terminate():

    Acción de cerrar el formulario.

    Existen otras, pero estas son las de mayor Utilidad.

    4.2.2.  Manejo de las propiedades de un objeto

    Los objetos (etiquetas, cuadros de texto, botones, listas, etcétera) tienen propiedades como el

    ancho, el alto, el estilo, el valor que toman, el si están o no habilitados, entre otros. Es importante

    saber cómo manipular estos, para hacer un correcto uso del objeto en un formulario.

    El lugar donde se controlan las propiedades es:

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    55/119

    Hormigón Armado I, UTFSM Santiago.

    54Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    Ilustración ¡Error! Utilice la pestaña Inicio para aplicar 0 al texto que desea que aparezca aquí.  .¡Error! Utilice la pestañaInicio para aplicar 0 al texto que desea que aparezca aquí..19: Ambiente Visual Basic, se observa un objeto (textbox)que se ha cambiado su propiedad Text.

    En la imagen anterior se muestra que las propiedades del objeto TextBox   se muestran en el

    recuadro rojo. Las propiedades del objeto escogido están en el recuadro rojo.

    Se observa que lo que se modificó es la propiedad Text del objeto TextBox1. Ahora bien, muchas

    veces se requiere que en tiempo de ejecución se vean modificadas las propiedades de algún

    objeto, la forma de hacer esto es la siguiente:

    Se observa que primero se pone el formulario al cual pertenece el objeto, posterior el nombre del

    objeto seguido de la propiedad que se quiere modificar. En este ejemplo se modificó lo mismo que

    se hizo mediante el recuadro del ambiente de Visual Basic.

    Ejemplo de aplicación

    Se hará lo que se muestra en la siguiente Ilustración:

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    56/119

    Hormigón Armado I, UTFSM Santiago.

    55Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    Como se observa, lo que se hará es que al apretar el botón Bloquear/Desbloquear se activará la

    propiedad Enabled (habilitado) del objeto textbox que se observa.

    La forma de hacer esto es asignando un código a la acción de hacer click  sobre el objeto "botón".

    En la sección anterior (Programación de la rutina de respuesta a una acción de un objeto)  se

    explicó más a fondo este aspecto.

    Entrando a la sección donde se programa la respuesta a la acción de clickear se pone el siguientecódigo:

    Se observa que se utilizó en tiempo de ejecución el cambio de las propiedades Enabled  y Caption.

    De este modo se trabajan todas las propiedades que tienen los objetos.

    Las propiedades más comunes y que muchas son generales para todos los objetos son:

      Enabled: propiedad que hace referencia a si el objeto está habilitado o no (para ser

    usado). Booleana, es decir True o False. 

      Visible: propiedad que hace referencia a si el objeto es visible o no. Es de tipo booleana. 

      Font: propiedad de la fuente de la letra. (Tamaño, tipo de letra, altura, estilo). 

    o  En el caso del tipo de letra se debe especificar del siguiente modo: 

    o  En el caso del tamaño de letra se debe especificar del siguiente modo: 

    o  En el caso del estilo negrita o cursiva se debe especificar del siguiente modo: 

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    57/119

    Hormigón Armado I, UTFSM Santiago.

    56Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

    o  En el caso del color de letra se debe especificar del siguiente modo: 

     

    Height: la altura del objeto.   Left: valor que especifica la posición horizontal del objeto, medido desde borde del

    formulario o del “Frame”. 

      Locked:  propiedad que hace referencia a si el objeto está bloqueado o no (para ser

    usado). Booleana, es decir True o False. La diferencia con Enabled  es que acá el objeto no

    se pone de color opaco. 

      Top: valor que especifica la posición vertical del cuadro de texto, medido desde borde del

    formulario o del “Frame”. 

      Width: el ancho del objeto. 

      Value: entrega el valor que tiene el objeto actual. 

    Estas son solo algunas propiedades.

    Comentario: debido a que cada objeto tiene bastantes propiedades, no se profundizará en estas y

    se dejará tarea para el usuario conocerlas mediante el recuadro en rojo.

    4.2.3.  Cuadro de Texto, TextBox ( )

    Los Cuadros de Texto son la principal herramienta para la recepción de información. Corresponde

    a las cajas donde el usuario del formulario puede ingresar los valores que serán los que utilizará elcódigo.

    La apariencia que tiene es:

    Ilustración ¡Error! Utilice la pestaña Inicio para aplicar 0 al texto que desea que aparezca aquí. .20: cuadro de texto(TextBox)

    Las propiedades más comunes que se utilizan son:

     

    Font: se explicó previamente (Manejo de las propiedades de un objeto)   Enabled: se explicó previamente (Manejo de las propiedades de un objeto) 

      Text: se roba el valor que tiene como String. 

      Value: se explicó previamente (Manejo de las propiedades de un objeto) 

    La recomendación de cómo obtener los valores de una cuadro de texto es:

  • 8/15/2019 Tutorial Visual Basic (Aplicado a Hormigón Armado)

    58/119

    Hormigón Armado I, UTFSM Santiago.

    57Tutorial  - Ignacio Mayorga / Ignacio Ruiz.

      Para el caso de utilizar los cuadros de texto para ingreso de valores. Para tomar el valor del

    objeto usar la propiedad Value. 

      Para el caso de utilizar los cuadros de texto para el ingreso de cadenas de testo. Para

    tomar el valor del objeto usar la propiedad Text. 

    Si se desea restringir el tipo de caracteres que ingresan dentro se puede utilizar una sub rutina

    predeterminada para limitar el ingreso de datos, por ejemplo, que sean sólo números, se debe

    utilizar el siguiente código:

    4.2.4.  Etiqueta, Label ( )

    Este objeto es de gran utilidad dentro de los formulario, ya que tiene la particularidad de ser los

    textos que orientan al usuario.

    Las principales propiedades que se utiliza son:

      Caption: es el texto que lleva escrito la etiqueta. 

      Visible:  se explicó previamente (Manejo de las propiedades de un objeto). Muchas veces

    en función de lo que hace el usuario se hacen o no visibles ciertas etiquetas.

    Un ejemplo de una etiqueta es:

    Ilustración ¡Error! Utilice la pestaña Inicio para aplicar 0 al texto que desea que aparezca aquí. .21: se observan dosobjetos, una etiqueta (Label) y un cuadro de texto (TextBox).

    En este caso la propiedad


Recommended