Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«ΠžΡ„ΠΈΡΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 6

Автор Π˜Ρ€ΠΈΠ½Π° Π€Ρ€ΠΈΠ·Π΅Π½

На этапС проСктирования, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΊΠ½ΠΎ свойств, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ свойств ΠΊΠ°ΠΊ самого Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, Ρ‚Π°ΠΊ ΠΈ всСх элСмСнтов управлСния, ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹Ρ… Π² Π½Π΅Π³ΠΎ, ΠΊΡ€ΠΎΠΌΠ΅ этого, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ всС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий.

β€’ ПослСдний ΠΌΠΎΠΌΠ΅Π½Ρ‚ – ΠΎΡ‚Π»Π°Π΄ΠΊΠ°. Для вСдСния ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌ выполнСния прилоТСния.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

1) Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VBA;

2) Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Project, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Insert + UserForm (рис. 11), послС Ρ‡Π΅Π³ΠΎ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ новая Ρ„ΠΎΡ€ΠΌΠ° ΠΈ панСль элСмСнтов Toolbox (рис. 12).


Рис. 11. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹


Рис. 12. Новая Ρ„ΠΎΡ€ΠΌΠ°


Π€ΠΎΡ€ΠΌΠ° ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ встроСнныС свойства, ΠΈ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΈΠ»ΠΈ Π² Properties Window (ΠΎΠΊΠ½Π΅ свойств) Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° VBA (Ρ‚Π°Π±Π». 6).


Π’Π°Π±Π»ΠΈΡ†Π° 6

НаиболСС часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² UserFormΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° UserForm

Всякий Ρ€Π°Π·, создавая Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ UserForm, ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ создаСтся Π½ΠΎΠ²Ρ‹ΠΉ подкласс ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° UserForm. Π›ΡŽΠ±Ρ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, написанныС Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ General (ΠΎΠ±Ρ‰ΠΈΠΉ) модуля класса, относящСгося ΠΊ Ρ„ΠΎΡ€ΠΌΠ΅, становятся Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ для ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ подкласса ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (Ρ‚Π°Π±Π». 7).


Π’Π°Π±Π»ΠΈΡ†Π° 7

НаиболСС часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² UserFormБобытия ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° UserForm

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ – это Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ с Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΌ ΠΎΠΊΠ½ΠΎΠΌ ΠΈΠ»ΠΈ элСмСнтом управлСния Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° (Ρ‚Π°Π±Π». 8).

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠΉΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ слСдуСт Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² ΠΌΠΎΠ΄ΡƒΠ»ΡŒ класса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ User Form. ΠŸΡ€ΠΈ этом Ρ‚Π°ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° Π² Π²ΠΈΠ΄Π΅

ObjectName_EventName,

Π³Π΄Π΅ ObjectName – имя Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ элСмСнта управлСния, a EventName – имя события, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΈΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°. Π’Π°ΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈΠΌΠ΅Π½ΠΈ позволяСт VBA ΡΠΎΠΏΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ.


Π’Π°Π±Π»ΠΈΡ†Π° 8

Бобытия ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² UserFormΠ­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ управлСния

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ UserForm ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚Π΅ ΠΆΠ΅ элСмСнты управлСния, Ρ‡Ρ‚ΠΎ ΠΈ находящиСся Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΎΠΊΠ½Π°Ρ… Word, Excel ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Windows (Ρ‚Π°Π±Π». 9). Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ управлСния – это элСмСнты Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. Они Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя ΠΊΠ½ΠΎΠΏΠΊΠΈ-ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ, тСкстовыС поля, Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ, ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ Ρ‚. Π΄.


Π’Π°Π±Π»ΠΈΡ†Π° 9

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ элСмСнты управлСния, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ Π² VBA

ΠžΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ элСмСнтам управлСния происходит Π² основном Ρ‡Π΅Ρ€Π΅Π· ΠΈΡ… свойства ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий, написанных для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта (Ρ‚Π°Π±Π». 10).


Π’Π°Π±Π»ΠΈΡ†Π° 10

Cвойства стандартных элСмСнтов управлСния

2.2. ИспользованиС Ρ„ΠΎΡ€ΠΌ

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ VBA-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΠΎΡ€ΠΌΡ‹, ΠΌΠΎΠΆΠ½ΠΎ достаточно ΠΏΠΎΠ»Π½ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ возмоТности Ρ€Π°Π±ΠΎΡ‚Ρ‹ со всСми Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΡ… взаимодСйствия с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒΡΡ Π½Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ (ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ 1, 2, 3), Π° Π²Π²ΠΎΠ΄ΠΎΠΌ Ρ‡Π΅Ρ€Π΅Π· тСкстовыС поля Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‚. Π΅. ΠΏΡ€ΠΈ нСпосрСдствСнной Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ.

Рассмотрим созданиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ нСпосрСдствСнно с создаваСмыми Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ ΠΈ Π³Π΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ вСсь ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π», ΠΈΠ·ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Π² Π³Π»Π°Π²Π΅ 1.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 4. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ ΠΈΠΌΠ΅Π½ΠΈ Π² тСкстовоС ΠΏΠΎΠ»Π΅ послС наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ ОК выдаСтся привСтствСнноС сообщСниС Π² ΠΌΠ΅Ρ‚ΠΊΡƒ Π² Π²ΠΈΠ΄Π΅: «Имя, ΠΏΡ€ΠΈΠ²Π΅Ρ‚! БСгодня – Π΄Π°Ρ‚Π° ΠΈ врСмя запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹Β».

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, считывая Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с тСкстового поля, Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт управлСния Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π²Ρ‹Π²ΠΎΠ΄Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Π΄Π°Ρ‚Ρ‹ запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ВСхнология выполнСния

Π›ΡŽΠ±Π°Ρ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° VBA Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹, которая нСпосрСдствСнно связана с создаваСмой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ рассмотрСн порядок выполнСния Ρ€Π°Π±ΠΎΡ‚Ρ‹.

1-ΠΉ шаг. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹-ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°-ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° экранС Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ с ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π² Π½Π΅ΠΌ привСтствиСм, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π°Ρ‚ΠΎΠΉ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ (сообщСниСм). Окно Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒΡΡ Π½Π° экранС Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ Ρ‰Π΅Π»ΠΊΠ½Π΅Ρ‚ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ ОК.

ИмСя ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ описаниС Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚Π΅ элСмСнты, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ с Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. По условиям ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, поэтому Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ Ρ„ΠΎΡ€ΠΌΡƒ (UserForm). Для Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π΄Π²Π° элСмСнта управлСния – надпись для сообщСния ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° для ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ОК. НуТно Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ для Π΄Π²ΡƒΡ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€: ΠΎΠ΄Π½ΠΎΠΉ – для надписи, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ сообщСниС, Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ – для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ‰Π΅Π»ΠΊΠ½Π΅Ρ‚ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ ОК.

2-ΠΉ шаг. РСализация ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Для выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ шага Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия.

1. ΠΠΊΡ‚ΠΈΠ²ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Word, сохранитС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΏΠΎΠ΄ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ (ВрСмя) ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VBA.

2. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π² ΠΎΠΊΠ½Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠΎ ΠΏΡƒΠ½ΠΊΡ‚Ρƒ Project (ВрСмя), Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΏΡƒΠ½ΠΊΡ‚ Insert + UserForm (появится новая Ρ„ΠΎΡ€ΠΌΠ° UserForm с панСлью элСмСнтов управлСния).

3. Π Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ элСмСнты: TextBox, Button1, Button2, Label1, Label2 (см. рис. 13).


Рис. 13. Π€ΠΎΡ€ΠΌΠ° для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° 4 Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ конструктора


Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ надписи Π² Ρ„ΠΎΡ€ΠΌΡƒ

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ надпись Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅.

β€’ Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ° Π°ΠΊΡ‚ΠΈΠ²Π½Π°, Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² ΠΏΠΎ Π½Π΅ΠΉ. ПанСль элСмСнтов управлСния Π²ΠΈΠ΄Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Ρ„ΠΎΡ€ΠΌΠ° Π°ΠΊΡ‚ΠΈΠ²Π½Π°.

β€’ Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ А (ΠΌΠ΅Ρ‚ΠΊΠ°) ΠΏΠ°Π½Π΅Π»ΠΈ элСмСнтов управлСния.

β€’ ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΡ‹ΡˆΠΈ Π² Ρ„ΠΎΡ€ΠΌΡƒ, Π³Π΄Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ сообщСниС.

β€’ Π’ ΠΎΠΊΠ½Π΅ свойств (Properties – лСвая ниТняя панСль ΠΎΠΊΠ½Π°) Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ свойство Caption ΠΈ Π½Π°Π±Π΅Ρ€ΠΈΡ‚Π΅ строчку Β«Π’Π²Π΅Π΄ΠΈΡ‚Π΅ имя», Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΊΠ΅ Π΄Π°Π½Π½ΠΎΠ΅ свойство Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ пустым, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ надпись Label2 Π±Ρ‹Π»Π° Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠ°.

4. Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ самой Ρ„ΠΎΡ€ΠΌΡ‹. Для этого Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π½Π° полосС Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΎΠΊΠ½Π° Ρ„ΠΎΡ€ΠΌΡ‹. Π’ измСнившСмся ΠΏΡ€ΠΈ этом ΠΎΠΊΠ½Π΅ свойств Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ свойство Caption ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ Π΅Π³ΠΎ Π½Π° «ВрСмя». Π­Ρ‚ΠΎΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ появится Π² полосС Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Ρ„ΠΎΡ€ΠΌΡ‹.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°

Для нашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ трСбуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄Π²Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, ΠΈ ΠΎΠ½ΠΈ связаны с событиями, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΠΌΠΈ Π² процСссС выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠŸΠ΅Ρ€Π²Π°Ρ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎΠ΅ сообщСниС, Π° вторая – Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΠ³Π΄Π° ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ‰Π΅Π»ΠΊΠ½Π΅Ρ‚ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ ОК.

5. Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π΄Π²Π°ΠΆΠ΄Ρ‹ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ OK. Π’ появившСмся ΠΏΡ€ΠΈ этом ΠΎΠΊΠ½Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° появится Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. ΠŸΠ΅Ρ€Π²ΠΎΠΉ строкой созданного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Private Sub CommandButton2_Click().

Π’ любой VBA-ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ пСрвая строка ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° опрСдСляСт Ρ‚ΠΈΠΏ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС это ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Ρ‚ΠΈΠΏΠ° Sub, Ρ‚. Π΅. ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°) ΠΈ имя ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. Private ΠΈ Sub относятся ΠΊ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словам VBA, Ρ‚. Π΅. ΠΊ словам ΠΈ символам, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ языка VBA. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС VBA ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ для ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ имя CommandButton2_Click, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ прСдставляСт собой ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ Ρ‚ΠΈΠΏΠ° события.

ПослСднСй строкой автоматичСски Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π±ΡƒΠ΄Π΅Ρ‚ End Sub.

Π’Π°ΠΊΠΎΠΉ строкой Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ всС ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Ρ‚ΠΈΠΏΠ° Sub. Π­Ρ‚Π° строка сообщаСт VBA ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΎ.

Для выполнСния ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ (закрытия Ρ„ΠΎΡ€ΠΌΡ‹) Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ Π² этой Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ΅:

Unload Me

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Unload ΡƒΠ±ΠΈΡ€Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ· памяти. Π—Π΄Π΅ΡΡŒ это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Me, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌ Π² VBA ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ смысл. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΎΠ½ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΡƒ ΠΈ вСсь Π΅Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄.

6. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события для ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅Β», для Ρ‡Π΅Π³ΠΎ Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ ΠΏΠΎ созданной ΠΊΠ½ΠΎΠΏΠΊΠ΅ ΠΈ ΠΏΡ€ΠΎΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠ΄:

Dim ima As String

ima = TextBox1.Text

Label2.Caption = ima & ",ΠΏΡ€ΠΈΠ²Π΅Ρ‚! БСгодня " & Format(Now, Β«dddddd, hh Ρ‡. mm ΠΌΠΈΠ½.Β»)

Вторая ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°, которая Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π½Π° экранС сообщСниС, Ρ‡ΡƒΡ‚ΡŒ слоТнСС ΠΏΠ΅Ρ€Π²ΠΎΠΉ. ΠŸΠ΅Ρ€Π²Π°Ρ ΠΈΠ· Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½Π½Ρ‹Ρ… строк

Dim ima As String

создаСт ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с ΠΈΠΌΠ΅Π½Π΅ΠΌ ima ΠΈ опрСдСляСт Π΅Π΅ ΠΊΠ°ΠΊ ΡΡ‚Ρ€ΠΎΠΊΠΎΠ²ΡƒΡŽ, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ тСкстовых символов.

Вторая строка Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ присваиваСт строковоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π² элСмСнт TextBox1 (тСкстовоС ΠΎΠΊΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Β«Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒΒ» Ρ‚ΠΎΠ»ΡŒΠΊΠΎ тСкстовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅). Π’Ρ€Π΅Ρ‚ΡŒΡ строка Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ сообщСниС Π² Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΠΌΠ΅Ρ‚ΠΊΡƒ Label2, для Ρ‡Π΅Π³ΠΎ устанавливаСт свойству Caption ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ-строковоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Ѐункция Format Π²Ρ‹Π΄Π°Π΅Ρ‚ Π΄Π°Ρ‚Ρƒ ΠΈ врСмя.