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

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

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

Рис. 48. Π Π°ΠΌΠΊΠ° элСмСнта page


Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Ρƒ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ конструктора, Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‰Π΅Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ послСднСй Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ (страницС) ΠΈ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ New Page (рис. 49).


Рис. 49. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ страницы


Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ страницу, ввСсти Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ подсказки ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ страницы, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Rename (рис. 49), Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ появляСтся Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Π³Π΄Π΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ пСрСчислСнныС свойства (рис. 50 ΠΈ 51).


Рис. 50. УстановлСниС свойств Π²ΠΊΠ»Π°Π΄ΠΊΠΈ


ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 25. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΡƒΡŽ Π² сСбя ряд Π²ΠΊΠ»Π°Π΄ΠΎΠΊ (страниц), содСрТащих вопросы Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ тСста. На ΠΊΠ°ΠΆΠ΄ΠΎΠΉ страницС находятся ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ вопрос ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° Β«ΠžΡ‚Π²Π΅Ρ‚Β», Ρ„ΠΈΠΊΡΠΈΡ€ΡƒΡŽΡ‰Π°Ρ Π²Ρ‹Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ (Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ) ΠΎΡ‚Π²Π΅Ρ‚Π°. ПослС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ страницу (Ρ‰Π΅Π»Ρ‡ΠΎΠΊ ΠΏΠΎ ΠΊΠΎΡ€Π΅ΡˆΠΊΡƒ страницы с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ) дСйствия ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‚ΡΡ. Π˜Ρ‚ΠΎΠ³ΠΎΠ²Π°Ρ страница содСрТит ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Β», которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² ΠΈ сумму Π½Π°Π±Ρ€Π°Π½Π½Ρ‹Ρ… Π±Π°Π»Π»ΠΎΠ² (1 ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ = 1 Π±Π°Π»Π»).


Рис. 51. Бвойства Π² дСйствии


Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΡƒΡŽ всС трСбования ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°.

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

1. Π—апуститС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Word ΠΈ сохранитС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.

2. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VBA ΠΈ создайтС Ρ„ΠΎΡ€ΠΌΡƒ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ 4 страницы (рис. 52).


Рис. 52. ΠŸΠ΅Ρ€Π²Π°Ρ страница тСста


3. ΠžΡ„ΠΎΡ€ΠΌΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΡƒΡŽ страницу (рис. 52) ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠžΡ‚Π²Π΅Ρ‚Β».

Dim a As Integer

Private Sub CommandButton1_Click()

If OptionButton3.Value = True Then

a = a + 1

Label11.Caption = Β«ΠžΡ‚Π²Π΅Ρ‚ Π²Π΅Ρ€Π΅Π½Β»

Else

Label11.Caption = Β«OΡ‚Π²Π΅Ρ‚ Π½Π΅Π²Π΅Ρ€Π΅Π½Β»

End If

End Sub

4. ΠžΡ„ΠΎΡ€ΠΌΠΈΡ‚Π΅ Π²Ρ‚ΠΎΡ€ΡƒΡŽ страницу тСста (рис. 53) ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠžΡ‚Π²Π΅Ρ‚Β».

Private Sub CommandButton2_Click()

If OptionButton5.Value = True Then

a = a + 1

Label12.Caption = Β«ΠžΡ‚Π²Π΅Ρ‚ Π²Π΅Ρ€Π΅Π½Β»

Else

Label12.Caption = Β«ΠžΡ‚Π²Π΅Ρ‚ Π½Π΅Π²Π΅Ρ€Π΅Π½Β»

End If

End Sub

Рис. 53. Вторая страница тСста


5. ΠžΡ„ΠΎΡ€ΠΌΠΈΡ‚Π΅ Ρ‚Ρ€Π΅Ρ‚ΡŒΡŽ страницу тСста (рис. 54) ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠžΡ‚Π²Π΅Ρ‚Β».


Рис. 54. Π’Ρ€Π΅Ρ‚ΡŒΡ страница тСста

Private Sub CommandButton3_Click()

If OptionButton10.Value = True Then

a = a + 1

Label13.Caption = Β«ΠžΡ‚Π²Π΅Ρ‚ Π²Π΅Ρ€Π΅Π½Β»

Else

Label13.Caption = Β«ΠžΡ‚Π²Π΅Ρ‚ Π½Π΅Π²Π΅Ρ€Π΅Π½Β»

End If

End Sub

6. ΠžΡ„ΠΎΡ€ΠΌΠΈΡ‚Π΅ Ρ‡Π΅Ρ‚Π²Π΅Ρ€Ρ‚ΡƒΡŽ страницу тСста (рис. 55) ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Β».

Private Sub CommandButton4_Click()

Label15.Caption = "Π²Ρ‹ Π½Π°Π±Ρ€Π°Π»ΠΈ " & a & Β«Π±Π°Π»Π»(Π°)Β»

End Sub

Рис. 55. Π˜Ρ‚ΠΎΠ³ΠΎΠ²Π°Ρ страница тСста


ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. НапоминаСм, Ρ‡Ρ‚ΠΎ всС ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅ΠΌΡ‹Π΅ листинги ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½Ρ‹Π΅ ΠΈ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ своСму ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ.

7. ΠžΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ запуститС Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

Полоса ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ScrollBar

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ управлСния ScrollBar прСдставляСт собой Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ»ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ полосу, ΠΏΠΎ краям ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ располоТСны ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ, Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ пСрСмСщаСтся Π±Π΅Π³ΡƒΠ½ΠΎΠΊ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Value, устанавливаСмоС Π² полосС ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π΅ΠΉ, β€“ число, опрСдСляСмоС ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π±Π΅Π³ΡƒΠ½ΠΊΠ° ΠΈ Π³Ρ€Π°Π½ΠΈΡ†Π°ΠΌΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π² свойствах Min ΠΈ ΠœΠ°Ρ…. Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹Π΅ значСния этих Π³Ρ€Π°Π½ΠΈΡ† – ΠΎΡ‚ –32 767 Π΄ΠΎ + 32 767 (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ установлСн Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ [0, 32 767]).

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ полоса ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΠ°Ρ€Π΅ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ элСмСнтом управлСния (textbox), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ своС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Бвойства полосы ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅.

