Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
29 / 17 / 1
Регистрация: 30.09.2010
Сообщений: 119
1

Как сохранить значения элементов формы во внешнем файле

09.12.2015, 04:08. Показов 1425. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Господа, просьба не бить ногами, но вынужден обратиться за помощью, поскольку уже голову сломал.
Есть некая форма с несколькими элементами и внешний текстовый файл для хранения значений из этих элементов.
При закрытии формы должно происходить сохранение введенных/измененных данных этих элементов, а при открытии, соответственно, считывание.
С текстовыми полями проблем нет, а вот с чекбоксом ну никак не могу решить. Вот отрывок кода. Пожалуйста, покажите решение для чекбокса.
Кликните здесь для просмотра всего текста

Open "c:\settings.cfg" for Input As #2
Line Input #2, sv1
TbSv1.Text = sv1
Close #2

Open "c:\settings.cfg" For Output As #2
Print #2, CDbl(TbSv1.Text)
Close #2

0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.12.2015, 04:08
Ответы с готовыми решениями:

Сохранить значения выделеной строки в DBGrid одной формы, и перенести их в TEdit -ы другой формы
Привет. Помогите пожалуйста я уже незнаю что делать. У меня после заданного поиска выделятся...

Как изменить указанную строку во внешнем файле?
Как изменить указанную строку во внешнем файле? Я пытался сделать такой вариант, но он...

Как правильно подключить такой код во внешнем файле?
Такой вот код-запоминалка $(() => { let navtab = $('#navtab'); let...

Как хранить все ресурсы приложения во внешнем файле (контейнере)
Опять подошла к некоему порогу, но есть сильные подозрения что тема очень не нова, но поиском не...

6
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
09.12.2015, 09:46 2
Valery_L,
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
' записать
Open "c:\settings.cfg" For Output As #2
Print #2, CheckBox1
Close #2
 
'считать
Dim sv1
Open "c:\settings.cfg" For Input As #2
Line Input #2, sv1
CheckBox1 = sv1
Close #2
В файле будет текст "True" или "False".
1
Заблокирован
09.12.2015, 09:47 3
Цитата Сообщение от Valery_L Посмотреть сообщение
покажите решение для чекбокса.
А в чём трудности?
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Option Explicit
 
Private Sub CommandButton1_Click()
Open "d:\settings.cfg" For Output As #2
'Print #2, CDbl(TbSv1.Text)
Print #2, TextBox1.Text
Print #2, CheckBox1.Value
Close #2
End Sub
 
Private Sub CommandButton2_Click()
Dim sv1$
Open "d:\settings.cfg" For Input As #2
Line Input #2, sv1
TextBox1.Text = sv1
Line Input #2, sv1
CheckBox1.Value = sv1
Close #2
End Sub
 
Private Sub UserForm_Initialize()
CommandButton1.Caption = "Save"
CommandButton2.Caption = "Read"
End Sub
0
29 / 17 / 1
Регистрация: 30.09.2010
Сообщений: 119
09.12.2015, 17:25  [ТС] 4
Спасибо, работает, только одно но. Суть сохранения в файл состоит в том, чтобы при последующем открытии формы в нужных полях были последние введенные значения и не только в данном сеансе работы. Все как бы работает, однако, при открытии формы чекбокс имеет неопределенное значение (серая галочка). При открытии формы и считывании установок чек бокс должен получать соответствующее состояние. А это и не получается.
0
15145 / 6418 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
09.12.2015, 19:06 5
Цитата Сообщение от Valery_L Посмотреть сообщение
При открытии формы и считывании установок чек бокс должен получать соответствующее состояние.
Вызовите соотв. процедуру при открытии формы. На основе кода Апострофф
Visual Basic
1
2
3
Private Sub UserForm_Initialize()
  CommandButton2_Click
End Sub
Добавлено через 3 минуты
Вообще, если речь о VBA, то значение чекбокса лучше хранить в документе: в ячейке скрытого листа Excel, в переменной Variables в Word, в CustomDocumentProperties в документе любого формата.
0
29 / 17 / 1
Регистрация: 30.09.2010
Сообщений: 119
10.12.2015, 11:37  [ТС] 6
Переменная и считывается и записывается в файл (нужно именно так!). А вот как видно из скрина чекбокс не получает получает значение. Почему???
Миниатюры
Как сохранить значения элементов формы во внешнем файле  
0
29 / 17 / 1
Регистрация: 30.09.2010
Сообщений: 119
10.12.2015, 12:16  [ТС] 7
Решение нашлось. Реально работает.
Кликните здесь для просмотра всего текста


Line Input #2, Orient
If Orient = False Then
CheckBox1 = False
End If
If Orient = True Then
CheckBox1 = True
End If


0
10.12.2015, 12:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.12.2015, 12:16
Помогаю со студенческими работами здесь

Сохранить значения массива в файле
Есть класс для создания массива и класс который сохраняет значения этого массива в файле. Сохраняет...

Как указать для тега SCRIPT что код VBScript находится во внешнем файле?
Как указать для тега SCRIPT что код VBScript находится во внешнем файле? <SCRIPT...

Сохранить значения TextBox формы при ее переоткрытии
Всем привет. У меня такая беда в Эселе создал форму ВБА на которой имеются TextBox, связанные с...

Не понимаю, как кнопкой из формы 1 сохранить текст из формы 2
Создаю базовый текстовый редактор, с простейшими функциями с интерфейсом MDI. Форма 1 является...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru