Cadenas de perfiles privados usando Words System.PrivateProfileString usando VBA en Microsoft Excel

Tabla de contenido

Si no desea utilizar funciones API, puede utilizar la biblioteca de objetos Words para leer y escribir cadenas de perfiles privados.

Las palabras System.PrivateProfileString pueden leer y escribir tanto en archivos INI como en el Registro.

En otras aplicaciones que no sean Word, debe agregar una referencia a la biblioteca de objetos de Words.

Puede agregar la referencia abriendo el Editor de Visual Basic (VBE) y activando su Proyecto VB. Luego seleccionas Herramientas, Referencias… y marcas la opción Biblioteca de Objetos de Microsoft Word x.x.

Escribir información en archivos INI

Con la macro siguiente puede guardar información en un archivo de texto:

Función SetIniSetting (FileName As String, Section As String, _ Key As String, KeyValue) As Boolean Dim wd As Word.Application SetIniSetting = False Set wd = New Word.Application 'crea el objeto de aplicación de Word en caso de error Reanudar Siguiente wd.System. PrivateProfileString (FileName, Section, Key) = CStr (KeyValue) On Error GoTo 0 Set wd = Nothing 'destruye el objeto de aplicación de Word SetIniSetting = True End Function

Use la macro como esta para guardar el valor 100 en el archivo C: \ FolderName \ FileName.ini en la sección
MySectionName para la clave TestValue:
MyBooleanVar = SetIniSetting ("C: \ FolderName \ FileName.ini", "MySectionName", "TestValue", 100)
El archivo de texto se verá así:
[MySectionName]
TestValue = 100

Leer información de archivos INI
Con la macro siguiente, puede leer información de un archivo de texto:

Función GetIniSetting (Nombre de archivo como cadena, Sección como cadena, _ Clave como cadena) Como cadena Dim wd Como Word.Application GetIniSetting = "" Establecer wd = New Word.Application 'crea el objeto de aplicación de Word en caso de error Reanudar Siguiente GetIniSetting = wd.System .PrivateProfileString (Nombre de archivo, Sección, Clave) En caso de error Ir a 0 Establecer wd = Nada 'destruir el objeto de aplicación de Word Finalizar función

Utilice la macro como esta para devolver el valor de la clave TestValue en la sección MySectionName
desde el archivo C: \ FolderName \ FileName.ini:

MyStringVar = GetIniSetting ("C: \ FolderName \ FileName.ini", _ "MySectionName", "TestValue")


Escribir información en el Registro

Con la macro siguiente puede guardar información en el Registro:

Función SetRegistrySetting (Section As String, _ Key As String, KeyValue) As Boolean Dim wd As Word.Application SetRegistrySetting = False Set wd = New Word.Application 'crea el objeto de aplicación de Word en caso de error Continuar siguiente wd.System.PrivateProfileString ("" , Section, Key) = CStr (KeyValue) On Error GoTo 0 Set wd = Nothing 'destruye el objeto de aplicación de Word SetRegistrySetting = True End Function

Use la macro como esta para guardar un nuevo valor en HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 8.0 \ Excel \ Microsoft
Excel para la clave DefaultPath:

MyStringVar = "HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 8.0 \ Excel \ Microsoft Excel" MyBooleanVar = SetRegistrySetting (MyStringVar, _ "DefaultPath", "C: \ FolderName")

Leer información del Registro Con la macro siguiente, puede leer información del Registro:

Función GetRegistrySetting (Sección como cadena, clave como cadena) Como cadena Dim wd Como Word.Application GetRegistrySetting = "" Establecer wd = New Word.Application 'crea el objeto de aplicación de Word en caso de error Reanudar siguiente GetRegistrySetting = wd.System.PrivateProfileString ("" , Sección, Tecla) En caso de error Ir a 0 Establecer wd = Nada 'destruir el objeto de aplicación de Word Finalizar Función

Use la macro como esta para leer el valor de la clave DefaultPath
desde HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 8.0 \ Excel \ Microsoft Excel:

MyStringVar = "HKEY_CURRENT_USER \ Software \ Microsoft \ Office \ 8.0 \ Excel \ Microsoft Excel" MyStringVar = SetRegistrySetting (MyStringVar, _ "DefaultPath")

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave