Как сохранить значение в текстовом поле при перезагрузке формы - PullRequest
2 голосов
/ 19 мая 2019

У меня есть очень простое приложение макроса VBA, состоящее из 2 текстовых полей и командная кнопка.Идея заключается в том, что пользователь должен ввести числовое значение в текстовые поля, а затем нажать кнопку, чтобы отключить его, чтобы они не могли изменить значение.Когда форма перезагружается, числовое значение теряется, и мне приходится повторно вводить другое значение.

Я хочу, чтобы при перезагрузке формы числовое значение сохранялось.

Private Sub btnLock_Click()

txtApple.Enabled = False
txtBanana.Enabled = False

End Sub

Изображение

[1]

enter image description here

1 Ответ

2 голосов
/ 19 мая 2019

Вы должны помнить, что в вашем распоряжении есть база данных с самой книгой.

Я предлагаю, чтобы, когда пользователь добавляет значение и нажимает кнопку, вставьте это значение врабочий лист (с помощью которого вам может потребоваться защитить, скрыть и т. д. ... или нет), а затем получить это значение из рабочего листа при повторном открытии формы.

По сути, вам просто нужнопоместить значение куда-нибудь, откуда вы можете получить его снова, когда форма появится снова.Если вам не нравится подход с использованием таблиц, то всегда есть база данных, файл на рабочей станции, память и т. Д.

Примерно так ...

Private Sub btnLockBox_Click()
    Sheet1.Range("A1") = txtNumber.Text
    txtNumber.Enabled = False
End Sub

Private Sub UserForm_Initialize()
    txtNumber.Text = Sheet1.Range("A1")

    If txtNumber.Text <> "" Then
        txtNumber.Enabled = False
    End If
End Sub

enter image description here

Надеюсь, я правильно понял ваше требование и надеюсь, что такой подход поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...