β€’ Π“ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Π°Ρ ΠΈΠ»ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ ориСнтация полосы ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ опрСдСляСтся свойством orientation. ΠŸΡ€ΠΈ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ fmorientationauto = –1, ориСнтация полосы опрСдСляСтся автоматичСски Π² зависимости ΠΎΡ‚ Π΅Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ (больший Ρ€Π°Π·ΠΌΠ΅Ρ€ Π·Π°Π΄Π°Π΅Ρ‚ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ fmorientationvertical = 0 Π·Π°Π΄Π°Π΅Ρ‚ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ полосы, fmorientationhorizontal = 1 – Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΡƒΡŽ.

β€’ Бвойства largechange ΠΈ smallchange ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚, Π½Π° сколько измСнится Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ value ΠΏΡ€ΠΈ ΠΎΠ΄Π½ΠΎΠΌ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ повСрхности полосы ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΈ Π±Π΅Π³ΡƒΠ½ΠΊΠΎΠΌ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС ΠΈ ΠΏΡ€ΠΈ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ – Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ. Π­Ρ‚ΠΈ ΠΆΠ΅ свойства ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, Π½Π° сколько ΠΏΡ€ΠΈ этом смСщаСтся Π±Π΅Π³ΡƒΠ½ΠΎΠΊ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ±Π° свойства Ρ€Π°Π²Π½Ρ‹ 1. РСкомСндуСмая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΎΠ±ΠΎΠΈΡ… свойств – ΠΎΡ‚ –32,767 Π΄ΠΎ 32,767.

β€’ Бвойство delay (Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°) опрСдСляСт Π² миллисСкундах врСмя, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ события change, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎ Ρ‰Π΅Π»ΠΊΠ°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΈΠ»ΠΈ Π»Π΅Π²ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΌΡ‹ΡˆΠΈ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ Π½Π° полосу ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ устанавливаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² 50 миллисСкунд.

β€’ Бвойство proportionalthumb опрСдСляСт Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π΅Π³ΡƒΠ½ΠΊΠ°: true – Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π΅Π³ΡƒΠ½ΠΊΠ° ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»Π΅Π½ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ области ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ (это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ); false – систСма опрСдСляСт фиксированный Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π΅Π³ΡƒΠ½ΠΊΠ°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 26. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ Π΄Π²Π° элСмСнта scrollbar, Π΄Π²Π° тСкстовых поля ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡƒ, Π²Ρ‹Π²ΠΎΠ΄ΡΡ‰ΡƒΡŽ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСния Π² ΠΌΠ΅Ρ‚ΠΊΡƒ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΎΡ‚Ρ€Π°ΠΆΠ°Ρ‚ΡŒ значСния Π² тСкстовых полях Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ Π±Π΅Π³ΡƒΠ½ΠΊΠ°. ПослС наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Β«Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒΒ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° считываСт значСния с тСкстовых ΠΏΠΎΠ»Π΅ΠΉ, ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ эти значСния Π² числовыС ΠΈ суммируСт. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ отраТаСтся Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΌΠ΅Ρ‚ΠΊΠ΅ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅.

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

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

2. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VBA ΠΈ создайтС Ρ„ΠΎΡ€ΠΌΡƒ (рис. 56).


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


3. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°ΠΉΡ‚Π΅ элСмСнты ScrollBar ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒΒ».

Dim a, b, c As Integer

Private Sub CommandButton1_Click()

c = a + b

Label4.Caption = Β«Π‘ΡƒΠΌΠΌΠ° с=Β» & c

End Sub

Private Sub ScrollBar1_Change()

TextBox1.Text = ScrollBar1.Value

a = Val(TextBox1.Text)

End Sub

Private Sub ScrollBar2_Change()

TextBox2.Text = ScrollBar2.Value

b = Val(TextBox2.Text)

End Sub

4. ΠžΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ запуститС Ρ„ΠΎΡ€ΠΌΡƒ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ SpinButton

SpinButton (счСтчик, Π²ΠΎΡ€ΠΎΡ‚) позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Ρ‚ΡŒ числовой ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π΄ΠΎ получСния Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠ³ΠΎ значСния. Один Ρ‰Π΅Π»Ρ‡ΠΎΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΈΠ»ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства Value Π½Π° Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ, Π·Π°Π΄Π°Π½Π½ΡƒΡŽ свойством SmallChange. Как ΠΈ для ScrollBar, ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» измСнСния числовой характСристики опрСдСляСтся значСниями свойств Min ΠΈ ΠœΠ°Ρ…, Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ ΠΈΠ»ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Π°Ρ ориСнтация счСтчика – свойством Orientation, Π° Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΌΠΈ событиями Change – свойством Delay.

Π§Ρ‚ΠΎΠ±Ρ‹ измСнСния Value Π±Ρ‹Π»ΠΈ Π²ΠΈΠ΄Π½Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, счСтчик Π½Π°Π΄ΠΎ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ с ΠΏΠΎΠ»Π΅ΠΌ Π²Π²ΠΎΠ΄Π° ΠΈΠ»ΠΈ с ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ события Change, Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ для полосы ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 27. Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‰ΡƒΡŽ Π΄Π²Π° элСмСнта spinbutton, Π΄Π²Π° тСкстовых поля ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡƒ, Π²Ρ‹Π²ΠΎΠ΄ΡΡ‰ΡƒΡŽ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСния Π² ΠΌΠ΅Ρ‚ΠΊΡƒ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΎΡ‚Ρ€Π°ΠΆΠ°Ρ‚ΡŒ значСния Π² тСкстовых полях Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΈ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ Π±Π΅Π³ΡƒΠ½ΠΊΠ°. ПослС наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Β«Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒΒ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° считываСт значСния с тСкстовых ΠΏΠΎΠ»Π΅ΠΉ, ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ эти значСния Π² числовыС ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ½ΠΎΠΆΠ°Π΅Ρ‚. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вычислСния отраТаСтся Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΌΠ΅Ρ‚ΠΊΠ΅ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅.

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

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

2. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ VBA ΠΈ создайтС Ρ„ΠΎΡ€ΠΌΡƒ (рис. 57).


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


3. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Π°ΠΉΡ‚Π΅ элСмСнты SpinButton ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒΒ».

Dim a, b, c As Integer

Private Sub CommandButton1_Click()

c = a * b

Label4.Caption = Β«ΠŸΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ с =Β» & c

End Sub

Private Sub SpinButton1_Change()

TextBox1.Text = SpinButton1.Value

a = Val(TextBox1.Text)

End Sub

Private Sub SpinButton2_Change()

TextBox2.Text = SpinButton2.Value

b = Val(TextBox2.Text)

End Sub

4. ΠžΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ запуститС Ρ„ΠΎΡ€ΠΌΡƒ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

4.4. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ DataObject[3]

ОписаниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° DataObject

Π­Ρ‚ΠΎΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ являСтся элСмСнтом управлСния, Π½ΠΎ участвуСт Π² опСрациях пСрСтаскивания Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… тСкстов ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ элСмСнта управлСния Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ. Π’ Π½Π΅ΠΌ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ нСсколько тСкстовых Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°Ρ…. Когда Π² DataObject помСщаСтся Π½ΠΎΠ²Ρ‹ΠΉ тСкст с ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌΡΡ Π² Π½Π΅ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ, Ρ‚ΠΎ ΠΏΡ€Π΅ΠΆΠ½ΠΈΠΉ тСкст с этим Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ замСняСтся Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ.

ПовСдСниС DataObject ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π°. Однако DataObject сущСствуСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния ΠΈ исчСзаСт послС Π΅Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ, Π° Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±ΡƒΡ„Π΅Ρ€Π΅ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΏΡ€ΠΈ этом Π½Π΅ Ρ‚Π΅Ρ€ΡΡŽΡ‚ΡΡ, DataObject ΠΌΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ тСкстовыС Π΄Π°Π½Π½Ρ‹Π΅, Π° Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π° – ΠΈ графичСскиС. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, DataObject – настоящий OLE-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π°, ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ пСрСтаскивания тСкста.

ВСкст заносится Π² DataObject ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ SetText, Π° извлСкаСтся ΠΎΡ‚Ρ‚ΡƒΠ΄Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ GetText:

ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. SetText(StoreData [, format])

ΠΈ

Π‘Ρ‚Ρ€ΠΎΠΊΠ° = ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. GetText([format]),

Π³Π΄Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ – ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ – Π²Π»Π°Π΄Π΅Π»Π΅Ρ† ΠΌΠ΅Ρ‚ΠΎΠ΄Π°;

StoreData – тСкст, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Π΄ΠΎ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅;

format – это Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€, Π·Π°Π΄Π°ΡŽΡ‰ΠΈΠΉ Β«Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Β» Π΄Π°Π½Π½Ρ‹Ρ… (1 соотвСтствуСт стандартному тСкстовому Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ, Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ числа ΠΈ строки ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌ).


Если ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ format Π² Π²Ρ‹Π·ΠΎΠ²Π΅ SetText явно Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, Ρ‚ΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌΠΎΠΌΡƒ тСксту присваиваСтся Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ стандартного тСкста 1. Π’Π°ΠΊ ΠΊΠ°ΠΊ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° DataObject содСрТит лишь ΠΎΠ΄ΠΈΠ½ тСкст с этим Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ, Ρ‚ΠΎ фактичСски Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈΠ³Ρ€Π°Π΅Ρ‚ Ρ€ΠΎΠ»ΡŒ ΠΊΠ»ΡŽΡ‡Π°, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ тСкст заносится ΠΈ извлСкаСтся ΠΈΠ· DataObject. ΠœΠ΅Ρ‚ΠΎΠ΄ GetFormat позволяСт ΡƒΠ·Π½Π°Ρ‚ΡŒ, имССтся Π»ΠΈ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ DataObject тСкст ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°: