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

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

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

ΠŸΡ€ΠΈ создании ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ происходит считываниС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ с тСкстовых ΠΏΠΎΠ»Π΅ΠΉ. Π’Π°ΠΊ ΠΊΠ°ΠΊ вся информация, ввСдСнная Π² тСкстовыС поля, Π°ΠΏΡ€ΠΈΠΎΡ€ΠΈ считаСтся тСкстовой, Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ пСрСвСсти Π΄Π°Π½Π½Ρ‹Π΅ строковыС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² числовыС. Для Ρ‡Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция прСобразования Val. Ѐункция Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΡƒΠΆΠ΅ вычислСнными значСниями Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ…, поэтому Π² Ρ‚Π΅Π»Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, Ρ‚ΠΎΡ‡Π½Π΅Π΅ ΠΈΡ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

Основной Π±Π»ΠΎΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ созданной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ написания Π²Ρ‹Π·ΠΎΠ²Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.


Рис. 30. Π€ΠΎΡ€ΠΌΠ° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° 14 Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ конструктора ΠΈ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ состоянии


Листинг ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° 14

Dim a, b, c, d, k, m, h As Integer

Sub summ()

a = Val(TextBox1.Text)

b = Val(TextBox2.Text)

k = a + b

End Sub

Sub umn()

c = Val(TextBox3.Text)

d = Val(TextBox4.Text)

m = c * d

End Sub

Function prim() As Integer

Call summ

Call umn

prim = k – m

End Function

Private Sub CommandButton1_Click()

Call summ

Call umn

' ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ a ΠΈ b ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ для запуска Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ prim, Π³Π΄Π΅ k, m ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ…

h = prim(a, b)

Label8.Caption = «сумма a + b =Β» & k

Label9.Caption = Β«ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ c * d =Β» & m

Label10.Caption = "Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ a+b-c*d= " & h

End Sub

4. ΠžΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

5. Π—апуститС Ρ„ΠΎΡ€ΠΌΡƒ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 15. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π΄Π°Π½Π½Ρ‹Π΅, считанныС ΠΈΠ· тСкстовых ΠΏΠΎΠ»Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡ‹, выполняСт вычислСниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΄Π²ΡƒΡ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ: y = sin(a + b) + 5 ΠΈ z = tg(c + + 3) – cos(3 * d), Π³Π΄Π΅ a, b, c, d – значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ тСкстовыС поля (рис. 31). Π”Π°Π½Π½Ρ‹Π΅ значСния y ΠΈ z Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ… (ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅) ΠΈΠ»ΠΈ функциях. Основной Π±Π»ΠΎΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ сравниваСт ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ значСния, ΠΈ ΠΎΠ± этом выдаСтся сообщСниС Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ.

Рис. 31. Π€ΠΎΡ€ΠΌΠ° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° 15 Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ состоянии


ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ· Π΄Π²ΡƒΡ… чисСл большС, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ числа Π²Ρ‹Ρ‡Π΅ΡΡ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΎΠ΅. Если Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ большС нуля, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ число большС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ (ΡƒΠΊΠ°ΠΆΠ΅Ρ‚, Π½Π° сколько), Ссли Ρ€Π°Π·Π½ΠΎΡΡ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ, Ρ‚ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число большС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ. ΠŸΡ€ΠΈ этом Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Π·ΡΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ значСния, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π½Π° сколько Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число большС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ.

ΠœΠ°ΠΊΡ€ΠΎΡΡ‹

Если приходится часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ эту ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ VBA-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Вакая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° называСтся макросом.

Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ срСдство записи макросов ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ: мСню БСрвис + ΠœΠ°ΠΊΡ€ΠΎΡ + ΠΠ°Ρ‡Π°Ρ‚ΡŒ запись.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ любого ΠΈΠ· этих дСйствий появится Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Β«Π—Π°ΠΏΠΈΡΡŒ макроса» (рис. 32).


Рис. 32. Окно Β«Π—Π°ΠΏΠΈΡΡŒ макроса»


ИмСна макросов Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π°ΡΡΠΎΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ с выполняСмыми ΠΈΠΌΠΈ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ. Однако ΠΏΡ€ΠΈ этом слСдуСт ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ».

