VBAなので Wordでも Excelでも同じであろうが、今、必要なのは Wordなので、Excel Tips INIファイルへの書き込み/読込み WritePrivateProfileString、GetPrivateProfileString を参考にコーディングし、テストした。
■ コード
Option Explicit Public TXTFolder As String Public TOPFolder As String 'サムネイルを作るフォルダー(ユーザー指定) Public OUTFolder As String 'サムネイル出力先(ユーザー指定) Public MYObjName As String Public MYObjPath As String Public INIFileFullPath As String Public BOOLAns As Boolean Public LNGAns As Long Public STRAns As String Public VARAns As Variant 'INIファイル読込み Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" _ (ByVal lpApplicationName As String, ByVal lpKeyName As Any, _ ByVal lpString As Any, ByVal lpFileName As String) As Long 'INIファイル書き込み Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" _ (ByVal lpApplicationName As String, _ ByVal lpKeyName As Any, ByVal lpDefault As String, _ ByVal lpReturnedString As String, ByVal nSize As Long, _ ByVal lpFileName As String) As Long Public Function Tester() As Boolean Dim s1 As String, s2 As String, s3 As String TXTFolder = ThisDocument.Path STRAns = ThisDocument.Name MYObjName = Left(STRAns, InStrRev(STRAns, ".") - 1) MYObjPath = ThisDocument.Path INIFileFullPath = MYObjPath & "\" & MYObjName & ".ini" BOOLAns = putIniFile("あああ", "いいい", "ううう") BOOLAns = getIniFile(s1, s2, s3) Debug.Print s1, s2, s3 BOOLAns = putIniFile("えええ", "おおお", "かかか") '上書きされる。 BOOLAns = getIniFile(s1, s2, s3) Debug.Print s1, s2, s3 Tester = True End Function '概要:Excel VBAでINIファイル読込み Function getIniFile(arg出力形式 As String, arg出力先 As String, arg入力元 As String) As Boolean On Error GoTo Err_getIniFile Dim mbTitle As String Dim strbuffer As String * 256 Dim retCode As Long mbTitle = MYObjName & "/getIniFile" '引数1:セクション名 '引数2:キー名 '引数3:バッファー(読み込んだ結果が入るエリア) '引数4:バッファー長 '引数5:iniファイル名のフルパス retCode = GetPrivateProfileString("I-O設定", "出力形式", "", strbuffer, Len(strbuffer), INIFileFullPath) '末尾のnullを削除する。 arg出力形式 = Left(strbuffer, InStr(strbuffer, vbNullChar) - 1) retCode = GetPrivateProfileString("I-O設定", "出力先", "", strbuffer, Len(strbuffer), INIFileFullPath) arg出力先 = Left(strbuffer, InStr(strbuffer, vbNullChar) - 1) retCode = GetPrivateProfileString("I-O設定", "入力元", "", strbuffer, Len(strbuffer), INIFileFullPath) arg入力元 = Left(strbuffer, InStr(strbuffer, vbNullChar) - 1) getIniFile = True Exit_getIniFile: Exit Function Err_getIniFile: MsgBox Err.Number & "/" & Err.Description, vbCritical, mbTitle Resume Exit_getIniFile End Function '概要:Excel VBAでINIファイル書き込み Function putIniFile(arg出力形式 As String, arg出力先 As String, arg入力元 As String) As Boolean On Error GoTo Err_putIniFile Dim mbTitle As String Dim retCode As Long Dim strString As String mbTitle = MYObjName & "/putIniFile" retCode = WritePrivateProfileString("I-O設定", "出力形式", arg出力形式, INIFileFullPath) retCode = WritePrivateProfileString("I-O設定", "出力先", arg出力先, INIFileFullPath) retCode = WritePrivateProfileString("I-O設定", "入力元", arg入力元, INIFileFullPath) putIniFile = True Exit_putIniFile: Exit Function Err_putIniFile: MsgBox Err.Number & "/" & Err.Description, vbCritical, mbTitle Resume Exit_putIniFile End Function