Script - brayanmasna/ARUBA-LIMA GitHub Wiki

Sub GenerarConfiguracion()

Dim hojaDatos As Worksheet
Dim hojaConfig As Worksheet
Dim hostname As String, ipWan As String, ipLan As String
Dim vlans As String, ipRoute As String, banner As String
Dim config As String
Dim vlanArray() As String
Dim i As Integer

Set hojaDatos = ThisWorkbook.Sheets("Datos")
Set hojaConfig = ThisWorkbook.Sheets("Configuracion")

' Leer datos
hostname = hojaDatos.Range("A1").Value
ipWan = hojaDatos.Range("A2").Value
ipLan = hojaDatos.Range("A3").Value
vlans = hojaDatos.Range("A4").Value
ipRoute = hojaDatos.Range("A5").Value
banner = hojaDatos.Range("A6").Value

' Comenzar configuración
config = ""
config = config & "hostname " & hostname & vbCrLf
config = config & "!" & vbCrLf
config = config & "interface GigabitEthernet0/0" & vbCrLf
config = config & " ip address " & ipWan & vbCrLf
config = config & " no shutdown" & vbCrLf
config = config & "!" & vbCrLf
config = config & "interface GigabitEthernet0/1" & vbCrLf
config = config & " ip address " & ipLan & vbCrLf
config = config & " no shutdown" & vbCrLf
config = config & "!" & vbCrLf

' VLANs
If vlans <> "" Then
    vlanArray = Split(vlans, ",")
    For i = LBound(vlanArray) To UBound(vlanArray)
        config = config & "vlan " & Trim(vlanArray(i)) & vbCrLf
        config = config & " name VLAN_" & Trim(vlanArray(i)) & vbCrLf
        config = config & "!" & vbCrLf
    Next i
End If

' IP route
If ipRoute <> "" Then
    config = config & "ip route " & ipRoute & vbCrLf
    config = config & "!" & vbCrLf
End If

' Banner
If banner <> "" Then
    config = config & "banner motd #" & banner & "#" & vbCrLf
    config = config & "!" & vbCrLf
End If

config = config & "end"

' Escribir en hoja Configuracion
hojaConfig.Cells.Clear
hojaConfig.Range("A1").Value = "Configuración Generada:"
hojaConfig.Range("A2").Value = config

MsgBox "¡Configuración generada exitosamente!", vbInformation

End Sub