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")