Microsoft Excel에서 VBA를 사용하여 System.PrivateProfileString 단어를 사용하여 개인 프로필 문자열
API 함수를 사용하지 않으려면 Words 개체 라이브러리를 사용하여 개인 프로필 문자열을 읽고 쓸 수 있습니다.
단어 System.PrivateProfileString은 INI 파일과 레지스트리 모두에서 읽고 쓸 수 있습니다.
Word 이외의 다른 응용 프로그램에서는 Words 개체 라이브러리에 대한 참조를 추가해야합니다.
VBE (Visual Basic Editor)를 열고 VB 프로젝트를 활성화하여 참조를 추가 할 수 있습니다. 그런 다음 도구, 참조 …를 선택하고 Microsoft Word x.x 개체 라이브러리 옵션을 선택합니다.
INI 파일에 정보 쓰기
아래 매크로를 사용하면 정보를 텍스트 파일에 저장할 수 있습니다.
Function 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 ' create the Word application object On Error Resume Next wd.System.PrivateProfileString(FileName, Section, Key) = CStr(KeyValue) On Error GoTo 0 Set wd = Nothing ' destroy the Word application object SetIniSetting = True End Function
이와 같은 매크로를 사용하여 TestValue :
키에 대한 MySectionName 섹션의 C : \ FolderName \ FileName.ini 파일에 값 100을 저장합니다. MyBooleanVar = SetIniSetting ( “C : \ FolderName \ FileName.ini”, “MySectionName”, “TestValue”, 100)
텍스트 파일은 다음과 같습니다.
TestValue = 100
INI 파일에서 정보 읽기
아래 매크로를 사용하면 텍스트 파일에서 정보를 읽을 수 있습니다.
Function GetIniSetting(FileName As String, Section As String, _ Key As String) As String Dim wd As Word.Application GetIniSetting = "" Set wd = New Word.Application ' create the Word application object On Error Resume Next GetIniSetting = wd.System.PrivateProfileString(FileName, Section, Key) On Error GoTo 0 Set wd = Nothing ' destroy the Word application object End Function
다음과 같은 매크로를 사용하여 C : \ FolderName \ FileName.ini 파일의 MySectionName 섹션에있는 TestValue 키 값을 반환합니다.
MyStringVar = GetIniSetting("C:\FolderName\FileName.ini", _ "MySectionName", "TestValue")
===
레지스트리에 정보 쓰기 * 아래 매크로를 사용하여 레지스트리에 정보를 저장할 수 있습니다.
Function SetRegistrySetting(Section As String, _ Key As String, KeyValue) As Boolean Dim wd As Word.Application SetRegistrySetting = False Set wd = New Word.Application ' create the Word application object On Error Resume Next wd.System.PrivateProfileString("", Section, Key) = CStr(KeyValue) On Error GoTo 0 Set wd = Nothing ' destroy the Word application object SetRegistrySetting = True End Function
다음과 같은 매크로를 사용하여 HKEY_CURRENT_USER \ Software \ Microsoft \ Office8.0 \ Excel \ Microsoft Excel에 DefaultPath :
키에 대한 새 값을 저장합니다.
MyStringVar = "HKEY_CURRENT_USER\Software\Microsoft\Office.0\Excel\Microsoft Excel" MyBooleanVar = SetRegistrySetting(MyStringVar, _ "DefaultPath", "C:\FolderName")
레지스트리에서 정보 읽기 아래 매크로를 사용하여 레지스트리에서 정보를 읽을 수 있습니다.
Function GetRegistrySetting(Section As String, Key As String) As String Dim wd As Word.Application GetRegistrySetting = "" Set wd = New Word.Application ' create the Word application object On Error Resume Next GetRegistrySetting = wd.System.PrivateProfileString("", Section, Key) On Error GoTo 0 Set wd = Nothing ' destroy the Word application object End Function
다음과 같은 매크로를 사용하여 DefaultPath
키에서 값을 읽습니다. HKEY_CURRENT_USER \ Software \ Microsoft \ Office8.0 \ Excel \ Microsoft Excel에서 :
MyStringVar = "HKEY_CURRENT_USER\Software\Microsoft\Office.0\Excel\Microsoft Excel" MyStringVar = SetRegistrySetting(MyStringVar, _ "DefaultPath")