inga abulaZe
laboratoriuli samuSaoebi
          VBA enaze
     `teqnikuri universiteti”@
saqarTvelos teqnikuri universiteti
           inga abulaZe
laboratoriuli samuSaoebi
           VBA enaze
                 registrirebulia stu-s
                 saredaqcio-sagamomcemlo sabWos
                 mier. 21.01.2010, oqmi #1
              Tbilisi
               2010
uak 681.3
    ganxilulia 10 laboratoriul-praqtikuli samuSaos
Sesrulebis meTodika. TiToeuli samuSaosaTvis aRweri-
lia     programis        grafikuli            interfeisis   damuSavebis,
programuli kodis Cawerisa da VBA-proeqtis (Visual Basic
for Application) Sesrulebis procedurebi.
    gankuTvnilia teqnikuri universitetis informatikis
fakultetis         studentebisaTvis,            romlebic    Seiswavlian
VBA daprogramebis enas.
      recenzenti profesori zurab wveraiZe
© sagamomcemlo saxli ,,teqnikuri universiteti’’, 2010
ISBN 978-9941-14-792-0
http://www.gtu.ge/publishinghouse/
yvela ufleba daculia. am wignis arc erTi nawili (iqneba es teqsti, foto,
ilustracia Tu sxva) aranairi formiT da saSualebiT (iqneba es eleqtronuli Tu
meqanikuri), ar SeiZleba gamoyenebul iqnas gamomcemlis werilobiTi nebarTvis
gareSe.
saavtoro uflebebis darRveva isjeba kanoniT.
           laboratoriuli samuSao #1
    Tema: Visual Basic-is samuSao garemo; proeqtis Sedgena
da Sesrulebis etapebi; UserForm, CommandButton, Label,
Image obieqtebi; obieqtis Tvisebebis Secvla Properties
fanjaraSi      da   programulad;     monacemebis   gamotana
Debug.Print operatoris meSveobiT.
                        samuSaos mizani
    VBA-proeqtis       (programis)   Sedgena:   interfeisis
formis saTauri iyos First Project; label tipis obieqtSi 16
zomis AcadNusx SriftiT CawereT teqsti `pirveli
proeqti~; Image obieqtSi moaTavseT naxati (My Pictures an
sxva saqaRaldidan).
    programis Sesruleba daiwyeT CommandButton obieqtze
daWeriT, romlis saTauri iqneba `programis gaSveba~;
UserForm, CommandButton da Image obieqtebis Tvisebebi
SecvaleT interfeisis Seqmnis etapze Properties fanjaraSi;
label obieqtis Tvisebebi SecvaleT programul kodSi da
SeasruleT proeqti.
                      samuSaos Sesruleba
     1. gauSviT Microsoft Excel-i da Semdeg Tools\Macro\Visual
Basic Editor brZanebis (an Alt+F11 Rilakebis) saSualebiT
gadadiT Visual Basic-is garemoSi.
     2. Insert\User Form brZanebis saSualebiT gamova forma
da masze ToolBox panelidan moaTavseT CommandButton1,
Label1, Image1 obieqtebi. miiRebT sawyis grafikul
interfeiss
                              3
    3. SeadgineT interfeisis            obieqtTa     Tvisebebis
Sesacvleli cxrili
                                      YTvisebis        YTvisebis
   obieqti          Tviseba             sawyisi           axali
                                     mniSvneloba     mniSvneloba
UserForm1        Caption               UserForm1       First Project
                 Caption            CommandButton1    programis
                                                         gaSveba
CommandButton1   Font (Name)           Tahoma           AcadNusx
                 Font (Size)              8                 10
                 Font (Style)          Regular             Bold
                 Caption               Label1           pirveli
                                                        proeqti
Label1           Font (Name)           Tahoma           AcadNusx
                 Font (Size)              8                 16
                 TextAlign                1                  2
Image1           Picture                  -          c:\..\My Picture
                 PictureSizeMode          0                  1
   Properties fanjaraSi UserForm1, CommandButton1, Image1
obieqtebis     TvisebaTa  Secvlis    Semdeg    programis
grafikuli interfeisi aseTi iqneba
                                4
    4. CommandButton1 obeqtisaTvis CawereT programuli
kodi. amisaTvis 2-jer daawkapuneT Rilakze `programis
gaSveba~, gaxseniT kodis fanjara da akrifeT programuli
kodi. igi aseTi iqneba
          Private Sub CommandButton1_Click()
           Label1.Font.Name = "AcadNusx"
           Label1.Font.Size = 16
           Label1.Caption = "pirveli proeqti"
           Label1.TextAlign = 2
          End Sub
     5. samuSao garemos instrumentTa panelze Run Sub\
UserForm Rilakze an F5 funqciur Rilakze daWeriT (an
Run\ Run Sub\ UserForm brZanebis saSualebiT) programa
gauSviT Sesrulebaze.
    programis Sesrulebis Semdeg grafikuli interfeisi
aseTi iqneba
----------------                            ---------------------------
   (qula)                                        (xelmowera)
                                5
           laboratoriuli samuSao #2
    Tema: wrfivi struqturis algoriTmis daprogrameba.
cvladebis aRmweri da miniWebis operatorebi, Label
obieqti, teqsturi velebis (TextBox obieqtis) gamoyenebiT
informaciis Setana da gamotana.
                      samuSaos mizani
    VBA-programis Sedgena, romelic marketis dRiur
Semosavals gaanawilebs Semdegnairad: xelfasis fondi _
20%; komunaluri gadasaxadebi _ 22%; saqonlis Rirebule-
ba _ 38 %; mogeba _ 20 %.
    Semosavlis mniSvneloba SeitaneT TextBox1 teqstur
velSi.    calkeuli     sferoebis   mixedviT    Semosavlis
ganawilebis Sedegebi gamosaxeT TextBox2, TextBox3, TextBox4,
TextBox5 velebSi. teqstur velebs Label obieqtebiT
gaukeTeT Sesabamisi warwerebi.
    programis Sesruleba daiwyeT CommandButton tipis
brZanebis Rilakze daWeriT, romlis saTauri iqneba
`programis gaSveba~. interfeisis formis saTauri iyos
Market.
                   samuSaos Sesruleba
     1. moaTavseT formaze obieqtebi, ris Sedegadac
miiRebT grafikuli interfeisis Semdeg fanjaras
                             6
     2. samuSao garemos Properties fanjaraSi formis
CommandButton da Label1÷ Label6 obieqtebs SeucvaleT jer
Font Semdeg ki Caption Tvisebebis mniSvnelobebi. TextBox1÷
TextBox5 obieqtebi Tavidan carielia.
     3. CawereT    programuli      kodi   CommandButton1
brZanebis RilakisaTvis
        Private Sub CommandButton1_Click()
         Dim shem As Single
         shem = TextBox1.Text
         TextBox2.Text = shem * 20 / 100
         TextBox3.Text = shem * 22 / 100
         TextBox4.Text = shem * 38 / 100
         TextBox5.Text = shem * 20 / 100
        End Sub
   4. programis      Sesruleba.   gauSviT      programa
Sesrulebaze samuSao garemos instrumentTa panelze Run
Sub\UserForm Rilakze     daWeriT.  moaTavseT    TextBox1
obieqtSi kursori, akrifeT Semosavlis mniSvneloba da
daaWireT Rilakze `programis gaSveba~.
   5. im    SemTxvevaSi,  rodesac     marketis  dRiuri
Semosavali 1250 laria grafikuli interfeisi aseTia
----------------                             ---------------------------
   (qula)                                         (xelmowera)
                               7
           laboratoriuli samuSao #3
    Tema: wrfivi struqturis algoriTmis daprogrameba.
InputBox fanjaraSi informaciis Setana. Label obieqti,
Properties fanjaraSi da obieqtis Tvisebebis programulad
Secvla. informaciis gamotana teqsturi velis (TextBox
obieqtis) meSveobiT.
                     samuSaos mizani
   SeadgineT VBA-programa, romelic gamoTvlis marT-
kuTxedis farTobs. marTkuTxedis gverdebis mniSvnelobe-
bi SeitaneT InputBox fanjaraSi. Label1 obieqts Properties
fanjaraSi SeucvaleT Tvisebebi; Label2 obieqts ki _
programul kodSi da warweras gaukeTeT saTauri:
`Rechtangle Area s = a * b~. Sedegi gamosaxeT teqstur velSi.
   programis       Sesruleba      daiwyeT    formaze   orjer
dawkapunebiT.
                   samuSaos Sesruleba
   1. moaTavseT formaze obieqtebi, ris Sedegadac
miiRebT grafikuli interfeisis Semdeg fanjaras
                             8
   2. samuSao   garemos   Properties fanjaraSi Label1
obieqtis Tvisebis Secvlis Sedegad miiRebT grafikuli
interfeisis Semdeg fanjaras
   3.   CawereT programuli kodi UserForm obieqtisaTvis
          Private Sub UserForm_Click()
           Dim a As Single, b As Single, s As Single
           a = InputBox("Enter a")
           b = InputBox("Enter b")
           Label2.Font.Size = 14
           Label2.TextAlign = 2
           Label2.Caption = "Rectangle Area S = a * b"
           S = a * b: TextBox1.Text = S
          End Sub
   4. gauSviT programa Sesrulebaze samuSao garemos
instrumentTa panelze Run Sub\ UserForm Rilakze an F5
funqciur Rilakze daWeriT.
                                9
   5. programis     Sesrulebis   Semdeg       grafikuli
interfeisi aseTi iqneba
----------------                   ---------------------------
   (qula)                               (xelmowera)
                         10
          laboratoriuli samuSao #4
    Tema:    ganStoebadi     struqturis      algoriTmis
daprogrameba. marTvis pirobiTi (IF) da upirobo (GoTo)
operatorebi. informaciis Setana InputBox fanjris da
informaciis gamotana MsgBox fanjris meSveobiT.
                     samuSaos mizani
    VBA-programis Sedgena, romelic Seamowmebs ramdenad
iciT esa Tu is sakiTxi.
    kompiuteris moTxovniT InputBox fanjarSi SeitaneT
sakontrolo      kiTxvis  pasuxi,   romelic     programaSi
Sedardeba swor pasuxs. swori pasuxis SemTxvevaSi,
informaciuli xasiaTis MsgBox fanjaraSi, programam
gamoitanos Setyobineba `pasuxi sworia~ da dasruldes.
araswori pasuxis SemTxvevaSi        ki _ informaciuli
xasiaTis    MsgBox fanjaraSi      programam    gamoitanos
Setyobineba `pasuxi arasworia~. amis Semdeg gamovides Yes
da No Rilakebis Semcveli MsgBox fanjara teqstiT `cdiT
kidev erTxel?~; Yes Rilakze daWerisas pasuxis Setanis
operacia kvlav gameordes, No Rilakze daWerisas ki _
programa dasruldes.
    programis Sesruleba daiwyeT `codnis Semowmeba~
brZanebis Rilakze daWeriT, interfeisis formis saTauria
Test.
                 samuSaos Sesruleba
   1. moaTavseT formaze obieqtebi, ris Sedegadac
miiRebT grafikuli interfeisis Semdeg fanjaras
                           11
   2. SecvaleT CommandButton1 obieqtis Font, Caption da
AutoSize Tvisebebis mniSvnelobebi, agreTve UserForm1
obieqtis Caption Tvisebis mniSvneloba. TvisebaTa Secvlis
Semdeg grafikuli interfeisi aseTi iqneba
   3. CawereT programuli kodi CommandButton1 brZanebis
RilakisaTvis
    Private Sub CommandButton1_Click()
     Dim answer As String, x As Byte
     y1:
     answer = InputBox("Enter Answer", "Test")
     If answer = "NoteBook" Then
       MsgBox "Answer is Correct", 64, "Test"
       GoTo y2:
     Else
       MsgBox "Answer is Incorrect", 64, "Test"
     End If
     x = MsgBox("Try again?", 32 + 4, "Test")
     If x = 6 Then GoTo y1
     y2:
     End
    End Sub
                                12
   4. gauSviT programa Sesrulebaze samuSao garemos
instrumentTa panelze Run Sub\ UserForm Rilakze an F5
funqciur Rilakze daWeriT.
   5. programis gaSvebis Semdeg InputBox da MsgBox
fanjrebs aseTi saxe eqnebaT
----------------                   ---------------------------
   (qula)                               (xelmowera)
                         13
          laboratoriuli samuSao #5
   Tema: rTuli ganStoebadi struqturis algoriTmis
daprogrameba.      If…Then…ElseIf…Else operatori.    Option
Explicit brZaneba. Label obieqti, teqsturi velebis (TextBox
obieqtis) gamoyenebiT informaciis Setana da Sedegis
gamotana Debug.Print operatoriT.
                     samuSaos mizani
   VBA-programis Sedgena, romelic kompiuterSi Seitans
sam ricxvs da gansazRvravs maT Soris maqsimalurs. a, b
da c-s mniSvnelobebi SeitaneT Text1, Text2 da Text3
teqsturi    velebis    saSualebiT    (teqsturi    velebi
Tavdapirvelad carieli unda iyos), xolo Sedegi
gamoitaneT Debug.Print operatoris meSveobiT. teqstur
velebs Label obieqtebiT gaukeTeT Sesabamisi warwerebi.
   programis Sesruleba daiwyeT CommandButton tipis
brZanebis Rilakze daWeriT, romelis saTauri iqneba
`programis gaSveba~. interfeisis formis saTauri iyos
Maxsimum-i.
                 samuSaos Sesruleba
   1. moaTavseT formaze obieqtebi, ris Sedegadac
miiRebT grafikuli interfeisis Semdeg fanjaras
                            14
    2. samuSao garemos Properties fanjaraSi formis
CommandButton1 obieqts SeucvaleT jer Font-i Semdeg ki
Caption Tvisebebis mniSvnelobebi, Label1÷ Label3 obieqtebs
ki _ Font, Caption da TextAlign Tvisebebis mniSvnelobebi.
    3. CawereT      programuli        kodi     CommandButton1
brZanebis RilakisaTvis
       Option Explicit
       Private Sub CommandButton1_Click()
        Dim a As Integer, b As Integer, c As Integer,
        max As Integer
        a = TextBox1.Text
        b = TextBox2.Text
        c = TextBox3.Text
        If a > b Then
                    max = a
        ElseIf b > c Then max = b
        Else
            max = c
        End If
        Debug.Print "max="; max
       End Sub
    4. gauSviT programa Sesrulebaze samuSao garemos
instrumentTa panelze Run Sub\ UserForm Rilakze an F5
funqciur Rilakze daWeriT. moaTavseT Text1, Text2 da Text3
obieqtebSi kursori, akribeT Sesabamisad a, b da c-s
mniSvnelobebi da daaWireT Rilakze `programis gaSveba~.
    5. im SemTxvevisaTvis, rodesac a = 7, b = 5 da c = 3
grafikuli interfeisi aseTi iqneba
                                 15
   6. Sedegi naxeT View\ Immediate Window brZanebis
arCevis (an Ctrl+G Rilakebze daWeris) Semdeg gamosul
Immediate fanjaraSi
----------------                   ---------------------------
   (qula)                               (xelmowera)
                         16
          laboratoriuli samuSao #6
    Tema: martivi cikluri struqturis algoriTmis
daprogrameba. ciklis organizacia gameorebis wina
pirobiT _ operatori Do While…Loop. Label obieqti,
teqsturi         velebis    (TextBox  obieqtis) gamoyenebiT
informaciis Setana da Sedegis gamotana Debug.Print
operatoriT.
                          samuSaos mizani
    VBA-programis Sedgena, romelic formaze gamoitans
       cx    3
     2 + x cos( x )
 y=                       funqciis mniSvnelobaTa cxrils,
      20 x + 7, 9 sin 2 x
rodesac x argumenti icvleba [a, b] segmentze h bijiT. a, b
da h mniSvnelobebi SeitaneT Sesabamisi warweris mqone
teqstur velebSi, xolo Sedegi gamoitaneT Debug.Print
operatoris meSveobiT. teqstur velebs Label obieqtebiT
gaukeTeT Sesabamisi warwerebi.
   programis Sesruleba daiwyeT CommandButtton tipis
brZanebis Rilakze daWeriT, romlis saTauri iqneba
`funqciis mniSvnelobaTa cxrili~. interfeisis formis
saTauri iyos `martivi cikli~.
                  samuSaos Sesruleba
   1. interfeisis formaze moaTavseT Text1, Text2 da Text3
teqsturi velebi; Label1, Label2, label3     obieqtebi da
CommandButtton1 brZanebis     Rilaki.    miiRebT   Semdeg
grafikuli interfeisis fanjaras
                            17
   2. obieqtTa Tvisebebis Secvlis Properties fanjarSi
CommandButton1, Label1, Label2, Labe3 obieqtebs SeucvaleT
jer Font Semdeg ki Caption Tvisebebis mniSvnelobebi.
agreTve, Label1, Label2, Labe3 obieqtebs SeucvaleT TextAlign
Tvisebis mniSvneloba.
   3. CawereT      programuli        kodi    CommandButton1
brZanebis RilakisaTvis
     Private Sub CommandButton1_Click()
      Dim a As Single, b As Single, h As Single
      a = TextBox1.Text
      b = TextBox2.Text
      h = TextBox3.Text
      c = 1.3
      x=a
      Do While x < b
         y = (2 ^ (c* x) + x ^ 3 * cos(x)) / sqr(abs(20 * x +
         7.9 * (sin(x)) ^ 2))
         Debug.Print "x="; x, "y="; y
         x=x+h
      Loop
     End Sub
    4. gauSviT programa Sesrulebaze samuSao garemos
instrumentTa panelze Run Sub\ UserForm Rilakze an F5
funqciur Rilakze daWeriT. moaTavseT Text1, Text2 da Text3
obieqtebSi kursori, akrifeT a, b da h Sesabamisi
mniSvnelobebi     da    daaWireT   Rilakze        `funqciis
mniSvnelobaTa cxrili~.
    5. im SemTxvevisaTvis rodesac a = 4, 5; b = 9 da h = 0, 5
grafikuli interfeisi aseTi iqneba
                                   18
   7. Sedegebi naxeT View\ Immediate Window brZanebis
arCevis (an Ctrl+G Rilakebze daWeris) Semdeg gamosul
Immediate fanjaraSi
----------------                   ---------------------------
   (qula)                               (xelmowera)
                         19
          laboratoriuli samuSao #7
    Tema: rTuli cikluri struqturis algoriTmis
daprogrameba. ciklis operatori For... Next. operaciebi
masivebze. ListBox obieqtis gamoiyeneba siis elementTa
warmosadgenad.
                      samuSaos mizani
    VBA-programis Sedgena, romelic kompiuterSi Seitans
ofisis TanamSromelTa gvarebs, maT xelfasebs da
gansazRvravs saSualo xelfass.
    mocemulia t1, t2, ... , t5 striqonuli masivi , romlis
elementebia ofisis TanamSromelTa gvarebi da x1, x2, … , x5
ricxviTi masivi, romlis elementebia TanamSromelTa
xelfasebi.
    programis Sesruleba daiwyeT masivebis elementebis
SetaniT InputBox fanjaraSi. TanamSromelTa masivis
elementebi asaxeT ListBox obieqtSi. aRniSnuli operaciebi
daiwyeT brZanebiT Rilakze daWeriT, romlis saTauria
`Setana~. brZanebiT Rilakze _ `saSualo xelfasi~ _
daWeriT gansazRvreT saSualo xelfasis mniSvneloba da
igi asaxeT Sesabamisi warweris mqone teqstur velSi.
ListBox obieqtidan amorCeuli gvaris Sesabamisi xelfasi
gamosaxeT teqstur velSi. am operaciis programuli kodi
CawereT ListBox obieqtisaTvis. brZanebiT Rilakze _
`waSla~ _ daWeriT gaasufTaveT ListBox da TextBox
obieqtebi.
                   samuSaos Sesruleba
    1. moaTavseT interfeisis formaze CommandButton1,
CommandButton2,    CommandButton3,      ListBox1 obieqtebi,
TextBox1, TextBox2 teqsturi velebi da Sesabamisi Label
obieqtebi. interfeisi aseTi iqneba
                            20
   2. am obieqtebs SeucvaleT Tvisebebi samuSao garemos
Properties fanjaraSi.
   3. CawereT programuli moduli, romelic Sedgeba
CommandButton1      (Setana), CommandButton2     (saSualo
xelfasi), CommandButton3 (waSla), ListBox1 obieqtebisaTvis
Sedgenili oTxi procedurisagan
   Dim t(5) As String, x(5) As Integer, i As Integer
   Private Sub CommandButton1_Click()
    For i = 1 To 5
       t(i) = InputBox("Enter SurName", , i)
       x(i) = InputBox("Enter Salary", , i)
       ListBox1.AddItem t(i)
    Next i
   End Sub
   Private Sub CommandButton2_Click()
    Dim s As Integer, sa As Integer
    s=0
    For i = 1 To 5
      s = s + x(i)
    Next i
      sa = s / 5
    TextBox2.Text = sa
   End Sub
   Private Sub CommandButton3_Click()
    ListBox1.Clear
    TextBox1.Text = Clear
    TextBox2.Text = Clear
   End Sub
   Private Sub ListBox1_Click()
    Dim ind As Integer
    ind = ListBox1.ListIndex
    TextBox1.Text = x(ind + 1)
   End Sub
                                   21
   4. gauSviT programa Sesrulebaze samuSao garemos
instrumentTa panelze Run Sub\ UserForm Rilakze an F5
funqcionalur Rilakze daWeriT.
   5. programis     Sesrulebis   Semdeg   grafikuli
interfeisi aseTi iqneba
----------------                   ---------------------------
   (qula)                               (xelmowera)
                         22
           laboratoriuli samuSao #8
Tema:  striqonuli     (teqsturi)   tipis            monacemebi.
striqonuli tipis funqciebTan muSaoba.
                       samuSaos mizani
   mocemulia teqsti: text = ”Visual Basic for Application”. text
teqstisagan qveteqstebis amoWrisa da maTi gaerTianebis
Sedegad   miiReba   ”VBA”    teqsti.     miRebuli       teqsti
gamosaxeT teqstur velSi. MsgBox fanjraSi gamoitaneT
miRebuli teqstis sigrZe.
   programis Sesruleba daiwyeT Cut&Merge dasaxelebis
brZanebis Rilakze daWeriT. Clear brZanebis Rilakze
daWeriT gaasufTaveT teqsturi veli. End brZanebis
Rilakze daWeriT ki programa dasruldes.
                    samuSaos Sesruleba
    1. grafikuli    interfeisis    formaze    moaTavseT
obieqtebi.
    2. samuSao     garemos       Properties   fanjaraSi
CommandButton1, CommandButton2, CommandButton3 brZanebis
Rilakebs SeucvaleT Tvisebebi. interfeisis forma aseTi
iqneba
                              23
   3. CawereT programuli moduli, romelic Sedgeba
CommandButton1   (Cut&Merge), CommandButton2  (Clear),
CommandButton3 (End) obieqtebisaTvis Sedgenili sami
procedurisagan
         DefStr T
         Private Sub CommandButton1_Click()
          Dim n As Integer
          Text = "Visual Basic for Application"
          Text1 = Left(text, 1)
          Text2 = Mid(text, 8, 1)
          Text3 = Mid(text, 18, 1)
          Text4 = text1 & text2 & text3
          n = Len(text4)
          TextBox1.text = text4
          MsgBox n
         End Sub
         Private Sub CommandButton2_Click()
          TextBox1.text = Clear
         End Sub
         Private Sub CommandButton3_Click()
          End
         End Sub
   4. gauSviT programa Sesrulebaze samuSao garemos
instrumentTa panelze Run Sub\ UserForm Rilakze an F5
funqcionalur Rilakze daWeriT.
   5. programis     Sesrulebis   Semdeg   grafikuli
interfeisi aseTi iqneba
                              24
----------------        ---------------------------
   (qula)                    (xelmowera)
                   25
          laboratoriuli samuSao #9
   Tema: grafikuli interfeisis obieqtebi:         ChekBox
(almebi), Frame (CarCo) da teqsturi velebi        (TextBox
obieqtebi). If…End If pirobiTi operatori.
                      samuSaos mizani
    programuli modulis Sedgena, romlis meSveobiT
gamoiTvleba ChekBox1 da ChekBox2 almebiT moniSnuli y-is
mniSvnelobebi. sami SesaZlo operaciidan erTi an
ramdenime    operaciis     amorCeva     da     Sesruleba
ganxorcieldes ChekBox1, ChekBox2 da ChekBox3 almebis
meSveobiT.
    programis Sesruleba daiwyeT `Setana~ Rilakze
daWeriT, romlis Sesabamis proceduraSi ganxorcieldeba
x-is mniSvnelobis Setana. am operaciis Semdeg CarTeT
pirveli da meore alami.
    `gamoTvla~ Rilakze daWeriT am proceduraSi jer
gansazRvreT ChekBox1, ChekBox2 da ChekBox3 obieqtebis
Value TvisebaTa mniSvnelobebi, Semdeg ki If…End If
operatorebiT ganxorcieldes maTi analizi, romelTa
Sedegebis mixedviT gamoiTvleba da teqstur velebSi
gamoitaneba Sesabamis funqciaTa mniSvnelobebi.
    `dasasruli~ brZanebis Rilakze daWeriT ki programa
dasruldes.
                  samuSaos Sesruleba
   1. grafikuli     interfeisis     formaze     moaTavseT
obieqtebi.
   2. samuSao      garemos       Properties     fanjaraSi
CommandButton1, CommandButton2, CommandButton3 brZanebis
Rilakebs da Frame1, ChekBox1, ChekBox2, ChekBox3 obieqtebs
SeucvaleT Tvisebebi.
                            26
    3. CawereT programuli moduli, romelic Sedgeba
CommandButton1   (Setana), CommandButton2 (gamoTvla),
CommandButton3 (dasasruli) obieqtebisaTvis Sedgenili
sami procedurisagan
         DefBool k
         Dim x As Single
         Private Sub CommandButton1_Click()
          x = InputBox("Enter x")
         End Sub
         Private Sub CommandButton2_Click()
          Dim y As Single
          k1 = CheckBox1.Value
          k2 = CheckBox2.Value
          k3 = CheckBox3.Value
          If k1 = True Then
             y = Sin(x + 3): TextBox1.Text = y
          End If
          If k2 = True Then
            y = x ^ 5: TextBox2.Text = y
          End If
          If k3 = True Then
            y = Abs(x): TextBox3.Text = y
          End If
         End Sub
         Private Sub CommandButton3_Click()
          End
         End Sub
   4. gauSviT programa Sesrulebaze samuSao garemos
instrumentTa panelze Run Sub\ UserForm Rilakze an F5
funqcionalur Rilakze daWeriT.
                              27
   5. im SemTxvevisaTvis   rodesac   x = 2 grafikuli
interfeisi aseTi iqneba
----------------                     ---------------------------
   (qula)                                 (xelmowera)
                           28
         laboratoriuli samuSao #10
   Tema: ComboBox obieqtis gamoyeneba siis elementTa
warmosadgenad. siaSi elementis moniSvna da misi gamotana
MsgBox fanjaraSi. siaSi moniSnuli elementis waSla.
konteineruli tipis cvladebis aRwera. Debug. Print
operatoriT Sedegis gamotana Immediate Window fanjaraSi.
                      samuSaos mizani
   VBA-programis Sedgena, romelic gamoTvlis siis
elementTa     namravls.    ComboBox obieqtSi    SeitaneT
elementebi. siaSi romelime elementi moniSneT da
gamoitaneT MsgBox fanjaraSi.
   programis Sesruleba daiwyeT `Sevseba~ brZanebis
Rilakze daWeriT da ComboBox obieqtSi SeitaneT
elementebi.
   daaWireT brZanebis Rilakze `waSla~ da ComboBox
obieqtidan waSaleT moniSnuli elementi.
   daaWireT      brZanebis    Rilakze   `namravli~    da
gamoTvaleT ComboBox obieqtSi moTavsebul elementTa
namravli. Sedegi gamoitaneT Debug.Print operatoriT
Immediate Window fanjaraSi.
                   samuSaos Seruleba
   1. formaze obieqtebis moTavsebis Semdeg grafikuli
interfeisi aseTi iqneba
                           29
    2. samuSao     garemos        Properties      fanjaraSi
CommandButton1, CommandButton2, CommandButton3, ComboBox1
obieqtebs SeucvaleT Tvisebebi.
    3. CawereT programuli moduli, romelic Sedgeba
ComboBox1,   CommandButton1    (Sevseba),    CommandButton2
(waSla),   CommandButton3   (namravli),      obieqtebisaTvis
Sedgenili oTxi procedurisagan
        Dim k As Double
        Private Sub ComboBox1_Click()
         k = ComboBox1.Text
         MsgBox k
        End Sub
        Private Sub CommandButton1_Click()
         k = ComboBox1.Text
         ComboBox1.AddItem k
        End Sub
        Private Sub CommandButton2_Click()
         Dim index As Integer
         index = ComboBox1.ListIndex
         ComboBox1.RemoveItem index
        End Sub
        Private Sub CommandButton3_Click()
         Dim i As Integer, p As Double, n As Integer
         n = ComboBox1.ListCount
         p=1
         For i = 0 To n - 1
            k = ComboBox1.List(i)
            p=p*k
         Next i
         Debug.Print "Product of Numbers ==>"; p
        End Sub
                                30
   4. gauSviT programa Sesrulebaze samuSao garemos
instrumentTa panelze Run Sub\ UserForm Rilakze an F5
funqciur Rilakze daWeriT.
   5. programis     Sesrulebis   Semdeg   grafikuli
interfeisi aseTi iqneba
----------------                   ---------------------------
   (qula)                               (xelmowera)
                         31
                             l i t e r a t u r a
   1. T.MmaWaraZe, z. wveraiZe. informatikis safuZvlebi.
Tbilisi, stu, 2003 w., 320 gv.
                                     s a r C e v i
   laboratoriuli samuSao #1
  pirveli proeqtis Seqmna ............................................................ 3
  laboratoriuli samuSao #2
  wrfivi struqturis algoriTmis daprogrameba .............. 6
  laboratoriuli samuSao #3
  wrfivi struqturis algoriTmis daprogrameba. ........... 8
  laboratoriuli samuSao #4
  ganStoebadi struqturis algoriTmis daprogrameba. 11
  laboratoriuli samuSao #5
  rTuli ganStoebadi struqturis algoriTmis
  daprogrameba. ................................................................................. 14
  laboratoriuli samuSao #6
  martivi cikluri struqturis algoriTmis
  daprogrameba. ................................................................................. 17
  laboratoriuli samuSao #7
  rTuli cikluri struqturis algoriTmis
  daprogrameba. ................................................................................. 20
  laboratoriuli samuSao #8
  teqsturi monacemebis daprogrameba ................................... 23
  laboratoriuli samuSao #9
  almebisa da gadamrTvelebis gamoyeneba ........................... 26
  laboratoriuli samuSao #10
  ComboBox obieqtis gamoyeneba siis elementTa
  warmosadgenad. .............................................................................. 29
  literatura.......................................................................................32
                                               32
studenti
fakulteti
jgufi
saswavlo weli
sagnis wamyvani profesori:
I Suasemestruli Sefaseba:
    (qula)                        (xelmowera)
II Suasemestruli Sefaseba:
    (qula)                        (xelmowera)
                             33
     kompiuteruli uzrunvelyofa i. abulaZis
     redaqtori m. bazaZe
     gadaeca   warmoebas   22.01.2010.   xelmowerilia   dasabeWdad
26.02.2010. qaRaldis zoma 60X84 1/16. pirobiTi nabeWdi Tabaxi 2.
tiraJi 100 egz.
  sagamomcemlo saxli `teqnikuri universiteti~, Tbilisi,
                           kostavas 77