![]() |
|
Модераторы: Akina |
![]()
|
|
| *^angel^* |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 5.3.2003 Где: Столица нашей нео бъятной Родины Репутация: нет Всего: нет |
день добрый!
Подскажите как средствами VBA можно сделать следующее: есть ListBox надо хапоминать туда данные, которые не должны исчезать после выхода из программы. Может нужно в файл запоминать? |
|||
|
||||
| valex13 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 243 Регистрация: 29.1.2003 Где: Иркук. область, г . Иркутск Репутация: 1 Всего: 1 |
Да. Лучше всего в ini. Вот пример работы:
'Записать информацию в ini Public Declare Function WritePrivateProfileString Lib "KERNEL32" _ Alias "WritePrivateProfileStringA" (ByVal AppName As String, _ ByVal KeyName As String, ByVal keydefault As String, _ ByVal FileName As String) As Long 'Получить информацию из совственного ini Public Declare Function GetPrivateProfileString Lib "KERNEL32" _ Alias "GetPrivateProfileStringA" (ByVal AppName As String, _ ByVal KeyName As String, ByVal keydefault As String, _ ByVal ReturnString As String, ByVal NumBytes As Long, _ ByVal FileName As String) As Long 'Считываем iRez = GetPrivateProfileString("options", "DBPath", _ "", sTemp, iSize, Application.Path & "\MyFile.ini") 'Записываем iRez = WritePrivateProfileString("options", "DBPath", sPath, _ Application.Path & "\MyFile.ini") Записываешь сначало количество элементов, а потом в цикле и элементы. Считываешь так же. |
|||
|
||||
| Unregistered |
|
|||
|
Unregistered |
спасибо, я конечно умная, но к сожалению, в VBA не разбираюсь.........
можно это как-то легче написать? я в этом коде ничего не поняла......... |
|||
|
||||
| valex13 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 243 Регистрация: 29.1.2003 Где: Иркук. область, г . Иркутск Репутация: 1 Всего: 1 |
Именно. Средствами Visual Basic for Application. Однако. Этот способ наиболее легкий, а главное - классический. Можете хранить информацию в реестре, но способ все равно тот же. Вам нужно вызывать функции WINAPI для работы с реестром. Это придется делять в любом языке. Стоит ли овчинка выделки? Решать вам. |
|||
|
||||
| vickr |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 13.5.2003 Где: Санкт-Петербург Репутация: нет Всего: нет |
Выше приведенные советы вполне разумны, но есть альтернатива - функции VB для чтения/записи файлов. Не буду вдаваться в теорию, приведу пример кода сброса данных из ListBox в файл. Проверил в VB6 - все работает. В VBA тоже должно, по идее.
Dim i As Integer Open "listdata.txt" For Output As #1 For i = 0 To List1.ListCount - 1 List1.ListIndex = i Print #1, List1.Text Next i Print #1, List1.List(i) Close #1 Или так, на строчку короче (и, по идее чуть быстрее): Dim i As Integer Open "listdata.txt" For Output As #1 For i = 0 To List1.ListCount - 1 Print #1, List1.List(i) Next i Print #1, List1.List(i) Close #1 Ну а потом, когда нужно, считываешь эти данные обратно в ListBox. Удачных экспериментов. --------------------
Каждую секунду, тыкая в клавиши, мы давим насмерть не менее 1000 микробов =:) |
|||
|
||||
| *^angel^* |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 5.3.2003 Где: Столица нашей нео бъятной Родины Репутация: нет Всего: нет |
vickr спасибо большое. Я почти так и сделала
сохраняет в файл:
Считавает из файла в ListBox:
valex13 овчинка выделки не стоит. |
||||
|
|||||
| *^angel^* |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 5.3.2003 Где: Столица нашей нео бъятной Родины Репутация: нет Всего: нет |
т.е. наоборот, сначало код для считывания, а потом для записи....
|
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 19 Всего: 99 |
Соблюдайте синтаксис! Пишите исходники так, чтобы их было легче читать. Делайте сноски в if ... else, for ... next, do while ... loop и т.д. Пишите комментарии если вы написали то, что может быть не понятно другим участникам и посетителям форума. Пишите когда указанный исходник может не работать! Просьба также помещать цитаты и куски кода в спец. рамки. Это не наезд, а попытка сделать форум лучше
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| vickr |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 13.5.2003 Где: Санкт-Петербург Репутация: нет Всего: нет |
Ну ты суров, братишка --------------------
Каждую секунду, тыкая в клавиши, мы давим насмерть не менее 1000 микробов =:) |
|||
|
||||
| Mephisto |
|
|||
![]() Волкъ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1818 Регистрация: 27.8.2003 Где: Питер Репутация: 2 Всего: 34 |
Аминь. |
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |