Страница 1 из 1

Обратный порядок отображения в Label переменных

Добавлено: 07 окт 2009, 13:13
Busine2009
Форма представляет Label и одну кнопку
Код формы:

Код: Выделить всё

Private Sub CommandButton1_Click()
Unload Continuation
End Sub

Код: Выделить всё

Private Sub UserForm_Initialize()
Continuation.Label1 = ContinuationTextLabel
End Sub
Код макроса:

Код: Выделить всё

Public ContinuationTextLabel As String

Код: Выделить всё

Sub main()
ContinuationTextLabel = "Действие 1"
Continuation.Show
While Continuation.Visible
     DoEvents
Wend
ContinuationTextLabel = "Действие 2"
Continuation.Show
While Continuation.Visible
     DoEvents
Wend
End Sub
У меня в Label сначала пишет "Действие 2", а затем "Действие 1". Никто не сталкивался с таким?

Re: Обратный порядок отображения в Label переменных

Добавлено: 08 окт 2009, 13:08
atavin-ta
Busine2009 писал(а):Форма представляет Label и одну кнопку
Код формы:

Код: Выделить всё

Private Sub CommandButton1_Click()
Unload Continuation
End Sub

Код: Выделить всё

Private Sub UserForm_Initialize()
Continuation.Label1 = ContinuationTextLabel
End Sub
Код макроса:

Код: Выделить всё

Public ContinuationTextLabel As String

Код: Выделить всё

Sub main()
ContinuationTextLabel = "Действие 1"
Continuation.Show
While Continuation.Visible
     DoEvents
Wend
ContinuationTextLabel = "Действие 2"
Continuation.Show
While Continuation.Visible
     DoEvents
Wend
End Sub
У меня в Label сначала пишет "Действие 2", а затем "Действие 1". Никто не сталкивался с таким?
Пиши проще, легче поймёщь, чего написал.

Re: Обратный порядок отображения в Label переменных

Добавлено: 08 окт 2009, 13:48
Busine2009

Код: Выделить всё

Пиши проще, легче поймёщь, чего написал. 
Простите, что?

Re: Обратный порядок отображения в Label переменных

Добавлено: 09 окт 2009, 04:35
atavin-ta
Ты написал такой сложный код, что я в нём не с мог разобраться, хотя элементарно, быстро и без ошибок пишу проги, решающие боле сложные задачи, но при этом код получается проще. Так вот, всякий раз, как появляется избыточная сложность, логично ждать кучи ошибок.

Re: Обратный порядок отображения в Label переменных

Добавлено: 09 окт 2009, 08:43
Busine2009
Кнопка:

Код: Выделить всё

Private Sub CommandButton1_Click()
Unload Continuation
End Sub
Continuation - имя формы, по которому я буду обращаться к ней.
Unload - при нажатии кнопки, форма будет закрываться. (Форма - это диалоговое окно. В моём случае представляет собой прямоугольник с кнопкой и поясняющей надписью.)
На форме есть Label (в яндексе набери Label VBA). При появлении формы в Label будет помещаться информация из переменной под названием ContinuationTextLabel.

Код: Выделить всё

Private Sub UserForm_Initialize()
Continuation.Label1 = ContinuationTextLabel
End Sub
Объявляю переменную, чтобы было её видно в проекте (есть ещё переменная в процедуре и модуле)

Код: Выделить всё

Public ContinuationTextLabel As String
Код макроса пошёл:
ContinuationTextLabel - создаём переменную ContinuationTextLabel и помещаем в неё текст Действие 1.
While Continuation.Visible
DoEvents
Wend - означает, пока форма видна, загружаем компьютер, чтобы он сдох.
Форма уже не видна? Тогда мы идем к вам (шутка). Тогда мы идём вот сюда
ContinuationTextLabel = "Действие 2"
Continuation.Show
While Continuation.Visible
DoEvents
Wend
В перменную ContinuationTextLabel - помещаем словосочетание Действие 2.
Continuation.Show - показываем на мониторе диалоговое окно Continuation.
While Continuation.Visible
DoEvents
Wend - насилуем компьютерные ресурсы, пока форма видна на мониторе.
End Sub - конец

atavin-ta

Какой ты нах..й developer