ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π˜ΠΌΠΏΠΎΡ€Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² MS Excel с Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΌΠΈ листами

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

БвяТитС тСкстовоС ΠΈΠΎΠ»Π΅ Text_X с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ события KeyPressed. Для этого Π²Ρ‹ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΎΠΊΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Π΄ΠΈΠ°Π»ΠΎΠ³Π° (Π²ΠΊΠ»Π°Π΄ΠΊΠ° UserFormJF), Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ Π½ΠΎΠ»Π΅ Text X ΠΈ Π² Π΅Π³ΠΎ контСкстном мСню Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Бвойства. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ сдСлайтС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ (рис. 11.19):β€’ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Бобытия ΠΎΠΊΠ½Π° Бвойства: TextField Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ событиС НаТатиС клавиши ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒJ; Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° Π½Π°Π±ΠΎΡ€… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π˜ΠΌΠΏΠΎΡ€Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² MS Excel с Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΌΠΈ листами (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Рассмотри! ΠΈΠΌΠΏΠΎΡ€Ρ‚ Π² OpenOffice Calc элСктронных Ρ‚Π°Π±Π»ΠΈΡ† MS Excel с Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΌΠΈ листами. Π˜ΠΌΠΏΠΎΡ€Ρ‚ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ для Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» сформирован Π² ΠΏΠΎΠ΄ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„Π΅ 6.4.1.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 11.4.

ИспользованиС Ρ„ΠΎΡ€ΠΌ Бмысл ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π² ΠΏΠΎΠ΄ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„Π΅ 6.4.1 Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π»ΡΡ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ для вычислСния значСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ y = (yjx +1) Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ допустимых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°.

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ выполнСния ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ 11.4.

  • 1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ OpenOffice Calc Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠœΡƒΠ•Ρ…Π‘Π°1с_ Fun. xlsm, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ мСню Π€Π°ΠΉΠ» —> ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ, ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ (Π€Π°ΠΉΠ» —> —> Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ) Π΅Π³ΠΎ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠžΠž. ΠΎ Calc, Ρ‚. Π΅. с ΠΈΠΌΠ΅Π½Π΅ΠΌ MyExCalc Fun.ods.
  • 2. Π’ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π² ΡΡ€Π΅Π΄Ρƒ IDE, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, посрСдством сочСтания клавиш Alt + F11. Π’ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠœΠ°ΠΊΡ€ΠΎΡΡ‹ OpenOffice Basic Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠœΡƒΠ•Ρ…Π‘Π°1с_ Fun. ods/Standart/UserForm_/, макрос UserForm _f ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.
  • 3. Π’ ΠΎΡ‚ΠΊΡ€Ρ‹Π²ΡˆΠ΅ΠΌΡΡ ΠΎΠΊΠ½Π΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΊΠΎΠ΄Π° Π½Π°Π±ΠΎΡ€ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΡƒΠ½ΠΊΡ‚Π° 6.4.1 ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½, поэтому Π½ΡƒΠΆΠ½ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ VBA ΠΊΠΎΠ΄ Π² ΠžΠž. ΠΎ Basic. Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅.
  • 3.1. ΠœΠΎΠ΄ΡƒΠ»ΡŒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ UserForm_J (рис. 11.17):
    • β€’ Π² Π½Π°Ρ‡Π°Π»ΠΎ модуля Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строку Option VBASupport 1;
    • β€’ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π΄Π²Π΅ ΠΏΠ°Ρ€Π½Ρ‹Π΅ строки Sub UserFonn_J End Sub;
    • β€’ Ρ€Π°ΡΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ (ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Rem) всС исполняСмыС конструкции-строки.
  • 3.2. Π’ΠΎ Π²ΡΠ΅Ρ… ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… модулях (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Лист1, Лист2, ЛистЗ, Π­Ρ‚Π°ΠšΠ½ΠΈΠ³Π°) ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС строки.
  • 4. ΠžΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Ρ„ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚Π΅ ΠΈΡ… Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π½ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅?. Π’ ΠΈΡ‚ΠΎΠ³Π΅ явно ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ диагностичСскоС сообщСниС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния (рис. 11.18).
  • 5. Π˜ΡΠΏΡ€Π°Π²ΡŒΡ‚Π΅ исходный ΠΊΠΎΠ΄ модуля UserForm_J Π² ΡΠΎΠΎΡ‚вСтствии с Π»ΠΈΡΡ‚ΠΈΠ½Π³ΠΎΠΌ 11.2. ΠŸΡ€ΠΈ этом ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° StartDialog Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ располоТСна ΠΏΠ΅Ρ€Π²ΠΎΠΉ срСди всСх ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€. Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ° Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ IDE запускаСт всСгда ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ (см. ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„ 10.4). Из Π»ΠΈΡΡ‚ΠΈΠ½Π³Π° ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΈΠ·-Π·Π° разности ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠžΠž. ΠΎ Basic ΠΈ VBA ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ для запуска Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ StartDialog, ΠΏΠΎΠ΄ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ CmdCalc CIick ΠΈ CmdExit_Click, Π° Π²ΠΌΠ΅ΡΡ‚ΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Text_Π₯_ΠšΠ΅ΡƒPress Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ KeyPressed.
Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ VBA модуля UserForm_f.

Рис. 11.17. Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ VBA модуля UserForm_f

Puc. 11.18. ДиагностичСскоС ΠΎΠΊΠ½ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния Листинг 11.2.

Puc. 11.18. ДиагностичСскоС ΠΎΠΊΠ½ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния Листинг 11.2.

Option VBASupport 1.

Dim oDlg As Object 'ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ„ΠΎΡ€ΠΌΡ‹

Dim x As Single, Ρƒ As Single 'ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ dim bs as boolean, bm as boolean 'ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΈ Π²Π²ΠΎΠ΄Π° символов (,. ΠΈ -) Dim Π’Π΅Ρ… as string 'содСрТимоС тСкстового поля

Function StartDialog ().

DialogLibraries.LoadLibrary («Standard») oDlg =.

CreateUnoDialog (DialogLibraries.Standard.UserForm_F) oDlg. execute () bs=false: bm=false tex = «» .

End Function.

Private Sub CmdExit_Click () 'ΠΊΠ½ΠΎΠΏΠΊΠ° Π²Ρ‹Ρ…ΠΎΠ΄ oDlg. endExecute ().

End Sub.

Private Sub CmdCalc_Click () 'ΠΊΠ½ΠΎΠΏΠΊΠ° Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ

oDlg.getControl («Text_Y»).Text = «» .

If IsNumeric (oDlg.getControl («Text_X»).Text) = False Then MsgBox «ΠΡ€Π³ΡƒΠΌΠ΅Π½Ρ‚ Π½Π΅ Ρ‡ΠΈΡΠ»ΠΎ!», vbCritical oDlg. getControl («Text_X»).SetFocus Exit Sub End If.

x = CSng (oDlg.getControl («Text_X») .Text).

If x < -1 Then.

MsgBox «Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ мСньшС -1!», vbCritical.

oDlg.getControl («Text_X»).SetFocus Exit Sub End If.

Ρƒ = Sqr (x + 1).

oDlg.getControl («Text_Y»).Text = CStr ((Round (y, 5)).

End Sub.

Sub KeyPressed (Event As Object).

Dim Msg As String.

Dim Sel As New com.sun.star.awt.Selection Select Case Event.KeyCode.

Case Is = 1025 'клавиши Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ

Case 1283, 1286 'клавиши BACKSPACE, DELETE If (InStr (l, oDlg. getControl («Text_X»).Text, «.») 0.

Or InStr (1, oDlg. getControl («Text_X»).Text, «,») 0) then bs=true: else bs=false.

If (InStr (l, oDlg. getControl («Text_X»).Text, «-») 0) then bm=true: else bm=false Case 1291, 12 92 '.ΠΈΠ»ΠΈ.

If (InStr (l, oDlg. getControl («Text_X»).Text, «.») 0.

Or InStr (l, oDlg. getControl («Text_X»).Text, «,») 0) and bs Then.

oDlg.getControl («Text_X»).Text=tex.

Sel.Min = Len (oDlg.getControl («Text_X»).text).

Sel.Max = Len (oDlg.getControl («Text_X»).text) oDlg. getControl («Text_X»).setSelection (Sel) end if.

If (InStr (1, oDlg. getControl («Text_X») .Text, «.») 0.

Or InStr (1, oDlg. getControl («Text_X»).Text, «,») 0) then bs=true: else bs=false Case 1288 ' If InStr (l, oDlg. getControl («Text_X»).Text, «-») and bm Then.

oDlg.getControl («Text_X»).Text=tex.

Sel.Min = Len (oDlg.getControl («Text_X»).text).

Sel.Max = Len (oDlg.getControl («Text_X»).text) oDlg. getControl («Text_X») .setSelection (Sel) end if.

If InStr (1, oDlg. getControl («Text_X»).Text, 0.

then bm=true: else bm=false.

Case Is 2 65 'Π½Π΅ Ρ†ΠΈΡ„Ρ€Ρ‹

oDlg.getControl («Text_X»).Text=tex.

Sel.Min = Len (oDlg. getControl (,Text_X"). text).

Sel.Max = Len (oDlg. getControl (,Text_X"). text) oDlg. getControl (,Text_X"). setSelection (Sel).

End Select.

Tex=oDlg.getControl («Text_X»).Text End Sub.

  • 6. БвяТитС тСкстовоС ΠΈΠΎΠ»Π΅ Text_X с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ события KeyPressed. Для этого Π²Ρ‹ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΎΠΊΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Π΄ΠΈΠ°Π»ΠΎΠ³Π° (Π²ΠΊΠ»Π°Π΄ΠΊΠ° UserFormJF), Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ Π½ΠΎΠ»Π΅ Text X ΠΈ Π² Π΅Π³ΠΎ контСкстном мСню Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Бвойства. ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ сдСлайтС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ (рис. 11.19):
    • β€’ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Бобытия ΠΎΠΊΠ½Π° Бвойства: TextField Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ событиС НаТатиС клавиши ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒJ;
    • β€’ Π² ΠΎΠΊΠ½Π΅ ΠΠ°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ дСйствиС ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ НаТатиС клавиши Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠœΠ°ΠΊΡ€ΠΎΡ;
    • β€’ Π² ΠΎΠΊΠ½Π΅ Π’Ρ‹Π±ΠΎΡ€ макроса ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈ ΠΈΠΌΡ макроса KeyPressed (см. Ρ€ΠΈΡ. 11.19);
    • β€’ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ всС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΎΠΊΠ½Π°, наТимая Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠžΠš;
    • β€’ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² ΠΈΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ модуля UserForm_J(Π²ΠΊΠ»Π°Π΄ΠΊΠ° UserFoim_f). НС ΠΏΡƒΡ‚Π°ΠΉΡ‚Π΅: Π΅ΡΡ‚ΡŒ Π΄Π²Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ. Одна ΠΈΠ· Π½ΠΈΡ… — ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΊΠΎΠ΄Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ UserForm_J, Π° Π΄Ρ€ΡƒΠ³Π°Ρ — Π΄ΠΈΠ°Π»ΠΎΠ³ (Ρ„ΠΎΡ€ΠΌΠ°) с ΠΈΠΌΠ΅Π½Π΅ΠΌ UserForm_F.
Окна связывания элСмСнта с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ события.

Рис. 11.19. Окна связывания элСмСнта с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ события.

7. ΠžΡ‚ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Ρ„ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚Π΅ ΠΈΡ… Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ t ΡΡ€Π΅Π΄Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ IDE.

Π’ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΏΠ° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ». Если Π²Π²Π΅Π΄Π΅Π½Ρ‹ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ (рис. 11.20).

Окно с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ вычислСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Рис. 11.20. Окно с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ вычислСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Если Π²Π²Π΅Π΄Π΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ диагностичСскоС.

Окно с диагностичСским сообщСниСм.

Рис. 11.21. Окно с Π΄ΠΈΠ°Π³Π½ΠΎΡΡ‚ичСским сообщСниСм ΡŽΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ (рис. 11.21).

8. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΈ Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ».

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Π² ΠžΡ€ΡΠΏΠžΠ¨ΡΠ΅ Calc элСктронных Ρ‚Π°Π±Π»ΠΈΡ† Excel с Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΌΠΈ листами для простых случаСв частично Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ, для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ:

  • β€’ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ модуля, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ VBA, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строку Option VBASupport 1;
  • β€’ Ρ€Π°ΡΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ исходный ΠΊΠΎΠ΄ VBA;
  • β€’ исходный ΠΊΠΎΠ΄ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… событий частично ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΈ нСобходимости Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹;
  • β€’ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ элСмСнты управлСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, тСкстовоС ΠΏΠΎΠ»Π΅) с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ.
ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