vba - codificacion - csv acentos excel
Cambiar la codificación VBA con codificación VBA (1)
Necesito cambiar una constante, que hace referencia a una dirección web. Nuestras plantillas ADI tienen una nueva ruta de servidor y sería más fácil actualizar el código que descargar todas las plantillas nuevas. ¿Cómo puedo actualizar el siguiente:
Const SERVLET_PATH = "http://webaddress.com"
a
Const SERVLET_PATH = "http://webaddress1.com"
¿Esto es posible?
En primer lugar, debe agregar una referencia a la biblioteca de Microsoft Visual Basic para Aplicaciones Extensibility 5.3.
Haga clic en Herramientas >> Referencias >> Microsoft Visual Basic para Aplicaciones Extensibilidad 5.3
Luego debe abrir el libro de trabajo que contiene el módulo que desea actualizar. Esto significa que no puede realizar esta actualización mientras los usuarios tienen el libro abierto.
Workbook.Open filePath
A continuación, deberá recorrer cada módulo de código en el libro de trabajo, buscando la constante que desea cambiar.
Sub replaceConstant()
Dim project As VBIDE.VBProject
For Each project In Application.VBE.VBProjects
Dim codeMod As VBIDE.CodeModule
Dim component As VBIDE.VBComponent
For Each component In project.VBComponents
If component.Name <> "TheVeryUniqueNameOfTheCodeModuleWhereThisCodeResides" Then
Set codeMod = component.CodeModule
Dim startline As Long
startline = 1 ''find takes startline in byref and uses it as an output parameter.
codeMod.Find Target:="Const SERVLET_PATH = ""http://webaddress.com""", _
startline:=startline, startcolumn:=1, endline:=codeMod.CountOfLines, endcolumn:=1
codeMod.ReplaceLine startline, "Const SERVLET_PATH = ""http://webaddress1.com"""
End If
Next component
Next project
End Sub
El código anterior funciona porque:
El método Find acepta parámetros ByRef Long. Tras la entrada, estos parámetros especifican el rango de líneas y columnas para buscar. En la salida, estos valores apuntarán al texto encontrado.
CPearson.com - Programación del editor de VBA
Por supuesto, deberá hacer esto para cada libro de trabajo que desee cambiar. Esto podría llevar algo de tiempo.
Recursos adicionales: