miércoles, 7 de diciembre de 2016

Conectar una base de datos Sqlite con Excel Visual Basic

Para utilizar una base de datos creada con Sqlite desde Visual Basic (Excel) podemos seguir los siguientes pasos:

1. Instalar el odbcsqlite para VisualBasic, podemos descargarlo desde aqui (Para Windows).
2. Vamos a Microsoft Excel y abrimos el entorno de desarrollo para Visual Basic (Alt + F11), luego vamos a la pestaña Herramientas -> Referencias como se ve en la imagen:


3. Activamos la librería que se ve en la imagen:



Con esto es suficiente, ya podemos programar en Visual Basic (Excel) utilizando una base de datos sqlite

Aqui podemos ver un ejemplo:


Dim rs As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim scn As String
Dim s As String
scn
= "DRIVER=SQLite3 ODBC Driver;Database=C:\ruta_base_de_datos\myDB.sqlite;" _ & "LongNames=0;Timeout=1000;NoTXN=0;SyncPragma=NORMAL;StepAPI=0;" cn.ConnectionString = scn cn.Open cn.Execute "CREATE TABLE tbl2 (ID int, Stuff Text(50))" cn.Execute "INSERT INTO tbl2 (ID, Stuff) VALUES (2, 'def')" s = "SELECT * FROM tbl2" rs.Open s, cn Debug.Print rs.GetString

viernes, 2 de diciembre de 2016

Evento al salir de una celda de excel desde visual basic

Evento al salir de una celda de Excel desde Visual Basic


1. Abrir desde VisualBasic la hoja sobre la cual queremos realizar el control



2. Una forma de hacer esto es crear una variable global, para el ejemplo crearemos una llamada variable

Si hemos nombrado la celda que queremos controlar podemos hacerlo asi (supongamos que el nombre que le pusimos a la celda es nombreCelda)

Public variable As Boolean

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 
    If variable = True Then
        'nuestro codigo aqui
        largoInternoCambio = False        
    End If
 
    If Not Application.Intersect(Range("nombreCelda"), Range(Target.Address)) _
           Is Nothing Then
        variable = True
    End If

End Sub

En caso de no haber nombrado la celda puede hacerse asi:

Public variable As Boolean

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 
    If variable = True Then
        'nuestro codigo aqui
        largoInternoCambio = False        
    End If
 
    If Target.Address = "$E$3" Then
           Is Nothing Then
        variable = True
    End If

End Sub



Excel Visual Basic macro o evento al seleccionar una celda

Para realizar cualquier operación desde Visual Basic al seleccionar una celda cualquiera en Excel podemos realizar el siguiente procedimiento:

1. Abrir desde VisualBasic la hoja sobre la cual queremos realizar el control


En este caso por ejemplo vamos a controlar una celda de la Hoja1


2. Ahora controlamos el evento sobre la celda.

Si hemos nombrado la celda puede ser de esta manera (supongamos que el nombre que le pusimos a la celda es nombreCelda)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)      
 
    If Not Application.Intersect(Range("nombreCelda"), Range(Target.Address)) _
          'Nuestro codigo aqui      
    End If

End Sub

En caso de no haber nombrado la celda puede hacerse así:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)      
 
   If Target.Address = "$E$3" Then
          'Nuestro codigo aqui      
    End If

End Sub

Si no queremos controlar solo una celda sino un rango de celdas podemos hacerlo asi:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range

    Set KeyCells = Range("A1:C10")
 
    If Not Application.Intersect(KeyCells, Range(Target.Address)) _
           Is Nothing Then
        'Nuestro codigo aqui    
    End If
End Sub

miércoles, 16 de noviembre de 2016

Como enviar correos desde Mantis Bug Tracker utilizando Gmail

Si has llegado aqui seguramente te has instalado Mantis Bug Tracker y no sabes como notificar a los usuario via email sobre las incidencias reportadas o al crear un nuevo usuario este no puede confirmar la cuenta debido a que el correo de confirmación nunca llego, para esto es necesario configurar Mantisbt indicandole cual es la dirección de correo electronico que utilizaremos para enviar los mensajes, esto es mas sencillo de lo que podemos creer en un inicio, aqui te lo explico.

Abrir el archivo config_defaults_inc.php  ubicado en el directorio principal de mantis, si utilizas Windows y Xampp por ejemplo seria asi: C:\xampp\htdocs\mantis\ vamos a modificarlo tal y como se muestra en las siguientes imagenes:




Finalmente debemos habilitar el uso de aplicaciones menos seguras en GMAIL

Este link puede servirte: https://www.google.com/settings/security/lesssecureapps?rfn=27&rfnc=1&et=1&asae=2




Espero que esta sencilla información le haya sido de utilidad