Guardar y leer un archivo de configuración inicial en macros vba excel

El siguiente macro viene en dos partes, la de guardar y la de llamar o leer valores de configuración inicial que en ciertas ocasiones resulta indispensable en los proyectos vba.

La primera parte consiste en guardar el nombre de un campo y su respectivo valor, este se escribirá en un nuevo archivo llamado “config.csv” en una ruta especifica o en la misma ubicación en la que trabaje, la condición principal es que el número de campos sea igual al número de valores guardados.

Sub guardar_config(campo, valor)
num_archivo = FreeFile
k = "|"

'Open ThisWorkbook.Path & "\config.csv" For Output As #num_archivo
Open "D:\config.csv" For Output As #num_archivo

If UBound(campo) = UBound(valor) Then

    For i = 0 To UBound(campo)
        cadena = campo(i) & k & valor(i)
        Print #num_archivo, cadena
    Next i

End If

Close #num_archivo
End Sub

El código anterior debe ser utilizado como una sub rutina de la siguiente manera:

Sub ejemplo_guardar()
guardar_config Array("nombre", "direccion", "telefono"), Array("juan perez", "los changuitos 125", "5555555555")
End Sub

Para la segunda parte se debe llamar el valor asignado a un campo especifico, se necesita la siguiente función:

Function leer_config(campo As String)
num_archivo = FreeFile

'Open ThisWorkbook.Path & "\config.csv" For Input As #num_archivo
Open "D:\config.csv" For Input As #num_archivo

  While Not EOF(num_archivo)

    Line Input #num_archivo, registro
    array1 = Split(registro, "|")
    
      If campo = array1(0) Then
      valor = array1(1)
      End If

  Wend
Close #num_archivo

leer_config = valor
End Function

Así mismo para obtener el valor del campo, la función debe ser invocada de la siguiente manera:

Sub ejemplo_leer()
MsgBox leer_config("telefono")
End Sub

El resultado que arrojará el código anterior será “5555555555”

Etiquetas:, , ,

"Trackback" Enlace desde tu web.

M. Vizcarra

Ing. Industrial, egresado de la Facultad de Ingeniería Industrial y de Sistemas de la Universidad Nacional Hermilio Valdizán de Huánuco, Perú.

Deja un comentario