INI для VBA

Статус
Закрыто для дальнейших ответов.

dizzy

Участник
Топикстартер
Сообщения
425
Реакции
1
Граждане подскажите часть кода для чтения и записи в файл типа *.ini! Знаю ее в API надо как-то прописывать, даже видел код к книге одной. Но покупать букварь из-за одной странички че-то не хочется, а память тоже не резиновая. Может использовал кто файлы инициализации? Буду рад...
 

dizzy

Участник
Топикстартер
Сообщения
425
Реакции
1
Ответ: INI для VBA

Всем спасибо - сам нашел. Если кому интересно можете посмотреть. Если Там что не так - Вы уж поправьте...
 

wOxxOm

Участник
Сообщения
798
Реакции
3
Ответ: INI для VBA

если много надо записать то разумно использовать запись сразу целой секции
Код:
BOOL WritePrivateProfileSection(

    LPCTSTR lpAppName,	// pointer to string with section name 
    LPCTSTR lpString,	// pointer to string with data 
    LPCTSTR lpFileName 	// pointer to string with filename 
   );

А исползование именно этой функции легко найти в google или yandex если искать "declare function WritePrivateProfileSection" - именно так, в кавычках три слова
 

dizzy

Участник
Топикстартер
Сообщения
425
Реакции
1
Ответ: INI для VBA

Спасибо за совет... Учту...

Еще вопрос, а как удалять секции или ключи из ini файлов? Есть ли API методы, или этот вопрос решается исключительно через FSO?
 

Asmussen

15 лет на форуме
Сообщения
143
Реакции
47
Ответ: INI для VBA

Насчет API рекомендую скачать API-Guide.
Это так сказать справочник по API с примерами! на VB, которые обычно без проблемм работают и в VBA. Наберите в яндексе - API Guide скачать.

Там есть группировка функций по видам деятельности, например открываем раздел INI-files и видим весь набор функций по работе с INI, которые для нас приготовила Microsoft.
Более конкретно сказать не могу, не пользовался пока, я настройки в реестре люблю хранить. )
 

dizzy

Участник
Топикстартер
Сообщения
425
Реакции
1
Ответ: INI для VBA

Кажись понял... На практике прокатывает, но возможно че-то не учел. В общем если че не так поправьте:

Удаляем секцию:

Public Sub deleteSectionINI(sINIFile As String, sSection As String)
Dim n As Integer

n = WritePrivateProfileString(sSection, vbNullString, "", sINIFile)

End Sub

Удаляем ключ:

Public Sub deleteKeyINI(sINIFile As String, sSection As String, sKey As String)
Dim n As Integer

n = WritePrivateProfileString(sSection, sKey, vbNullString, sINIFile)

End Sub
 
Статус
Закрыто для дальнейших ответов.