Я пытаюсь упростить скрипт и его подпрограммы, и я не совсем уверен, что это лучший способ сделать это. Я хочу как можно меньше повторить код. Итак, ниже мой текущий код.Чтение значений INI только один раз в Word VBA
Это функция Filename
, которая в основном проверяет наличие ini-файла. Должно быть, нужно просто запустить один раз. Как это происходит, он запускается каждый раз, когда используется строка «Имя_файла», что очень много.
Function FileName()
FileName = "C:\Apps\Templates\fields.ini"
''# Does ini-file exist?
If Len(Dir$(FileName)) = 0 Then
MsgBox ("Can't find the file " & FileName & ".")
End If
End Function
Тогда у меня есть этот regPath
и regString
функцию, которая в основном только улавливает путь в реестре, что скрипт должен чтение.
Public Function regPath()
regPath = ReadIni(FileName, "Registry", "Path")
End Function
Public Function regString()
regString = ReadIni(FileName, "Registry", "String")
End Function
Тогда есть первая функция, которая считывает фактический реестр для его значения.
Public Function regFirstname()
regStrFistname = ReadIni(FileName, "Fields", "Firstname")
Set objShell = CreateObject("Wscript.Shell")
Dim value As String
value = objShell.RegRead(regPath & "\" & regStrfirstname)
regFornavn = value
End Function
У меня есть груз этого последнего, только что он читает другие части реестра. Весь этот код содержится в модуле в шаблоне Word 2007. И от моего Document_New()
sub Я просто в основном хочу получить значение из реестра, не имея столько кода в подпрограмме Document_New()
. Таким образом, я могу использовать значения в формах и других областях.
Как это структурировать? Любой ответ был бы оценен.
Спасибо, это выглядит очень перспективным :) –