top of page

​Cosas de VBA

Tutoriales  de  V B A  II
 

 

Segunda página de tutoriales de VBA, como en la primera página seguiremos incluyendo pinceladas y pequeños códigos que con un poco de imaginación y sabiendo donde colocarlos podemos hacer grandes aplicaciones.

Feb 17, 2016

Borrar Portapapeles de Windows

En un módulo copiamos el siguiente código:

 

 Public Declare Function CloseClipboard Lib "user32" () As Long
Public Declare Function EmptyClipboard Lib "user32" () As Long
Public Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
  
 Sub Vaciar()
    OpenClipboard 0
    EmptyClipboard
    CloseClipboard
End Sub

 

Luego lo llamamos la sub Vaciar desde donde nos interese.

Nov 28, 2015

Sumar días Habiles (por Chea, mi "albañil" favorito)

Esta es una función que utilizo de vez en cuando para sumar los días hábiles sin tener en cuenta los festivos y los fines de semana.

 

Es importante  tener una tabla llamada "Festivos" con un campo "Fecha"' correspondiente a la festividad.


'---------------------------------------------------------------------------------------
' Procedure : SumaHábiles
' Author    : ' (c) J.Bengoechea

'---------------------------------------------------------------------------------------
'

Public Function SumaHábiles(FechaInicio As Date, Totaldías As Long)
' Suma días hábiles a una fecha para obtener otra
' Considera no hábiles los domingos y los festivos incluidos
' en una tabla llamada "Festivos" en la que existe un campo "Fecha"
' correspondiente a la festividad

Dim fechaTemp As Date, Domingos As Long, Festivos As Long
fechaTemp = DateAdd("d", Totaldías, FechaInicio)

'Ahora contamos los domingos y festivos de ese periodo; se los tendremos que sumar
Domingos = DateDiff("ww", FechaInicio, fechaTemp, vbSunday)
Festivos = DCount("*", "Festivos", "[fecha] between #" & Format(FechaInicio + 1, "mm-dd-yy") & "# and #" & Format(fechaTemp, "mm-dd-yy") & "#")

' Como en los días añadidos también puede haber domingos y festivos,
' lo mejor es usar una llamada recursiva a SumaHábiles para
' añadirlos

If Domingos > 0 Or Festivos > 0 Then
fechaTemp = SumaHábiles(fechaTemp, Domingos + Festivos)
End If
SumaHábiles = fechaTemp

' (c) J.Bengoechea
End Function

Nov 14, 2015

Ver la base de datos

Si utilizamos el objeto Dcmd en su metodo SelectObject podemos ver cualquier objeto de la base de datos.

Por ejemplo, si ponemos la siguiente línea de código en un botón de comando podríamos ver una tabla llamada "tblEmpleados", veámoslo:

 

DoCmd.SelectObject acTable, "tblEmpleados", True

 

Podemos ver una tabla, formulario, consulta etc; solo tienes que indicar el tipo de objeto, su nombre y true para verlo.

 

 

Nov 14, 2015

¿Está el formulario abierto?

En ocasiones precisamos saber si un formulario de nuestra aplicación está abierto, con esta función podriamos saberlo.

Solo tenemos que llamar la función y pasarle como parámetro el nombre del formulario, si nos devuelve Verdadero o True es porque está cargado.

 

Function FormsCargado(ByVal NombreFormulario As String) As Boolean
 
    Dim frm As AccessObject
    
    Set frm = CurrentProject.AllForms(NombreFormulario)
    If frm.IsLoaded Then
''si el formulario está cargado

                                           ''comprobamos si está cargado de vista distinta a la de diseño

                                           ''si esto se cumple es porque el formulario esta cargado en vista formulario

                                            ''por tanto la funcion nos devolvera True(verdadero)
        If frm.CurrentView <> acCurViewDesign Then
            FormsCargado = True
        End If

    End If

End Function

Nov 14, 2015

Activar Corrector Ortográfico de Office.

Muchas veces necesitamos hacer correcciones ortográficas en nuestras aplicaciones, con esta simple línea de vba podemos activar el corrector ortográfico de Office.

 

En un evento, botón de comando o como nos interese colocamos las siguiente instrucción:

 

'Iniciar el corrector ortográfico.
DoCmd.RunCommand acCmdSpelling

 

Eso eso es todo amigos.

 

 

Dec 08, 2015

Funtion CambiarTexto (Reemplazar)

Esto es una función que utiliza la función Replace para sustituir texto, palabras, frases, signos etc

 

Function CambiarTexto(FuenteReferencia As String, FragmentoBuscar As String, TextoSustituir As String) As String
 
  Dim Resultado As String
 
  Resultado = Replace(FuenteReferencia, FragmentoBuscar, TextoSustituir, , , vbTextCompare)
 

CambiarTexto = Resultado

End Function

Please reload

Ver base de datos
Esta el formulario abierto
Activar corrector ortográfico
Borra Portapapeles
Cambiartexto
Ancla 1
bottom of page