T Tietotekniikan työkurssi

Slides:



Advertisements
Samankaltaiset esitykset
Excel ja makrot Excel koostuu kahdesta eri osasta Alt+F11 VBA
Advertisements

Useimmat esitetyt asiat pätevät myös muihin Office ohjelmiin.
T Tietotekniikan työkurssi
15. Loogiset operaatiot.
Hampuri, Saksa Löytää suunta, joka mahdollistaa Lions Clubs Internationalin saavuttavan sen täyden potentiaalin kansainvälisenä.
Olio-ohjelmoinnin perusteet luento 3: Muuttujista ja funktioista Sami Jantunen LTY/Tietotekniikan osasto.
JavaScript (c) Irja & Reino Aarinen, 2007
VBA –ohjelmoinnin perusteet
Luku 5 – Tietojen hakeminen sovelluksiin
vuorovaikutteiset www-sivut 1.Asiakas-palvelinmalli kuvana Request Response request.asp response.asp.
Rakenteinen ohjelmointi
T Tietotekniikan työkurssi
Ohjelmointitaito (ict1td002, 12 op) Syksy 2008
Perusopetuksen huoltajat 2014 Generated on :04.
Sovellusohjelman suunnittelu & toteutus
Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 4 Toistolauseet
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
TIETOKONEOHJELMAN RAKENNE OHJELMALLA ON KAKSI OSAA  MÄÄRITYSOSA TIETOJEN KUVAUKSIA VARTEN  SUORITUSOSA TIETOJEN KÄSITTELYÄ VARTEN.
1 Tulostaminen ja tiedostot. 2 Tulostaminen paperille n Tulostus voidaan tehdä esimerkiksi: –Crystal Reports -raporttigeneraattorilla –Printer-objektin.
I.R.O. Research Oy vee 10/2000 Mediakäyttö Käyttää vähintään kerran viikossa Tytöt ja pojat *) Kirjat (esim. romaanit, lasten- ja nuortenkirjat)
Ehto- ja toistolauseet
5.3.3 Koodin generointi Koodin generointi tarkoittaa objektikoodin eli konekielisen ohjelman tuottamista. Generointi jakautuu kolmeen osatehtävään: 1.Muistin.
Toiston tekeminen Javalla  Mikä toistorakenne on?  while toistorakenne  do-while toistorakenne  for toistorakenne 1.
Ohjelmoinnin tekniikkaa Sisällys for -lause lyhemmin. Vaihtoehtoisia merkintöjä aritmeettisille lauseille. Useiden muuttujien esittely.
Ohjelman perusrakenteet
Pseudokoodi Tietokoneohjelmien perusidea:
13. Hyvä ohjelmointitapa (osa 1)
1 Raha-asioiden suunnitteleminen ja nykyinen rahatilanne Senioritutkimus 2011.
Seinäjoki kisa A Tuomari: Tytti Lintenhofer ALO 12kyl, 4pys Kyl:
Johdatus ohjelmointiin Ohjelmistosuunnittelu Jaana Holvikivi.
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op
ict1td002 - Copyright Raine Kauppinen 1 Alkuarvot ja tyyppimuunnokset (1/5)  Aiemmin olemme jo antaneet muuttujille alkuarvoja, esimerkiksi: int.
Visual Basic -ohjelmointi
String-vertailusta ja Scannerin käytöstä (1/2)
Tietokoneohjelman suoritus opintojakso Olioajattelu ja –ohjelmointi, osa I Hans Nieminen Syksy 2013.
11. Javan toistorakenteet
Työasemasovelluksen käyttöliittymä sovelluksien käyttöliittymät voidaan jakaa kahteen pääluokkaan: –kohde-toiminto -pohjaisiin (object-action) käyttöliittymiin.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Ohjelmointitaito (ict1td002, 12 op) Kevät 2008 Raine Kauppinen
@ Leena Lahtinen Toistorakenne Ohjelmassa toistetaan tiettyjä toimenpiteitä monta kertaa peräkkäin Toisto noudattaa sille kuuluvia tarkkoja standardoituja.
1 Ohjelmointikielten varhaishistoria Esa-Matti Miettinen
@ Leena Lahtinen TIETOKONEOHJELMAN RAKENNE OHJELMALLA ON KAKSI OSAA:  MÄÄRITYSOSA TIETOJEN KUVAUKSIA VARTEN  SUORITUSOSA TIETOJEN KÄSITTELYÄ.
Suomen Lääkäriliitto | Finnish Medical AssociationLääkärit Suomessa | Physicians in Finland Tilastotietoja lääkäreistä ja terveydenhuollosta 2014 Statistics.
RAKENNUSPALIKOITA SEINÄJOEN KANSALAISOPISTO Jussi Rasku Aki Sirviö.
Rinnakkaisuus Järjestelmässä, jossa voi olla useita prosesseja rinnakkain suorituksessa voi tulla tilanteita, joissa prosessien suoritusta täytyy kontrolloida.
Visual Basic -ohjelmointi
Kontrollirakenteet laajemmin
Visual Basic -ohjelmointi
Javascript 2: Ohjelmointikielen ominaisuudet Jaana Holvikivi Metropolia.
Visual Basic -ohjelmointi
Ohjelmointi 1. toinen luento1 Taulukot n Kiinteät taulukot: alkioiden määrä tiedetään Dim intCount(12) As Integer 0 indeksit saavat arvoja 0-12 (Option.
Valintarakenne valintarakenne alkaa aina kysymyksellä eli ehdolla ehto tarkoittaa, että muuttujan sisältöä verrataan toisen muuttujan sisältöön tai vakioon.
1..toistolauseet While Wend For Each In [Exit For] Next.
Ohjausrakenteet Määräävät ohjelmakoodin suoritusjärjestyksen Ehtolause if – else on muotoa if (lauseke) lause1 else lause2 Jos lauseke on tosi, niin suoritetaan.
Ohjelmassa tänään Ohjelmointimallit Pseudokieli Modulaarisuus.
Ohjausjärjestelmien jatkokurssi
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
String-vertailusta ja Scannerin käytöstä (1/2)
TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
13. Loogiset operaatiot.
Toisto Toistolausekkeet for, while(ehto){…} ja do {…} while(ehto)
10. Javan ohjausrakenteet
16. Ohjelmoinnin tekniikkaa
14. Hyvä ohjelmointitapa.
11. Javan valintarakenteet
JavaScriptin perusteet
Kontrollirakenteet laajemmin
13. Loogiset operaatiot.
16. Ohjelmoinnin tekniikkaa
Esityksen transkriptio:

T-106.1061 Tietotekniikan työkurssi Luento 3 VBA 1

Luennon sisältö tieto ja tietokone ohjelmalla ohjataan tietokonetta ohjelmointikielen perustoiminnot tiedon siirto ohjelman ja ulkomaailman välillä tiedon tallentaminen matemaattiset toiminnot vertailutoiminnot ohjelman suorituksen ohjaaminen ohjelman rakenteen määrittely kielen määrittely Visual Basic for Applications ja sen perustoiminnot

Luennon tavoitteet tiedon merkitys ja tietokoneen toiminta tulee kerrattua ymmärrät, mitä ohjelmointi on ja mitä sen avulla pystytään tekemään ymmärrät VBA:n toimintaperiaatteen opit ohjelmoinnin perustoiminnot VBA:ssa opit tekemään yksinkertaisia VBA ohjelmia

Ihminen ja tietosisältö Ihmisen tuottama tietosisältö: Nonverbaalinen äänet signaalit toiminta kosketukset Verbaalinen puhe kirjoitus Ihmisen tulkitsema tietosisältö: valo ääni haju maku tunto tasapaino sisäistoiminnot Tietosisällön varastointi: fyysisesti havaittava sähköisesti tallennettu optisesti tallennettu muut tavat

Tietokone tietokone on laite, joka käsittelee tietosisältöä muuttaa syötteen halutuksi tulosteeksi varastoi tietosisältöä tietosisältö on tietokoneessa digitaalisessa binäärimuodossa tietokoneen toiminta perustuu muistipaikkojen käyttöön tietokone suorittaa käyttäjän ohjelmoimia ohjelmia tietokoneen voima perustuu asioiden toistoon

Muisti ja tallennusyksikkö Keskusyksikkö – Central Processing Unit CPU Tietokoneen rakenne Muisti ja tallennusyksikkö RAM ROM kiintolevyt nauhat CD-ROM levykkeet Keskusyksikkö – Central Processing Unit CPU kontrolli- yksikkö prosessori- Syöttö ja tulostus Input/Output I/O Syöttölaitteet näppäimistö hiiri Tulostuslaitteet näyttö printteri

Ohjelma on tulkki tietokoneen ja ihmisen välillä Ohjelmointi konekieli symbolinen konekieli korkean tason ohjelmointikieli C, C++ ja C# Java Delphi VBA sovellukset Word Excel PowerPoint Access

Tieto- sisällön käsittely Tietokoneen toiminta Syöte Tieto- sisällön käsittely Tuloste Tallennus

Ohjelmoinnin hyödyt usein toistuvien toimintojen automatisointi toisille tehtävien sovellusten tekeminen saadaan tehtyä räätälöityjä sovelluksia yksinkertaisesti saadaan tietokone toimimaan käyttöjärjestelmä kaikki sovellukset tietoliikenne

VBA -ohjelmointikieli kehitetty Windowsiin – erityisesti Officeen yhdenmukainen kehitysympäristö ja yhtenäinen lausekieli kaikissa sovelluksissa käyttää hyväksi Office-ohjelmien toimintoja helppokäyttöinen sisältää automaattisia toimintoja makrojen nauhoittaminen mahdollista kattavat help-toiminnot

VBA:n rakenne objekteja voidaan käyttää eri ohjelmissa Sovellus Sovelluksen toiminnot ja laajennukset Työkirja Taulukkosivu Graafinen objekti Ikkuna Nimetty alue objekteja voidaan käyttää eri ohjelmissa yhteisiä objekteja on monia viitataan isä.poika.pojanpoika Solu Grafiikan objektit Solun arvo Solumuotoilu

VBA -editori Office 97:ssa, 2000:ssa, 2003:ssa ja 2007:ssä yhtenäinen editori käynnistetään Developer > Code > Visual Basic ALT+F11 editorissa useita ikkunoita (View-valikko) projekti-ikkuna (moduulit) koodi-ikkuna (ohjelmakoodi) ominaisuus-ikkuna työkalurivi

VBA Officen sovelluksissa Visual Basic for Applications, VBA ohjelmakoodi tallentuu moduuleihin, jotka näkyvät projekti-ikkunassa esim. jokaista Excelin työkirjan sivua kohti on oma moduulinsa yleisemmät funktiot ja makrot kirjoitetaan erillisiin moduuleihin voidaan tehdä funktioita suoraan Excelin käyttöön makroja toimintasarjoja varten mahdollistaa monien monimutkaistenkin sovellusten tekemisen

VBA –editori Yleisnäkymä

Projekti -ikkuna Word/Excel yms. objektit UserFormit Moduulit Uuden moduulin luominen hiiren oikealla näppäimellä (Insert > Module) Koko projektikokonaisuus Saman aiheen proseduurit ja funktiot omissa moduleissa

Ominaisuudet (Properties) Valitun objektin ominaisuudet esim. nimi, väri, koko Aakkostettuna tai kategorioittain Näkyvillä vain valitun objektin sisältämät ominaisuudet

Ohjelmakoodi (Code) Valitun moduulin koodi Ensimmäisenä globaalit muuttujat Aliohjelmat ja funktiot peräjälkeen Väliviiva välissä Värikoodit: Varatut sanat - sininen Koodi - musta Virhe - punainen Kommentti - vihreä

Paikalliset muuttujat (Locals) Kaikki paikalliset (eli suoritettavassa ohjelmassa esitellyt) muuttujat ja niiden arvot Kätevä debuggauksessa Taulukko-muuttujat puurakenteisena

Watches Voi asettaa “vahteja” Muuttujien tai monimutkaisten lausekkeiden arvojen tarkkailu Ohjelman pysäyttäminen tosi-ehtoon tai arvon muuttumiseen Kätevä debuggauksessa

Suorita heti (Immediate) Välitön käskyn suorittaminen Funktioiden testaus Muuttujien arvot ? = Tulostaa muuttujan tai lausekkeen arvon

Objektiselain (Object Browser) Kaikki objektit Propertyt Metodit Eventit

Developer -valikko Makrojen nauhoitus Eri objektien 'piirtäminen’ Suunnittelutila (Design Mode)

VBA -ohjelman käynnistäminen forms-toiminnot painikkeet valikot käynnistäminen sovelluksesta funktion kutsu suoraan Excelin solusta automaattinen käynnistys käynnistämällä VBA -editorista VBA –koodista / aliohjelmasta makrolistasta VBA –editorista työkaluriviltä omasta valikosta

Automaattinen käynnistys liittyvät tiettyihin VBA:n objekteihin ennalta määriteltyjen tapahtumien pohjalta Excelissä voit käynnistää Worksheets: Open, BeforePrint, BeforeSave ja BeforeClose Sheets: Calculate ja SelectionChange valintaikkunat: Click, Initialize ja Terminate ActiveX-ohjausobjektit: Click, GotFocus ja LostFocus makrovirusten apuväline 

Yksinkertainen VBA -ohjelma Sub Main() Dim temp As Double temp = InputBox("Fahrenheit-lämpötila?") MsgBox Celsius(temp) & " astetta Celsiusta" End Sub Function Celsius(fDegrees As Double) As Double Celsius = (fDegrees - 32) * 5 / 9 End Function Ohjelma kysyy ikkunassa lämpötilaa fahrenheit-yksiköissä ja kutsuu Celsius-funktiota, joka muuttaa arvon celsius-asteiksi. Lopuksi ohjelma tulostaa ikkunassa tämän celsiukseksi muutetun lämpötilan.

Aliohjelmat ja funktiot kaikki ohjelmakoodi kirjoitetaan komentosarjoihin, jotka ovat joko aliohjelmia (Sub) tai funktioita (Function) komentosarjat kokonaisien ohjelmien loogisia rakennuspalikoita yksi aliohjelma tai funktio suorittaa yhden, mahdollisimman yksinkertaisen tehtävän komentosarjat koostuvat peräkkäisistä käskyistä eli lauseista

Ohjelmointikielen perustoiminnot tiedon siirto ohjelman ja ulkomaailman välillä syöttö ja tulostus näytölle ja kirjoittimelle tiedostojen ja objektien käsittely tiedon tallentaminen ohjelman suorituksessa matemaattiset toiminnot vertailutoiminnot ohjelman suorituksen ohjaaminen valinnaiset toiminnot: if-lause toisto: for- ja while-silmukat ohjelman rakenteen määrittely kielen määrittely – syntaksi ja semantiikka

Syöttö ja tulostus syöttö ja tulostus tarkoittaa kommunikointia käyttäjän ja ohjelman välillä muiden laitteiden ja ohjelmien kanssa syötteellä käyttäjä vaikuttaa ohjelman kulkuun syöte voidaan antaa esimerkiksi näppäimistöltä tai tiedostosta ohjelma antaa tulosteen esimerkiksi näyttöruudulle, tiedostoon tai kirjoittimelle

Tietojen syöttö ohjelman aikana ohjelman ikkunat MsgBox ja InputBox Forms-ikkunat sovellukset Excelin solu valikoista valitut arvot staattiset: samat ohjelman suorituksen ajan dynaamiset: muuttuvat suorituksen mukaan vaikuttamistavat: VBA -koodin käynnistäminen tai tilan ilmaiseminen

Käyttöliittymä – User Interface käyttöliittymän avulla käyttäjä kommunikoi tietokoneen kanssa VBA tarjoaa lukuisia ”visuaalisia” käyttöliittymän tekotapoja ikkunat valikot käyttöliittymä pitää rakentaa siten, ettei ohjelma pysty ”kaatumaan” käyttäjän toimesta käyttöliittymän tulee olla selkeä ja tarkoituksenmukainen

Esimerkki: InputBox- ja MsgBox-funktiot Sub NoudaNimi() Dim omaMuutt As String omaMuutt = InputBox("Anna nimesi:") MsgBox omaMuutt, 0, "Nimesi:" End Sub InputBox:n palauttamaa arvoa (käyttäjän nimi) käytetään proseduurissa, joten sen argumentti on sulkeissa, toisin kuin MsgBox-funktiolla.

Yksinkertainen VBA -ohjelma Sub Main() Dim temp As Double temp = InputBox("Fahrenheit lämpötila?") MsgBox Celsius(temp) & " astetta Celsiusta" End Sub Function Celsius(fDegrees As Double) As Double Celsius = (fDegrees - 32) * 5 / 9 End Function Ohjelma tulostaa kysymyksen ja vastauksen. Valintaikkunassa annetaan syöte.

Muistitoiminnot 0010110 00111101 11101101 ohjelmassa tieto säilytetään muuttujissa ja muistirakenteissa oikeasti ne ovat tiedon osoitteita tietokoneen muistissa staattiset ja dynaamiset muuttujat toiset ohjelmointikielet tarkkoja muuttujien määritysten suhteen muistitoimintojen tyyppejä muuttuja taulukko tietue (esim. viittaus tietokantaan)

Mikä on muuttuja? muuttuja on nimetty pala muistia muuttujalle voidaan tallentaa ohjelman suorituksen aikana tietoa lukuja tekstiä muuta määriteltyä tietoa muuttujan arvoa voidaan muuttaa: m=m+2 muuttujan arvo voidaan välittää funktiolle ja saada funktiolta paluuarvona suuri osa ohjelman toiminnasta perustuu muuttujille tallennettuun tietoon

Muistitoiminnot VBA:ssa vakio, muuttuja ja taulukko määritellyt tietotyypit luvut: Byte, Integer, Long, Single, Double ja Currency teksti: String totuusarvo: Boolean päivä ja aika: Date objekti: Object muuttuja voi olla myös määrittelemätön (Variant) parempi käyttää määriteltyä (Dim omaMuutt As String) määrittelypakko: koodin alkuun Option Explicit sijoitusoperaattorina =-merkki

Yksinkertainen VBA -ohjelma Sub Main() Dim temp As Double temp = InputBox(”Fahrenheit lämpötila?”) MsgBox(Celsius(temp) & " astetta Celsiusta“) End Sub Function Celsius(fDegrees As Double) As Double Celsius = (fDegrees - 32) * 5 / 9 End Function =-merkillä sijoitetaan temp-muuttujaan eri arvoja.

Matemaattiset toiminnot ja VBA kaikissa korkean tason ohjelmistokielissä on matemaattiset perustoiminnot peruslaskutoimitukset +, -, / ja * kaikki Excelin funktiot ovat käytössä + -    

Yksinkertainen VBA -ohjelma Sub Main() Dim temp As Double temp = InputBox(”Fahrenheit lämpötila?”) MsgBox(Celsius(temp) & " astetta Celsiusta") End Sub Function Celsius(fDegrees) Celsius = (fDegrees - 32) * 5 / 9 End Function Esimerkissä käytetään peruslaskutoimituksia.

Vertailutoiminnot ja VBA     vertailuoperaattorit < ja <= (”pienempi kuin” ja ”pienempi tai yhtä suuri kuin”) > ja >= (”suurempi kuin” ja ”suurempi tai yhtä suuri kuin”) = ja <> (”yhtä suuri kuin” ja ”erisuuri kuin” ehtojen yhdistely: and,or ja not ohjelmassa voidaan verrataan yleensä vakioita ja funktioiden paluuarvoja sulkeiden avulla voidaan määrätä järjestys vertailuoperaattori palauttaa arvona toden tai epätoden

Esimerkkejä: x > 10 x=5 a = true x<>5 x <10 or x >= 1 x=5 and y=3 (a=5 and b=3) or (a=6 and b=2) (a=5 and (b=3 or a=6) and b=2)

Ohjelman suorituksen ohjaaminen ohjelmassa on lauseita lauseet suoritetaan peräjälkeen vasemmalta oikealle ylhäältä alas lauseen sisällä voi olla hyppyjä johonkin toiseen osaan ohjelmassa suoritusjärjestystä voivat ohjata kontrollirakenteet valinnaiset toiminnot toisto ohjelmointi ilman rakenteita hyvin työlästä 

Valinnaiset toiminnot ? ohjelman haarautumiskohta testataan, onko jokin ehto tosi eli verrataan eri vaihtoehtoja valinta eri suoritusten välillä riippuen vertailusta voi vaatia useamman tai vain tietyn vertailun yhdistelemällä saadaan lisää vaihtoehtoja esimerkki: jos punainen ja pyöreä, niin omena

Ehtolause VBA:ssa Testataan onko jokin ehto tosi If…Then If…Then…Else yksi ehto yhden tai useamman lauseen suorittaminen (päätetään End If) If…Then…Else If…Then…Elseif… Select Case useita eri vaihtoehtoja suoritetaan ehdon perusteella

Esimerkki: If…Then…Else -rakenne Sub VertaaSolu() Dim Luku As Integer Luku = Worksheets("Taul1").Range("A1").Value If Luku < 10 Then Arvo = ”Alle 10” Else Arvo = ”10 tai yli” End If Worksheets("Taul1").Range("A2").Value = Arvo End Sub Jos If-rakenne ei mahdu yhdelle riville, se pitää päättää End If-lauseeseen.

Toistot eli silmukat tietyt lauseet toistetaan useita kertoja määräsilmukat pyörivät tietyn määrän kertoja perustuvat laskurimuuttujaan for-silmukka ehdolliset silmukat päättyvät kun tietty ehto on täynnä while-silmukka esimerkki nostetaan laatikosta hedelmiä koriin, kunnes se on tyhjä

Silmukat VBA:ssa Do While/Until...Loop ja While...Wend suorittaa testauksen silmukan alussa toistaa silmukkaa, kunnes ehdon arvo on True Do Loop…While/Until suorittaa testauksen silmukan lopussa tekee silmukan vähintään kerran For...Next suorittaa lauseet tietyn määrän kertoja laskuri For Each...Next toistaa kaikille alkioille, esimerkiksi objekteille

Esimerkki: For...Next -silmukka Sub Äänimerkit() For x = 1 To 50 Beep ’huomautus esimerkki Next x End Sub Beep-lause saa aikaan tietokoneen kaiuttimesta äänimerkin, jonka taajuus ja kesto ovat konekohtaisia.

Esimerkki toistosta: while silmukka Dim Counter As Integer Counter = 0 ’ Aloitusarvo While Counter < 20 ’ Vertailu Counter = Counter + 1 ’ Laskurin kasvatus Wend ’ Silmukan lopetus ’ kun Counter > 19

Esimerkki toistosta: do...loop silmukka Dim Check As Boolean Dim Counter As Integer Check = True Counter = 0 ’ Aloitusarvot Do ’ Ulompi silmukka Do While Counter < 20 ’ Sisempi silmukka Counter = Counter + 1 ’ Laskurin kasvatus If Counter = 10 Then ’ Jos ehto tosi Check = False ’ Asetetaan Check muuttuja Exit Do ’ Poistu sisemmästä ’ silmukasta End If Loop Loop Until Check = False ’ Poistu ulommasta ’ silmukasta

Yhdistetty rakenne ? testataan, mitä on toimitaan eri tavoin punainen ja pyöreä  omena oranssi ja pitkulainen  porkkana toimitaan eri tavoin omenat koriin porkkanat pussiin muut roskiin testataan, onko vielä jos on niin seuraava muutoin lopetetaan

Kertaus luennon tärkeimmistä asioista ohjelman avulla tietokone saadaan tekemään haluttuja asioita VBA:lla pystytään tekemään omaa toimintaa helpottavia ominaisuuksia sekä sovelluksia toisille muuttujiin voidaan tallentaa tietoa rakenteet ovat tärkeä osa ohjelmointia valinnat: if-lause toistot: while- ja for-silmukat

Kysymyksiä