β€’ Имя макроса Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с Π±ΡƒΠΊΠ²Ρ‹, Π° Π½Π΅ с Ρ†ΠΈΡ„Ρ€Ρ‹. Имя макроса Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ². Для выдСлСния Π½Π°Ρ‡Π°Π»Π° слов Π² ΠΈΠΌΠ΅Π½ΠΈ макроса слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ прописныС Π±ΡƒΠΊΠ²Ρ‹.

β€’ Π—Π½Π°ΠΊΠΈ ΠΏΡƒΠ½ΠΊΡ‚ΡƒΠ°Ρ†ΠΈΠΈ Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ.

Командой для Π½Π°Ρ‡Π°Π»Π° записи макроса Π±ΡƒΠ΄Π΅Ρ‚ Ρ‰Π΅Π»Ρ‡ΠΎΠΊ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ ОК Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Β«Π—Π°ΠΏΠΈΡΡŒ макроса». О Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ запись Π½Π°Ρ‡Π°Π»Π°ΡΡŒ, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΏΠΎ появившСйся с этого ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ запись

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡΡ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ ΠΌΡ‹ΡˆΠΈ, ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΠ²ΡˆΠΈΡΡŒ Π² нСбольшоС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°Π³Π½ΠΈΡ‚ΠΎΡ„ΠΎΠ½Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚-кассСты.

ПослС Π½Π°Ρ‡Π°Π»Π° записи Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ дСйствия, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, β€“ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ тСкста, вставку рисунков, Ρ‚Π°Π±Π»ΠΈΡ†, Ρ„ΠΎΡ€ΠΌΡƒΠ» ΠΈ Ρ‚. Π΄. ВсС, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ сдСлано, β€“ ΠΈ Π²Ρ‹Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈΠ· мСню, ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π½ΠΈΠ΅ тСкста – Π±ΡƒΠ΄Π΅Ρ‚ сохранСно Π² макросС.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ запись послС выполнСния всСх ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Β«ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ запись» Π² ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов с Ρ‚Π΅ΠΌ ΠΆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ. Π—Π°ΠΏΠΈΡΡŒ прСкратится, Π° всС записанныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ сохранСны Π² Π²ΠΈΠ΄Π΅ VBA-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, которая Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒΡŽ макроса, Ρ‰Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Β«ΠŸΠ°ΡƒΠ·Π°Β» (Ρ‚ΠΎΠΆΠ΅ находится Π² ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов Β«ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ запись»).

Π’ΠΎ врСмя ΠΏΠ°ΡƒΠ·Ρ‹ Π² записи ΠΊΠ½ΠΎΠΏΠΊΠ° Β«ΠŸΠ°ΡƒΠ·Π°Β» Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ. ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ это Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΠ° Β«Π’ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ запись». Π©Π΅Π»ΠΊΠ½ΠΈΡ‚Π΅ Π½Π° этой ΠΊΠ½ΠΎΠΏΠΊΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ запись Π² макрос Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… дСйствий с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

Π’Π΅ΡΡŒ смысл записи макросов состоит Π² возмоТности ΠΈΡ… ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ выполнСния. Π’Π²ΠΈΠ΄Ρƒ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ макросы ΡΠ²Π»ΡΡŽΡ‚ΡΡ VBA-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌΠΈ, всС ΠΏΡ€ΠΈΠ΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ запускС созданных Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ VBA-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΡ‹ ΠΈ для автоматичСски записанных макросов. ВсСгда ΠΌΠΎΠΆΠ½ΠΎ сначала ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠœΠ°ΠΊΡ€ΠΎΡ (<Alt+F8>), Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π² Π½Π΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹ΠΉ макрос, Π° Π·Π°Ρ‚Π΅ΠΌ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ (рис. 33).

НСзависимо ΠΎΡ‚ слоТности макроса сохранитС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ этот макрос.


Рис. 33. Π”ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Β«ΠœΠ°ΠΊΡ€ΠΎΡΒ»

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° макроса Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ Visual Basic

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ макрос записан, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ VBA-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Для этого Π½Π°Π΄ΠΎ:

1) Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ БСрвис + ΠœΠ°ΠΊΡ€ΠΎΡ + ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ ΠΈΠ»ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ <alt+f8>, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠœΠ°ΠΊΡ€ΠΎΡ (рис. 33);

2) Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹ΠΉ макрос ΠΈΠ· списка Π½ΠΈΠΆΠ΅ поля Имя. ΠœΠ°ΠΊΡ€ΠΎΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» записан, Π½Π΅ выбираСтся автоматичСски, поэтому, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Π΅Π³ΠΎ, ΠΈΠ½ΠΎΠ³Π΄Π° придСтся ΠΏΠΎΠ»ΠΈΡΡ‚Π°Ρ‚ΡŒ список;

3) Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ΡΡ ΠΎΠΊΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Visual Basic с ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π½Ρ‹ΠΌ Π² Π½Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌ для рСдактирования.

Π—Π°Π΄Π°Ρ‡ΠΈ Π½Π° Π·Π°ΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 16. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ значСния Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² зависимости ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² тСкстовыС поля. Основная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° послС наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Shet, Ρ€Π°ΡΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ выраТСния. ПослС наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ закрываСтся (рис. 34).

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΄Π°Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ

(optionButton), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π·Π°ΠΈΠΌΠΎΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈΠ»ΠΈ дСйствий. НаиболСС часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ свойства элСмСнта управлСния OptionButton:

value – Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True, Ссли ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ Π²Ρ‹Π±Ρ€Π°Π½, ΠΈ False Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС;

enabled – допустимыС значСния: Π’rue (ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ) ΠΈ False (Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС);

visible – допустимыС значСния: Π’rue (ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ отобраТаСтся Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹) ΠΈ False (Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС);

caption – надпись, отобраТаСмая рядом с ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΌ.


Рис. 34. Π€ΠΎΡ€ΠΌΠ° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° 16 Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ конструктора ΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ состоянии


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

1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Word, сохранитС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VBA.

2. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Ρ„ΠΎΡ€ΠΌΡƒ (рис. 34).

3. ΠŸΡ€ΠΎΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий ΠΊΠ½ΠΎΠΏΠΎΠΊ Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΈ Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ.

ОбъявлСниС Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Dim a, b, c, k, l, m As Double

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Shet

Sub shet()

a = Val(TextBox1.Text)

b = Val(TextBox2.Text)

c = Val(TextBox3.Text)

k = a * b + b / c

l = Sin(a) + (b + c) ^ 2

m = a + b + c

End Sub

Кнопка Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ

Private Sub CommandButton1_Click()

Call shet

If OptionButton1.Value = True Then

Label5.Caption = Β«a*b+b/c=Β» & k

End If

If OptionButton2.Value = True Then

Label5.Caption = Β«sin(a)+(b+c)^2=Β» & l

End If

If OptionButton3.Value = True Then

Label5.Caption = Β«a+b+c=Β» & m

End If

End Sub

Кнопка Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ

Private Sub CommandButton2_Click()

Unload Me

End Sub

4. ΠžΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ.

5. Π—апуститС Ρ„ΠΎΡ€ΠΌΡƒ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 17. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΡƒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅: ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, срСднСго Π±Π°Π»Π»Π° ΠΈ числа пропусков Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ тСкстовыС поля Ρ„ΠΎΡ€ΠΌΡ‹:

β€’ Ссли срСдний Π±Π°Π»Π» ΠΎΡ‚ 4 Π΄ΠΎ 5, число пропусков мСньшС 100, Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π΄Π°Π΅Ρ‚ сообщСниС: «Имя, Π’Ρ‹ Π² ΠΏΠΎΠΎΡ‰Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ спискС Ρƒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€Π°!Β» (рис. 35);

β€’ Ссли срСдний Π±Π°Π»Π» мСньшС 4 ΠΈ число пропусков большС 100, Ρ‚ΠΎ выдаСтся сообщСниС: «Имя, Π’Ρ‹ Π΅Ρ‰Π΅ ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ здСсь?Β».

ΠŸΡ€ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΌ раскладС Π²Ρ‹Π΄ΡƒΠΌΠ°ΠΉΡ‚Π΅ своС сообщСниС.


Рис. 35. Π€ΠΎΡ€ΠΌΠ° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° 17 Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ состоянии


ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ построСния Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ… – использованиС инструкций If else ΠΈΠ»ΠΈ Select case.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 18. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΡƒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅: ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, срСднСго Π±Π°Π»Π»Π° студСнта Π² тСкстовыС поля Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ Π²Ρ‹Π±ΠΎΡ€Π° числа пропусков: