You are on page 1of 10

CODIGOS- VALIDAR:

ACEPTA SOLO LETRAS: if Char.IsLetter(e.keychar)then e.Handled=false elseif char.isControl(e.keyChar)then e.Handled=false else e.Handled=true end if ACEPTA SOLO NUMEROS if char.isdigit(e.keychar)then e.handled=false elseif char.iscontrol(e.keychar)then e.hanled=false else

Colocar un Commandbutton: Option Explicit ' retorna los aos '''''''''''''''''''''''''''''''''''''' Function Calcular_Edad(Fecha_Nacimiento As Variant) As Integer Dim Aos As Variant ' comprueba si el valor no es nulo If IsNull(Fecha_Nacimiento) Then Calcular_Edad = 0 Exit Function End If Aos = DateDiff("yyyy", Fecha_Nacimiento, Now) If Date < DateSerial(Year(Now), Month(Fecha_Nacimiento), _ Day(Fecha_Nacimiento)) Then Aos = Aos - 1 End If Calcular_Edad = CInt(Aos) End Function Private Sub Command1_Click() Dim fecha As Date

fecha = "01/06/1988" ' le pasa la fecha de nacimiento como parmetro MsgBox Calcular_Edad(fecha), vbInformation, fecha End Sub Private Sub Form_Load() Command1.Caption = "calcular" End Sub MASKET: Los smbolos decimal (.), de miles (,), de hora (:), de fecha (/) y de moneda ($) toman como valor predeterminado los definidos por la configuracin regional y de referencia cultural de la aplicacin. Puede forzarlos a que muestren los smbolos de otra referencia cultural utilizando la propiedad.

Trucos de Visual Basic.NET Automatizacin con Excel y Visual Basic .NET


Este es un ejemplo de automatizacin controlar un programa desde otro usando Visual Basic .NET y Excel. Desde Visual Basic .NET vamos a crear y llenar una hoja de Excel.

Proyecto

Crearemos un proyecto Visual Basic de tipo Windows Application, y lo llamaremos: WinAppExcelAutomation.

Formulario

Aparece un formulario, Form1, que renombr a frmExcelAutomation. Tambin le cambi el nombre del archivo, de Form1.vb a frmExcelAutomation.vb. Le puse la propiedad Text: Excel Automation.

Le adicion un DataGrid, que nombr dgDatos, y un botn, con nombre: btnAlmacenarExcel, y texto: Almacenar Excel. (Tambin recomendara especificar las propiedades Anchor apropiadas, para que al cambiar el tamao del formulario, los controles se ajusten).

Acceso a Datos

DataAdapter

Para llenar la hoja de Excel, vamos a leer datos de la tabla Customers en la base de datos Northwind que viene de demostracin en SQL Server. Usaremos un DataAdapter para accesar la base de datos y llenar un DataSet, que es un rea en memoria en donde almacenaremos temporalmente los datos.

En el Toolbox, bajo el encabezado de Data, arrastraremos un control SqlDataAdapter y lo dejamos caer sobre el formulario. Aparece un Wizard de Data Adapter Configuration:

Pasamos a la siguiente pantalla con Next >; y escogemos una conexin a Northwind. En caso de que no exista una conexin a Northwind, la creamos oprimiendo el botn New Connection.

Luego, escogeremos accesar los datos con enunciados SQL (versus con Procedimientos Almacenados):

Y establecemos la sentencia SQL Server (puede utilizar el botn Query Builder para crear la sentencia SQL en forma grfica)

Dar Next >; y luego Finish para terminar.

Renombr el Data Adapter SqlDataAdapter1 a daCustomers, y la conexin SqlConnection1 a cnnNorthwind. DataSet

El DataSet es un rea en memoria en donde almacenamos los datos con que vamos a trabajar.

Sobre el control daCustomers le damos botn derecho y pedimos laopcin Generate Dataset Le decimos que queremos un nuevo Dataset oprimiendo sobre: New y le damos el nombre: dsCustomers Revisamos que la caja Add this dataset to the designer est marcada:

y una vez creado, lo renombr a: dsCustomers:

Cdigo Acceso a Datos

Escribiremos cdigo para que al momento de cargar el formulario tambin cargue los datos. Damos doble click sobre alguna parte del formulario, lo que nos lleva a ver el cdigo de la pgina. Escribimos lo siguiente, para que el DataAdapter daCustomers llene el DataSet dsCustomers con los datos de los clientes:

Public Class frmExcelAutomation Inherits System.Windows.Forms.Form

(Windows Form Designer generated code)

Private Sub frmExcelAutomation_Load( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles MyBase.Load

Me.daCustomers.Fill(Me.DsCustomers.Customers)

End Sub

End Class

Binding del DataGrid al DataSet

El DataGrid mostrar los datos que hemos almacenado en el DataSet. Establecemos las propiedades del DataGrid:

DataSource dsCustomers DataMember Customers

Probarlo

Vamos a revisar que el sistema cargue los datos en el Grid

Dar Debug Start u oprimir el botn de Start (una flecha azul hacia la derecha). Si tiene errores, corregirlo.

En mi caso, dio el siguiente error debido a que renombr el formulario de Form1 a frmExcelAutomation: Sub Main was not found in WinAppExcelAutomation.Form1. Para corregir este error, d doble click sobre el mensaje de error y cuando aparezca una ventana Startup Object escoja el formulario de inicio correcto en nuestro caso: frmExcelAutomation.

El formulario debe aparecer con los datos de la tabla Customers (Clientes):

Referencia a Excel

Para poder accesar el modelo de objetos de Excel, tenemos que adicionar una a Excel.

En la ventana Solution Explorer, posicionmonos sobre References y con click derecho pedimos la opcin Add Reference Aparece la caja de dilogo: Add Reference

Resulta que Excel todava es tecnologa COM (la tecnologa previa a .NET), por lo que nos vamos al tabulado COM. Buscamos Microsoft Excel 11.0 Object Library (yo tengo instalado Office 2003, cuyo Excel es la versin 11). Oprimimos Select para escogerlo y luego OK para aceptarlo.

Cdigo que Instancia Excel y lo manipula

Private Sub btnAlmacenarExcel_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles btnAlmacenarExcel.Click

Dim oExcel As Excel.ApplicationClass Dim oBooks As Excel.Workbooks Dim oBook As Excel.WorkbookClass Dim oSheet As Excel.Worksheet

' Inicia Excel y abre el workbook oExcel = CreateObject("Excel.Application") oExcel.Visible = True oBooks = oExcel.Workbooks oBook = oExcel.Workbooks.Add oSheet = oBook.Sheets(1)

'oBook = oBooks.Open( _ ' "C:\DevCare\DevCareExcelAutomation\Data.xls")

Const ROW_FIRST = 3 Dim iRow As Int64 = 1

' Encabezado oSheet.Cells(ROW_FIRST, 1) = "ID" oSheet.Cells(ROW_FIRST, 2) = "Compaa" oSheet.Cells(ROW_FIRST, 3) = "Contacto" oSheet.Cells(ROW_FIRST, 4) = "Pas"

oSheet.Cells(ROW_FIRST, 1).font.bold = True oSheet.Cells(ROW_FIRST, 2).font.bold = True oSheet.Cells(ROW_FIRST, 3).font.bold = True oSheet.Cells(ROW_FIRST, 4).font.bold = True

oSheet.Columns(1).ColumnWidth = 10 oSheet.Columns(2).ColumnWidth = 40

oSheet.Columns(3).ColumnWidth = 30 oSheet.Columns(4).ColumnWidth = 15

' Loop que almacena los datos Dim rowCustomer As dsCustomers.CustomersRow For Each rowCustomer In Me.DsCustomers.Customers Dim iCurrRow As Int64 = ROW_FIRST + iRow oSheet.Cells(iCurrRow, 1) = rowCustomer.CustomerID oSheet.Cells(iCurrRow, 2) = rowCustomer.CompanyName oSheet.Cells(iCurrRow, 3) = rowCustomer.ContactName oSheet.Cells(iCurrRow, 4) = rowCustomer.Country

iRow += 1 Next

' Frmula oSheet.Cells(ROW_FIRST + iRow + 1, 1) = _ "=counta(R" & (ROW_FIRST + 1) & "C1:R" & _ (ROW_FIRST + iRow - 1).ToString & "C1)"

'' Cierra todo 'oBook.Close(True) 'System.Runtime.InteropServices.Marshal. _ ' ReleaseComObject(oBook) 'oBook = Nothing

'System.Runtime.InteropServices.Marshal. _ ' ReleaseComObject(oBooks) 'oBooks = Nothing

'oExcel.Quit() 'System.Runtime.InteropServices.Marshal. _

' ReleaseComObject(oExcel) 'oExcel = Nothing End Sub

Los 18 elementos que componen la CURP son los siguientes:


y y y y y y y y y y

Primera letra y la primera vocal del primer apellido despus de la primera letra. Primera letra del segundo apellido Primera letra del nombre de pila; si el primer nombre es Jos o Mara, se tomar en cuenta el segundo nombre (en caso de no tener segundo nombre se toma el unico). Fecha de nacimiento (2 ltimos dgitos del ao, 2 del mes y 2 del da de nacimiento) Letra del sexo (H o M) Dos letras correspondientes a la entidad de nacimiento, en el caso de extranjeros se marca como NE (Nacido Extranjero) Primera consonante interna del primer apellido (o segunda, si el apellido empieza con consonante) Primera consonante interna del segundo apellido (o segunda, si el segundo apellido empieza con consonante) Primera consonante interna del nombre (o segunda, si el nombre empieza con consonante) Dos dgitos, para evitar duplicaciones.

Por ejemplo, si una persona se llamara Luis Ral Bello Mena, con sexo masculino, naci el 13 de marzo de 1992 en el estado de Colima, su CURP podra ser BEML920313HCMLNS09.

You might also like