WD2000: Sample Visual Basic for Applications Code to Set, Retrieve .ini File or Registry Information (237436)



The information in this article applies to:

  • Microsoft Word 2000

This article was previously published under Q237436
IMPORTANT: This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry

SUMMARY

In a Microsoft Visual Basic for Applications macro, you can use the PrivateProfileString property to store and retrieve settings from an .ini file or the Windows registry.

MORE INFORMATION

Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements. WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk.


The following macro examples use the PrivateProfileString property to set or return a string from a settings file or the Windows registry.

NOTE: If the file, section, or key does not exist, it is created when you run the macro.

The following macro creates an initialization file ("Test.ini"), section ("MySection"), and key ("MyKey") and sets the value of the key to "7."
Sub SetInfo()
   System.PrivateProfileString("Test.ini", "MySection", "MyKey") = "7"
End Sub
				
The following macro returns the value set in the previous macro.
Sub GetInfo()
   MsgBox System.PrivateProfileString("Test.ini", "MySection", "MyKey")
End Sub
				
You cannot delete a key using the PrivateProfileString property, but you can set its argument to an empty string. The following macro deletes the value but does not delete the MySection section or the MyKey entry from the Test.ini file.
Sub DelInfo()
   System.PrivateProfileString("Test.ini", "MySection", "MyKey") = ""
End Sub
				
The following macro displays the default user name setting from the Windows registry:
Sub GetUserInfo()
   aName = System.PrivateProfileString("", _
      "HKEY_CURRENT_USER\Software\Microsoft\MS Setup (ACME)\User Info", _
      "DefName")
   MsgBox aName
End Sub
				
For more information about PrivateProfileString, in the Visual Basic Editor, click Microsoft Visual Basic Help on the Help menu, type PrivateProfileString Property in the Office Assistant or the Answer Wizard, and then click Search to view the topic.

Modification Type:MinorLast Reviewed:10/11/2006
Keywords:kbhowto kbProgramming KB237436