vil jeg blive mindet om det af VBA allerede mens jeg skriver koden, da der er tale om en såkaldt kompileringsfejl:

Størrelse: px
Starte visningen fra side:

Download "vil jeg blive mindet om det af VBA allerede mens jeg skriver koden, da der er tale om en såkaldt kompileringsfejl:"

Transkript

1 Fejlhåndtering Selv de bedste programmører laver af og til fejl! Dette kommer sikkert som en overraskelse for de fleste, bortset fra de, der har arbejdet med et hvilket som helst større program. Fejl kan være af mange forskellige slags, men nogle af dem er nemmere at håndtere end andre. Det skyldes ikke mindst at VBA editoren er god til at hjælpe med at undgå en række fejltyper, fx syntaktiske fejl i koden, brug af ikke erklærede variabler mm. Desuden indeholder editoren en række værktøjer, som gør det nemmere at finde fejl. Der er dog også fejltyper som ingen editor kan hjælpe med. Dette kan være fejl, hvor koden egentlig virker, altså kører uden problemer; den gør bare ikke det, man havde forventet. En anden type fejl er de, som opstår fordi en bruger af koden, ikke gør som der forventes. Den første af de sidstnævnte kan kun findes via test og atter test af koden i alle mulige (og umulige) sammenhænge. Den sidste kan vi ikke teste og ud, og er derfor nødt til at programmere funktioner ind i vores kode, der tager højde for den slags fejl. Fejlfinding af koden Lad mig starte med et par eksempler på, hvordan man kan finde og rette fejl i sin kode. For at sikre at alle variabler bliver erklæret, se artiklen om variabler og konstanter, kan man sætte denne linje ind først i sit modul Option Explicit Den fortæller VBA editoren, at der kun må anvendes variabler, der eksplicit er erklæret med en Dim sætning. I flere af eksempler under Makroer, anvender jeg såkaldt implicit variabelerklæring; det vil sige at jeg anvender en variabel uden at erklære den først. Det er i virkeligheden dårlig programmering, da alle variabler så bliver erklæret som datatypen Variant, men det er hurtigere, når det skal gå stærkt. Starter jeg derimod modulet med ovenstående sætning, tvinger systemet mig til at erklære alle mine variable, inden de bruges. Glemmer jeg det alligevel, fx som her: Sub Fejl1() txt = ActiveCell.Value vil jeg blive mindet om det af VBA allerede mens jeg skriver koden, da der er tale om en såkaldt kompileringsfejl: Dette vil være bedre: Sub Fejl1() Dim txt As Integer txt = ActiveCell.Value med mindre værdien i cellen selvfølgelig ikke passer til den valge datatype. Så får jeg (eller brugeren) DET at vide. Men først når koden afvikles, en såkaldt kørselesfejl eller Run-time error.

2 Jeg kan så klikke på knappen Debug, og få fremhævet den linje i koden, der har fejlet: Sub Fejl1() Dim txt As Integer txt = ActiveCell.Value I dette tilfælde står der en tekst i cellen og den kan ikke rummes i en variabel med datatypen Integer, der jo er beregnet til tal. Jeg må nu afgøre om variablen skal erklæres om så den kan rumme tekst i stedet, eller om den (som Variant) skal kunne rumme både tekst og tal. Skal den kun kunne rumme tal, som oprindeligt angivet, skal jeg nok af kodet en fejlrutine (se nedenfor), så brugeren ikke pludselig ender i VBA editoren med ovenstående billede vist, hvis han på trods af alle gode intentioner, alligevel har tastet noget "forkert" i cellen. Når forkert her sættes i anførselstegn er det fordi, det kun er for koden, det er forkert. Det kan være helt rigtigt set med brugerens øjne. I mit tilfælde vælger jeg, at lade variablen forblive som den er. Fejlrutinen koder jeg først senere. I stedet instruerer jeg i første omgang brugeren om, at der altså skal stå et tal i den aktive celle, når koden afspilles. Så to minutter efter har brugeren i telefonen igen: Han står igen i editoren, dog nu med denne fejlmeddelelse: "Overflow" betyder her, at tallet i cellen ikke kan rummes i datatypen. En Integer rummer kun tal mellem og , så hvis tallet i cellen er større eller mindre end disse værdier opstår ovenstående fejl. Også denne må jeg tage højde for i min fejlhåndteringsrutine. Jeg kan selvfølgelig hjælpe brugeren til at taste det rigtige, ved at anvende regnearkets datavalideringsfunktion på cellerne, men der er grænserne for mulighederne her, så uden programmeret datavalidering og/eller fejlhåndtering er det dømt til at gå galt. Begge dele vender jeg tilbage til nedenfor. Men lad mig starte med begyndelsen (eller det jeg mener er begyndelsen): fejl som VBA editoren opdager mens jeg koder. Jeg er ved at skrive min kode og er nået til = efter txt, altså Txt =

3 og så får jeg trykket linjeskift inden jeg har skrevet, hvilken værdi variablen skal tildeles. Også dette udløser en kompileringsfejl En anden klassisk kompileringsfejl er fx Sub Fejl1() Dim num1 As Byte, num2 As Byte If num1 > num2 som giver Hvis der trykkes lineskift inden der skrives Then eller GoTo. Skrives derimod Sub Fejl1() Dim num1 As Byte, num2 As Byte num1 = 5 num2 = 3 If num1 > num2 Then MsgBox = "Olsen" opstår ingen kompileringsfejl undervejs i skrivningen, men først når koden afprøves: Denne meddelelse skyldes at jeg har skrevet MsgBox = "Olsen" hvilket ikke er "legalt" i VBA, da den tror jeg vil tildele en værdi til meddelelsesboksen og det er ikke muligt. Det hedder bare MsgBox = "Olsen" så det retter jeg, hvorefter jeg i stedet får denne fejl, når koden køres

4 Glemmer jeg anførselstegn omkring "Olsen", tror det at der er tale om en variabel, og så får jeg den første fejlmeddelelse, der blev vist i denne artikel. Glemmer jeg kun det første anførselstegn, men husker det sidste, vises Når jeg trykker linjeskift. Husker jeg det første, men glemmer det sidste anførselstegn, er VBA editoren flink, og sætter det selv for mig. Jeg bliver altså hjulpet ganske fint undervejs af den indbyggede syntakskontrol, som kan slås til og fra under Tools Options. Som standard er den slået til: Her kan man også indstille en række andre forhold omkring editoren. Sætte man flueben i Require Variable Declaration skriver den selv Option Explicit øverst i alle nye moduler, der oprettes. De øvrige elementer vil jeg ikke gennemgå i denne forbindelse. Kompileringsfejl vises altså typisk undervejs (med få undtagelser), mens kørselsfejl først vises, når koden afspilles. Det er i forbindelse med disse, samt de "logiske" fejl (de fejl hvor koden virker, men gør noget forkert) af afprøvning kommer ind.

5 Kørselsfejl, der opdages mens man programmerer (på grund af programmeringsfejl) er ikke nødvendigvis nemme at rette, men de er nemme at finde. Det samme er ikke nødvendigvis gældende for de logiske fejl. Her kræver det typisk, at man udarbejder en form for testprogram med nogle kendte udfald af forskellige situationer, og så afprøver om koden giver de forventede udfald. Ideelt set skal man afprøve samtlige mulige situationer, som koden kan bringes i, man ved store programmer er dette simpelthen ikke muligt, med mindre man har råd til at ansætte en hær af testere. Et stort program rummer adskillige millioner linjer kode, og at få afprøvet alle krinkelkroge af disse, er næppe muligt. Når vi taler VBA er kodemængderne dog i almindelighed langt mindre, og deler man sine Subs op i passende små enheder, burde det være muligt at få aftestet alle muligheder. Til brug for fejlfinding af denne type har VBA editoren nogle hjælpemidler, men man kan også selv indsætte en form for fejlfiningsrutiner i sin kode. Hvad man foretrækker, er nok mest et spørgsmål om smag, men der kan være en fordel ved at indsætte i hvert fald nogen egenudvikling, da det kan hjælpe i en situation, hvor der fx skal gives telefonsupport. Fejlfindingsværktøjer VBA editoren har som nævnt nogle indbyggede værktøjer, der kan gøre fejlfinding nemmere. Man kan fx indsætte pausepunkter i sin kode, man kan køre koden linje for linje mm. Dem vil jeg ikke komme nærmere ind på i denne artikel, men vil i stedet koncentrere mig om, hvordan man kan håndtere de fejl, der uvægerligt vil opstå, fx fordi brugeren gør noget andet, end programmøren havde forventet mm. Fejlhåndtering Hver gang der opstår en kørselsfejl i en VNA procedure, udløses en fejlkode. Som fx her, hvor fejlen har nummer 6: Denne fejlkode kan man fange i sit program, og så lade programmet reagere på fejlkoden. Man kan lave sådanne fejlhåndteringsfunktioner i de enkelte procedurer, men man kan også lave en generel fejlhåndteringsrutine, som gælder for alle procedurer. Jeg vil her se på begge muligheder. Her har vi en kode, som på overfladen ser OK ud: Ans = InputBox("Indtast et tale mellem 1 og 20000") Den viser en inputbox, hvor brugeren bliver bedt om, at taste et tal mellem 1 og Så langt så godt. Prikkerne indikerer bare, at mere kode følger. Vi har erklæret variablen, som skal indeholde tallet som Integer (heltal), hvilket jo betyder, at den kan "rumme" tal op til over , så det burde være godt nok. Men hvis brugeren alligevel taster noget andet, fx et for stort tal eller en tekst, går det galt. Et for stort tal giver fejlkode 6 (Overflow) og en tekst vil give fejlkode 13 (Type mismatch). Da begge muligheder er indlysende bør vi tage højde for dem i koden. Det er her fejlhåndteringen kommer ind i billedet.

6 Fejlkoderne håndteres i et objekt som kaldes Err-Objektet. Det har nogle egenskaber, fx Number og Description. Mest interessant er i første omgang Err.Number. Men for overhovedet at kunne fange koden, skal vores fejlhåndteringsrutine startes, når der opstår en fejl. Dette gøres med udtrykket On Error On Error er en hændelse, der indtræffer, når en fejl opstår. Den er ikke nævnt under Onnøgleordet i artiklen om hændelser, da den KUN bruges til fejlhåndtering. Sætningen efterfølges af en instruktion om, hvad der skal gøres i tilfælde af fejl. Her er de forskellige muligheder: On Error On Error Next On Error Goto On Error betyder at kodens afvikling fortsætter med samme linje, som fejlen opstod i, mens On Error Next medfører at koden afvikles fra linjen efter den linje, hvor fejlen opstod. Den første anvendes så sjældent, at det grænser til aldrig. Den anden anvendes heller ikke ret tit, men der er en række situationer, hvor den er effektiv. Antag fx at man skrevet en kode, der skal lukke en projektmappe og derefter afslutte Excel. Sub Luk_og_Afslut() Workbooks("Mappe2.xls").Close SaveChanges:=False Application.Quit Ovenstående kode lukker projektmappen Mappe2.xls uden at gemme eventuelle ændringer og afslutter Excel. Imidlertid vil den fejle i første linje, hvis mappen allerede ER lukket. I dette tilfælde ville det være relevant, at bruge Next, så den bare fortsætter med at lukke Excel, selv om den relevante mappe, allerede er lukket. Her behøver man ikke at kommunikere en fejlmeddelelses til brugeren :"Du skal åbne mappe2,.xls så den kan blive lukket igen". Koden kunne derfor se således ud: Sub Luk_og_Afslut() On Error Next Workbooks("Mappe2.xls").Close SaveChanges:=False Application.Quit On Error GoTo giver mulighed for at springe til sin Fejl-rutine. Normalt anses GoTo udtryk i kode for dårlig programmering, men netop i forbindelse med fejlhåndtering, vil det være OK. Sætningen kunne fx lyde: "Fejl" er en såkaldt label eller et linjemærke. I VBA skiver man disse som navnet på linjemærket, efterfulgt af et kolon, så der, hvor fejlrutinen skal stå, skriver man altså Og så kommer koden, der håndterer fejlene. Læg ivørigt mlærke til, at linjemærker ikke kan indrykkes. De vil altid stå helt til venstre. Lad mig vende tilbage til det første eksempel Ans = InputBox("Indtast et tale mellem 1 og 20000")

7 Vi skal nu have skrevet fejlhåndteringstrutinen. Den nemme, men ikke særligt effektive løsning er, at vise brugeren de fejlmeddlelser, som kommer for VBA: Ans = InputBox("Indtast et tale mellem 1 og 20000") Msgbox "Fejl " & Err.Number & ": " & Err.Description Imidlertid er det ikke særligt sigende for brugeren, men vi opnår dog, at han ikke ender i et kode-debugging vindue. Bedre er det, at skrive noget kode, der håndtere de enkelte fejltyper. Er der bare en enkelt, eller et par stykker som her, kan det gøres med If Then Else sætninger, men er der flere er det mere effektivt at gøre det med Select Case. Ans = InputBox("Indtast et tale mellem 1 og 20000") Select Case Fejlnummer Case Is = 6 Msgbox "Du kan ikke indtaste så store tal. Værdien skal være mellem 1 og " Case Is = 13 Msgbox "Du kan kun indtaste tal mellem 1 og " Nu vil koden teste på hvilken fejl, der er opstået og såfremt det er 6 vil den fortælle at tallet er for stort, er det en tekst, vil den fortælle, at der kun kan indtastes tal. Rutinen lider dog af endnu et par mangler. For det første kan der måske opstå fejl, som man ikke har forudset og som man derfor ikke tester for. Derfor bør man altid have en Else sætning i sin fejlrutiner. Denne skal så håndtere de fejl, som vi ikke fik tænkt på i første omgang. Ans = InputBox("Indtast et tale mellem 1 og 20000") Select Case Fejlnummer Case Is = 6 Msgbox "Du kan ikke indtaste så store tal. Værdien skal være mellem 1 og " Case Is = 13 Msgbox "Du kan kun indtaste tal mellem 1 og " Case Else Msgbox "Der er opstået en uforudset fejl" Teksten i Case Else er måske ikke den mest geniale, men den er bedre end ingenting. Læg også mærke til, at jeg har indsat linjen lige inden fejlrutinen. Det er for at forhindre at denne afspilles hver gang koden køres, også når der ikke opstår fejl. I det konkrete tilfælde vil brugeren ikke opdage, at koden køres, men i andre tilfælde vil man nok undre sig over at få vist fejlmeddelelser, selv om alting er gjort helt rigtigt.

8 Jamen så er vi jo klar, ikke? Nej ikke helt. I ovenstående tilfælde sker der ikke andet, end at brugeren får en fejlmeddelelse, som han kan klikke OK til, og så afsluttes koden, så brugeren kan starte forfra. Det er imidlertid ikke altid den mest hensigtsmæssige løsning. Så vi kan indbygge i vores kode, hvad der skal ske hvis. Også her har vi forskellige muligheder, der ligner dem, som vi så for On Error sætningen. Next Linjemærke genoptager koden fra den linje, der fejlede. Next fra linjen efter den fejlende linje, Linjemærke fortsætter koden fra det specificerede linjemærke og afslutter procedure. Den reviderede kode sikrer at så længe, der kun er tale om fejl 6 eller fejl 15, vil inputbocksen blive vist igen og igen indtil, der indtastes en "lovlig" værdi. Ans = InputBox("Indtast et tale mellem 1 og 20000") Select Case Fejlnummer Case Is = 6 Msgbox "Du kan ikke indtaste så store tal. Værdien skal være mellem 1 og " Case Is = 13 Msgbox "Du kan kun indtaste tal mellem 1 og " Case Else Msgbox "Der er opstået en uforudset fejl" Imidlertid er det ikke helt koden ikke hel god endnu. Prøv fx at afspille den, og så klik på Annuller-knappen i stedet for på OK. Så vises Og det bliver den ved med, til der faktisk er tastet en lovlig værdi. Vi må altså også tage højde for, at brugeren kan fortryde sin oprindelige start af programmet. I artiklen om Kommunikaton med Makroer forklarer jeg, hvordan et Klik på Annuller knappen i en Input boks kan håndteres. Denne metode kan imidlertid ikke anvendes her, da den behandler et Klik på Annuller på samme måde som et klik på OK, og det ønsker vi ikke i denne sammenhæng. Vi må derfor gå en anden vej og bruge Metoden InputBox i stedet for Funktionen InputBox.

9 Ans = Application.InputBox("Indtast et tale mellem 1 og 20000") If Ans = False Then If Select Case Fejlnummer Case Is = 6 Msgbox "Du kan ikke indtaste så store tal. Værdien skal være mellem 1 og " Case Is = 13 Msgbox "Du kan kun indtaste tal mellem 1 og " Case Else Msgbox "Der er opstået en uforudset fejl" Forskellen på Metoden InputBox og Funktionen InputBox er, at funktionen, som blev anvendt i første omgang ved klik på Annuller returnerer en tom tekststreng og dette betragtes som en fejl Kontrollen overgives derfor til fejlrutinen. Et klik på Annuller i Metoden InputBox returner derimod den boolske værdi False, og dette udløser ikke en fejl. Der er dermed mulighed for at teste på variablens indhold, og forlade proceduren, hvis den er False. Det sker i de markerede linjer. Nu er vi altså nået så langt, at vi får vist en fejlmeddelelse, hvis der indtastes en værdi, som udløser en fejl, men ikke, hvis vi klikker på Annuller. Imidlertid er vi stadig ikke helt på plads. Koden tester jo kun på kørselsfejl, men hvad med logiske fejl? Det vender jeg tilbage til nedenfor, da heller ikke dette håndteres i fejlrutinen. En generel fejlhåndteringsrutine Som man måske kan se, kan det bleve forholdsvist beværligt at skulle kode denne type fejlrutiner i alle sine procedurer. I stedet kan man én gang for alle kode en generel fejlhåndteringsrutine, som de enkelte procedurer så kan kalde, når fejl opstår. Så kan man koncentrere sig om at håndtere logiske fejl i procedurerne. En generel fejlhåndteringsrutine, kan godt blive lige så specifik som en speciel, men det vil sjælden ske. I stedet for at teste på hver enkelt fejlkode for sig, vil man snarere "gruppere" ensartede fejl, som der så skal reageres ens på. En genrel fejlhåndteringsrutine, skal oprettes som en Function, ikke som en Sub, da den skal kunne kaldes af de enkelte procedurer med det fejlnummer, som opstår i den kaldende procedure. Ofte vil det være en fordel at kode fejlrutinen i et andet modul end det, hvor de "almindelige" procedurer befinder sig. Denne Function skal have derfor have et enkelt argument, fx Function Fejlrutine(Fejlnummer) As Integer Nu skal vi så i gang med at kode sleve rutinen, og ofte vil det være en fordel at kode fejlrutinen i et andet modul end det, hvor de "almindelige" procedurer befinder sig. nu engang anvender vi en Select Case. Se næste side.

10 Function Fejlrutine(Fejlnummer) Dim MinFejl As Integer Select Case Fejlnummer Case Is = 6 Msgbox "Du har indtastet et tal, der ligger uden for de angivne grænser" MinFejl = 1 Case Is = 7 Msgbox "Der er ikke mere hukommelse. LUk alle unødvendige programmer" MinFejl = 1 Case Is = 11 Msgbox "Du forsøger at dividere med 0. Dette er ikke tilladt" MinFejl = 1 Case Is = 13 Msgbox "Du har brugt en datatype, som ikke er tilladt." MinFejl = 1 Case Is = 48, 49, 51 Msgbox "Der er opstået en alvorlig programfejl nummer: " _ & Err.Number & crlf _ & " " & Err.Description & crlf & " Kontakt help desk." MinFejl = 2 Case Else Msgbox "Der er opstået en fejl, som ikke kan rettes. _ Programmet afsluttes" MinFejl = 2 Fejlrutine = MinFejl Function Koden her undersøger for nogle specifikke fejl, og håndterer disse. Desuden tager den højde for uforudsete fejl. Det er selvfølgelig muligt at indsætte alle mulige specifikke fejlnumre i koden. Det, der er vigtigt er at MinFejl skal sættes til samme tal, afhængigt af, hvordan den kaldende procedure. I ovenstående skal 1 håndteres med mens 2 håndteres med. Det er selvfølgelig også muligt at lade andre koder gøre andre ting, fx kan 3 betyde, 4 kan betyde osv. Nu skal de procedurer, der skal anvende fejlrutinen så gøres klar: kald Ans = Application.InputBox("Indtast et tale mellem 1 og 20000") If Ans = False Then If Fejlkald: Select Case Fejlrutine(Err.Number) Case Is = 1 Case Is = 2 Next Case Is = 3 Case is 4 Alt fra Fejlkald og proceduren ud, kan bare kopieres til alle andre makroer. I Select Case kaldes fejlhåndteringsfunktionen, med det fejlnummer, som koden fejler med. Rutinen viser

11 meddelelsesboksen og returnerer derefter en talværdi, som fortæller procedurens fejlområde, hvordan der skal fortsættes efter fejlbehandlingen. Afslutningerne SKAL ligge i de enkelte procedurer. NB! En generel fejlhåndteringsrutine kan ikke blive lige så præcis, som en specifik, knyttet til et bestemt modul, da flere forskellige fejl kan returnere samme fejlkode. En liste over de mulige kørselsfejlkoder, med tilhørende beskrivelse af fejlene, kan findes ved at starte VBA hjælpen. Søg efter Err Object. Når hjælpen til dette er åben, klikkes på See also. Vælg nu Trappable Errors. Så vises listen over fejl. Der er i alt 120 fejl, men mange af dem er ret sjældne og vil ikke skulle kunne håndteres specielt, men kan i stedet håndteres under Case Else. Imidlertid sker det, at vores fejlmeddelelse i fejlhåndteringsrutinen bliver for "generel", og så må vi ty til andre metoder. Koden jeg har brugt indtil videre, "gør ingenting". Den tildeler bare en værdi til en variabel. Men hvis vi nu antager, at denne makroens funktion var at uddrage kvadratroden af tallet i denne variabel. I så fald kunne koden se således ud: kald Ans = Application.InputBox("Indtast et tale mellem 1 og 20000") If Ans = False Then If Msgbox Sqr(Ans) Fejlkald: Select Case Fejlrutine(Err.Number) Case Is = 1 Case Is = 2 Next Case Is = 3 Det nye er den fremhævede linje. Selv om vi indtaster et tal, og dette tal ligger inden for grænserne for et heltal, ville koden fejle, hvis vi indtastede et negativt tal. Denne fejl opstår imidlertid ikke når værdien bliver tildelt variablen, men først når vi prøver at udføre beregningen. Uden fejlhåndteringsrutine ville vi få denne fejlmeddelelse: Og med ville vi få denne:

12 Ingen af dem fortæller brugeren, hvad det er, han eller hun har gjort galt. Fejl 5 er typisk fejl, som brugeren ikke selv kan gøre noget ved, men sådan er det ikke i dette konkrete tilfælde. Den må altså håndteres på anden måde, fx på en måde, der ligner den, hvormed vi håndterede et klik på Annuller, det vil sige ved en test i selve proceduren. If Ans <=0 Then MsgBox "Du kan ikke beregne kvadratroden af et tal, der er mindre eller lig 0" If Logiske fejl Logiske fejl er fejl, som ikke kan fanges af fejlhåndteringsrutinen, fordi de ikke udløser en kørselsfejl. Hvis vi af forskellige grunde, virkelig vil sætte en begrænsning på på ovenstående; at vi altså ikke vil tillade beregning af kvadratroden af tal over , kan vi slet ikke fange tal mellem og Det er vi altså også nødt til at håndtere selv på samme måde som ovenfor: If Ans >20000 Then MsgBox "Funktionen accepterer ikke tal større end " If Nu kan vi så skrive alle vore logiske tests sammen ved at erstatte Ifsætningerne med en Select Case. kald Ans = Application.InputBox("Indtast et tale mellem 1 og 20000") Select Case Ans Case Is = False Case Is <= 0 Msgbox "Du kan ikke beregne kvadratroden af et tal, der er mindre eller lig 0" Case Is > Msgbox "Funktionen accepterer ikke tal større end " Msgbox Sqr(Ans) Fejlkald: Select Case Fejlrutine(Err.Number) Case Is = 1 Case Is = 2 Next Case Is = 3 Det virker næsten upåklageligt. Det eneste problem er, at i de sidste to tilfælde vil vi gerne opnå at få vist inputboxen igen, i stedet for at brugeren skal starte proceduren helt forfra igen på grund af en tastefejl. Den nemmeste løsning er at oprette et linjemærke lige før linjen, der viser inputboksen. Derefter erstattes i de sidste to Case sætninger med Goto Linjemærke. Så kan diverse meddelelsesbokse selvfølgelig "pyntes" med knapper mm., og koden kan kommenteres. Men det vil jeg springe over i denne omgang, da det allerede er omtalt i andre artikler, så jeg afslutter bare med den færdige kode:

13 kald Dim varx As Boolean Forfra: Ans = Application.InputBox("Indtast et tale mellem 1 og 20000") Select Case Ans Case Is = False Case Is <= 0 Msgbox "Du kan ikke beregne kvadratroden af et tal, der er mindre eller lig 0" GoTo Forfra Case Is > Msgbox "Funktionen accepterer ikke tal større end " GoTo Forfra Msgbox Sqr(Ans) Fejlkald: Select Case Fejlrutine(Err.Number) Case Is = 1 Case Is = 2 Next Case Is = 3

Indholdsfortegnelse Forord...8 Makroer samt aktivere Udvikler-fanen...10 Makrosikkerhed (Sikkerhedsindstillinger)...13

Indholdsfortegnelse Forord...8 Makroer samt aktivere Udvikler-fanen...10 Makrosikkerhed (Sikkerhedsindstillinger)...13 1 Indholdsfortegnelse Forord...8 Makroer samt aktivere Udvikler-fanen...10 Hvad er en makro... 10 Hvad kan du bruge en makro til... 10 Hvad en makro er (Visual Basic for Applications)... 11 Det hele sker

Læs mere

Exceptions i Delphi. Try except

Exceptions i Delphi. Try except Exceptions i Delphi Exceptions er en teknik til at fange fejl under programafviklingen. Ikke programmeringsfejl, men fejl der opstår i forskellige situationer, f.eks. en fil der mangler en fil der er skrivebeskyttet,

Læs mere

Klasse 1.4 Michael Jokil 03-05-2010

Klasse 1.4 Michael Jokil 03-05-2010 HTX I ROSKILDE Afsluttende opgave Kommunikation og IT Klasse 1.4 Michael Jokil 03-05-2010 Indholdsfortegnelse Indledning... 3 Formål... 3 Planlægning... 4 Kommunikationsplan... 4 Kanylemodellen... 4 Teknisk

Læs mere

Udvikling af DOTNET applikationer til MicroStation i C#

Udvikling af DOTNET applikationer til MicroStation i C# Udvikling af DOTNET applikationer til MicroStation i C# Praktiske tips for at komme i gang. Gunnar Jul Jensen, Cowi Hvorfor nu det? Mdl og Vba kan det hele Fordelene er : udviklingsmiljøet er eksternt

Læs mere

ALMINDELIGT ANVENDTE FUNKTIONER

ALMINDELIGT ANVENDTE FUNKTIONER ALMINDELIGT ANVENDTE FUNKTIONER I dette kapitel gennemgås de almindelige regnefunktioner, samt en række af de mest nødvendige redigerings- og formateringsfunktioner. De øvrige redigerings- og formateringsfunktioner

Læs mere

How to do in rows and columns 8

How to do in rows and columns 8 INTRODUKTION TIL REGNEARK Denne artikel handler generelt om, hvad regneark egentlig er, og hvordan det bruges på et principielt plan. Indholdet bør derfor kunne anvendes uden hensyn til, hvilken version

Læs mere

ChatBot. Introduktion. Scratch. Nu skal du lære hvordan du programmerer din egen talende robot! Arbejdsliste. Test dit Projekt.

ChatBot. Introduktion. Scratch. Nu skal du lære hvordan du programmerer din egen talende robot! Arbejdsliste. Test dit Projekt. Scratch 1 ChatBot All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduktion

Læs mere

GIS indlæsning af kreditorer og betalingsform. Brugervejledning 1.0

GIS indlæsning af kreditorer og betalingsform. Brugervejledning 1.0 GIS indlæsning af kreditorer og betalingsform Brugervejledning 1.0 Indhold 1 Indledning... 5 2 Opsætning af GIS grænseflade til kreditor indlæsning... 5 2.1 Oprettelse af en datastrøm... 7 2.2 Filsystem...

Læs mere

$ %' ) * %' +,! - Myarray %' /0 /0 122 +3 /0 /0

$ %' ) * %' +,! - Myarray %' /0 /0 122 +3 /0 /0 !"#!"# "# %&') * #" % && %' Dim MyArray2) As Integer ) * %' +,! - Myarray MyArray0). %' /0 /0 122 + /0 /0 +4 / 0) Dim MyArray1 to 2) As Integer 5MyarrayMyArray1)" +6 Option Base 1 Option Explicit %' 76

Læs mere

"# $%$ " # $ % $ $ " & ( ) *+!,! Sum_Cost >= 5000SirName = Beltov Continue = %!- + ( ( - True) Continue *! If Antal <= 20 Then EnhedsOmk = 1.

# $%$  # $ % $ $  & ( ) *+!,! Sum_Cost >= 5000SirName = Beltov Continue = %!- + ( ( - True) Continue *! If Antal <= 20 Then EnhedsOmk = 1. "# $$ " # $ && & ' $ $ " & ) *+, Sum_Cost >= 5000SirName = Beltov Continue = True) Continue *, + If Antal

Læs mere

Kapitel 3 Betinget logik i C#

Kapitel 3 Betinget logik i C# Kapitel 3 i C# er udelukkende et spørgsmål om ordet IF. Det er faktisk umuligt at programmere effektivt uden at gøre brug af IF. Du kan skrive små simple programmer. Men når det bliver mere kompliceret

Læs mere

Spil Master Mind. Indledning.

Spil Master Mind. Indledning. side 1 af 16 Indledning. Spillet som denne rapport beskriver, indgår i et større program, der er lavet som projekt i valgfaget programmering C på HTX i perioden 9/11-98 til 12/1-99. Spillet skal give de

Læs mere

MS Visual Studio Basic 2010. En kort vejledning

MS Visual Studio Basic 2010. En kort vejledning Du kan hente programmet gratis her: MS Visual Studio Basic 2010 Express http://www.microsoft.com/visualstudio/eng/downloads#d-2010-express Tryk på Install Now og følg vejledningen. Indholdsfortegnelse

Læs mere

Programmering C RTG - 3.3 09-02-2015

Programmering C RTG - 3.3 09-02-2015 Indholdsfortegnelse Formål... 2 Opgave formulering... 2 Krav til dokumentation af programmer... 3 ASCII tabel... 4 Værktøjer... 5 Versioner af ASCII tabel... 6 v1.9... 6 Problemer og mangler... 6 v2.1...

Læs mere

I stedet for at oprette en masse medlemmer, er det muligt at importere disse når bare nogle enkle spilleregler overholdes.

I stedet for at oprette en masse medlemmer, er det muligt at importere disse når bare nogle enkle spilleregler overholdes. I stedet for at oprette en masse medlemmer, er det muligt at importere disse når bare nogle enkle spilleregler overholdes. Sidst i denne vejledning er vist et Excel dokument som det KAN se ud. Ligesom

Læs mere

Sammenlign og byt. Et eksempel på dokumentering af et program

Sammenlign og byt. Et eksempel på dokumentering af et program Sammenlign og byt Et eksempel på dokumentering af et program Sammenlign og byt Jeg har valgt, som et eksempel, at dokumentere et meget enkelt program som indlæser to tal, sammenligner dem og udskriver

Læs mere

Fang Prikkerne. Introduktion. Scratch

Fang Prikkerne. Introduktion. Scratch Scratch 2 Fang Prikkerne All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduktion

Læs mere

Introduktion til Orddatabasen

Introduktion til Orddatabasen Introduktion til Orddatabasen Skærmviste ordbanker udgør en nyttig teknik til at indføre elever i ordbehandling og skrivning ved hjælp af en computer. Børn lærer generelt at genkende ord, før de kan sammensætte

Læs mere

Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX

Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX IT -Eksamen Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX [Vælg en dato] Indhold Indledning... 2 Teori... 3 Hvorfor dette design... 4 Produktet... 4 Test og afprøvning... 9 Konklusion... 10 Indledning

Læs mere

Rockband. Introduktion. Scratch. I dette projekt skal du lære, hvordan du kan kode dit eget musikinstrument! Arbejdsliste.

Rockband. Introduktion. Scratch. I dette projekt skal du lære, hvordan du kan kode dit eget musikinstrument! Arbejdsliste. Scratch 1 Rockband All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduktion

Læs mere

3 Algebraisk Specifikation af Abstrakte Datatyper.

3 Algebraisk Specifikation af Abstrakte Datatyper. 3 Algebraisk Specifikation af Abstrakte Datatyper. Specifikation kontra program. Bestanddele af en algebraisk specifikation. Klassificering af funktioner i en ADT. Systematisk definition af ligninger.

Læs mere

' #$*# ' # #) * #& #& ' # #* #, #$--

' #$*# ' # #) * #& #& ' # #* #, #$-- !"! "$% $ %$ " $&' ( ' $) * ' $* +( ' ) * & & ' *, $-- " " $(. $ /% &%$ & $ &$ $ %% &" ( 1. 00 $ 0 1 $"%$ " 2$ 2. ) " 3 $ * 4* 05 0 $ &'(&%%$ '67 7) 2) 7) 2)7 ' " - - 7) 2 0 $$ 0 '$ " $ 08$$ )2! & & 7)

Læs mere

Vistemmernu. Et webbaseret værktøj udviklet af Programdatateket i Skive. E-mail: programdatateket@viauc.dk Web: http://www.programdatateket.

Vistemmernu. Et webbaseret værktøj udviklet af Programdatateket i Skive. E-mail: programdatateket@viauc.dk Web: http://www.programdatateket. Vistemmernu Et webbaseret værktøj udviklet af Programdatateket i Skive E-mail: programdatateket@viauc.dk Web: http://www.programdatateket.dk Kolofon HVAL-vejledning Vistemmernu på HVAL.DK Forfatter: Susanne

Læs mere

% &$ # '$ ## () %! #! & # &, # / # 0&. ) 123 45 / & #& #

% &$ # '$ ## () %! #! & # &, # / # 0&. ) 123 45 / & #& # !"$!!"$ % &$ '$ () %! %"!" & * function &+! & &, --.& / 0&. ) 123 45 / & & & 6 Sub CalcVecProduct() * &3.5 & 2 &6 / 7$ & & & "%&$&"! 2 " $ " 8 $ & $/ $ $" 9&6 Sub test() streng_y = "det her går " streng_y

Læs mere

Vejledning. Excel-skabelon. til oprettelse af kalendere KalenderSkabelon_2017_01.xlsm

Vejledning. Excel-skabelon. til oprettelse af kalendere KalenderSkabelon_2017_01.xlsm Vejledning Excel-skabelon til oprettelse af kalendere KalenderSkabelon_2017_01.xlsm 05-04-2017 Ecxelversioner Skabelonen er oprettet i Excel 2010 i xlsm-format. Så vidt jeg ved, kan Excel 2007 arbejde

Læs mere

FORMATERING AF REGNEARK

FORMATERING AF REGNEARK FORMATERING AF REGNEARK Indtil nu har vi set på, hvordan du kan udføre beregninger i dit regneark, og hvordan du kan redigere i regnearket, for hurtigt at få opstillet modellerne. Vi har derimod overhovedet

Læs mere

OVERGANGS- OG OPBYGNINGSEFFEKTER

OVERGANGS- OG OPBYGNINGSEFFEKTER OVERGANGS- OG OPBYGNINGSEFFEKTER Kan PowerPoint ikke animere, kan programmet i stedet lave overgangs- og opbygningseffekter. Ikke mindst opbygningseffekter giver rige muligheder, for at lave særdeles avancerede

Læs mere

Microsoft Excel XP - Makroer med VBA

Microsoft Excel XP - Makroer med VBA Microsoft Excel XP - Makroer med VBA Microsoft Excel XP - Makroer med VBA Microsoft Excel XP - Makroer med VBA til Windows 9x / Windows NT / Windows 2000 / Windows XP. Version: 2002 Copyright 2003 by F.M.T.

Læs mere

Excel-1: kom godt i gang!!

Excel-1: kom godt i gang!! Excel-1: kom godt i gang!! Microsoft Excel er et såkaldt regneark, som selvfølgelig bliver brugt mest til noget med tal men man kan også arbejde med tekst i programmet. Excel minder på mange områder om

Læs mere

+ "&"' +,! ")& - )'.** /, )'.** 1 2 "&"' +,! 3 *4 5

+ &' +,! )& - )'.** /, )'.** 1 2 &' +,! 3 *4 5 !"#!"# $&'( # $ "&"' ( )* =NUTIDSVÆRDI(B8;B12:K12)-B4 ")&# + "&"' +,! ")& - )'.** / 0, )'.** 1 2 "&"' +,! 3 *4 64 " *7)*7 '7 )87 )'.**!"# 9 )( )"* $ 3 (!" 3 :: 3 :"*;8: 3 Range( A1:A10 ).Cells(3)

Læs mere

Excel tutorial om lineær regression

Excel tutorial om lineær regression Excel tutorial om lineær regression I denne tutorial skal du lære at foretage lineær regression i Microsoft Excel 2007. Det forudsættes, at læseren har været igennem det indledende om lineære funktioner.

Læs mere

KMD Brugeradministration til Navision og LDV

KMD Brugeradministration til Navision og LDV KMD Brugeradministration til Navision og LDV Vejledning for selvejere. Opdateret 09-09-2015 Indholdsfortegnelse 1 Overordnet liste af funktoner... 2 2 Vejledning... 3 2.1 Login til KMD Brugeradministration...

Læs mere

Vejledning PROPHIX 11. Driftsbudgettering ved åbning af templates (Kun til Avanceret-brugere)

Vejledning PROPHIX 11. Driftsbudgettering ved åbning af templates (Kun til Avanceret-brugere) PROPHIX 11 Systemansvarlige Michael Siglev Økonomiafdelingen 9940 3959 msi@adm.aau.dk Daniel Nygaard Ricken Økonomiafdelingen 9940 9785 dnr@adm.aau.dk Vejledning (Kun til Avanceret-brugere) Opdateret:

Læs mere

Sproget Rascal (v. 2)

Sproget Rascal (v. 2) Sproget Rascal (v. 2) Til brug i K1 på kurset Oversættere Opdateret 29/11 2004 Abstract Rascal er et simpelt Pascal-lignende imperativt sprog. Dette dokument beskriver uformelt Rascals syntaks og semantik

Læs mere

4. Snittets kædebrøksfremstilling og dets konvergenter

4. Snittets kædebrøksfremstilling og dets konvergenter Dette er den fjerde af fem artikler under den fælles overskrift Studier på grundlag af programmet SKALAGENERATOREN (forfatter: Jørgen Erichsen) 4. Snittets kædebrøksfremstilling og dets konvergenter Vi

Læs mere

Huskesedler. Microsoft Excel 2010

Huskesedler. Microsoft Excel 2010 Huskesedler Indhold Absolutte cellereferencer... 2 Beskyttelse... 3 Fejlkontrol... 5 Flyt og kopiér... 6 Flyt og kopier med musen... 7 Formatering... 8 Formatering - Placering... 9 Formatering Kanter og

Læs mere

" #" $ " "!% &'% ' ( ) * " & #

 # $  !% &'% ' ( ) *  & # ! # $!% &'% '! #$ #$ ( * & #!! #$%& + &,Dim! - Sub Test( Dim Svar As String Svar = InputBox( Indtast dit Navn MsgBox Dit navn er & Svar Svar & * Sub Test2( MsgBox Goddaw & Svar #Test2( Svar& Test(Test2(Svar

Læs mere

Noter til C# Programmering Selektion

Noter til C# Programmering Selektion Noter til C# Programmering Selektion Sætninger Alle sætninger i C# slutter med et semikolon. En sætning kontrollerer sekvensen i programafviklingen, evaluerer et udtryk eller gør ingenting Blanktegn Mellemrum,

Læs mere

Spilstrategier. 1 Vindermængde og tabermængde

Spilstrategier. 1 Vindermængde og tabermængde Spilstrategier De spiltyper vi skal se på her, er primært spil af følgende type: Spil der spilles af to spillere A og B som skiftes til at trække, A starter, og hvis man ikke kan trække har man tabt. Der

Læs mere

REDIGERING AF REGNEARK

REDIGERING AF REGNEARK REDIGERING AF REGNEARK De to første artikler af dette lille "grundkursus" i Excel, nemlig "How to do it" 8 og 9 har været forholdsvis versionsuafhængige, idet de har handlet om ting, som er helt ens i

Læs mere

Værktøjer fra værktøjskassen. Søren Breddam, Stevns Kommune

Værktøjer fra værktøjskassen. Søren Breddam, Stevns Kommune Værktøjer fra værktøjskassen Søren Breddam, Stevns Kommune sb@stevns.dk 1stevns kommune Mapbasic i Stevns Kommune Data Kørsel af planlagte opgaver, så data altid er opdaterede. Logfil til overvågning Dagligt

Læs mere

PUT og INPUT funktionerne

PUT og INPUT funktionerne PUT og INPUT funktionerne Af: Peter Kellberg Danmarks Statistik Sejrøgade 11 DK-2100 København Ø pke@dst.dk PUT og INPUT-funktionerne Denne artikel er foranlediget af en henvendelse til vores interne SAS

Læs mere

3. Om skalamønstrene og den indfoldede orden

3. Om skalamønstrene og den indfoldede orden Dette er den tredje af fem artikler under den fælles overskrift Studier på grundlag af programmet SKALAGENERATOREN (forfatter: Jørgen Erichsen) 3. Om skalamønstrene og den indfoldede orden Lad os begynde

Læs mere

Kommuniker: Symbolskrivning 2 Kom godt i gang med tavler 4

Kommuniker: Symbolskrivning 2 Kom godt i gang med tavler 4 Opret en menutavle på en anden platform Denne aktivitet viser, hvordan du kan oprette et miljø med en ekstra platform med en menutavle, hvordan du kan justere tavle- og platformsudseende, og hvordan du

Læs mere

Udbedring af fejlsituationer ved anvendelse af BridgeMate

Udbedring af fejlsituationer ved anvendelse af BridgeMate Udbedring af fejlsituationer ved anvendelse af BridgeMate Indhold: Kort om BridgeCentral og BridgeMate funktionen Resumé PC en går i dvale eller lukker ned under en session Serveren mister strøm Et bord

Læs mere

KMD Brugeradministration til Navision og LDV

KMD Brugeradministration til Navision og LDV KMD Brugeradministration til Navision og LDV Vejledning for Statens Administration og ØSC institutioner. Opdateret 09-09-2015 Indholdsfortegnelse 1 Kom godt i gang... 2 1.1 Login til KMD Brugeradministration...

Læs mere

Kom godt i gang med. Gadstrup Fodbolds Hjemmeside. Udarbejdet af:

Kom godt i gang med. Gadstrup Fodbolds Hjemmeside. Udarbejdet af: Kom godt i gang med Gadstrup Fodbolds Hjemmeside Udarbejdet af: Forretningsstøtte Søren Tofte Version 1.0 24.2.2011 Indhold Sådan kommer du i gang?... 3 Log ind... 4 Mine oplysninger... 5 Klub CMS... 6

Læs mere

Edb-tekstbehandling, præsentation mm

Edb-tekstbehandling, præsentation mm Edb-tekstbehandling, præsentation mm I denne lektion skal du: - hente kopier et skærmbillede og sætte det ind i et dokument - beskære billedet, så det passer til dit dokument Der findes specielle programmer

Læs mere

Vejledning til formularmodul

Vejledning til formularmodul Vejledning til formularmodul Side 1 af 25 Indledning Formularmodulet kan anvendes til bestilling af varer, booking af møder, indmeldelse - kun fantasien sætter grænser! Systemet er oprettet, så der er

Læs mere

Gadwin PrintScreen Version 3,5

Gadwin PrintScreen Version 3,5 Side 1 af 6 Gadwin PrintScreen Version 3,5 Indhold: Introduktion...1 Properties (indstillinger)...2 Preferences...2 Source...3 Destination....3 Image...4 About...4 Brug af programmet...5 Introduktion Når

Læs mere

Lav din egen forside i webtrees

Lav din egen forside i webtrees Lav din egen forside i webtrees Du behøver ikke at kunne kode eller gøre noget advanceret for at designe din helt egen forside i webtrees. Alt du skal gøre er bare at gøre brug af den indbygget editor.

Læs mere

Trimmer vindue for Vegas Pro 8.0c giver velkendte resultater

Trimmer vindue for Vegas Pro 8.0c giver velkendte resultater Trimmer vindue for Vegas Pro 8.0c giver velkendte resultater Gary Rebholz Tilbage i artiklen, opdagelse i Vegas Pro Trimmer Rude, fra marts 2008 Tech Tip kolonne, jeg dækkede Vegas Pro Trimmer vindue i

Læs mere

Lærevejledning. - en introduktion til maskinarkitektur. faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen

Lærevejledning. - en introduktion til maskinarkitektur. faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen Lærevejledning - en introduktion til maskinarkitektur faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen Roskilde Universitetscenter Naturvidenskabelig Basisuddannelse

Læs mere

Først skal du oprette dig i systemet, d. v. s. du skal have en såkaldt Googlekonto bestående af en mailadresse og et kodeord.

Først skal du oprette dig i systemet, d. v. s. du skal have en såkaldt Googlekonto bestående af en mailadresse og et kodeord. Gmail Indhold Indhold...1 Introduktion...2 Opret dig i systemet...2 At skrive mails...5 Sende en mail til flere personer...8 Vedhæfte en fil...9 Kladde...10 Signatur...11 Modtagne mails...12 Stjernemarkering...14

Læs mere

Python 3 kursus lektion 1:

Python 3 kursus lektion 1: Python 3 kursus lektion 1: Her laves et nyt program Her køre programmet! Her skrives koden: Gem (CTRL-s) Tryk F5 (for at køre) www.madsmatik.dk d.14-01-2016 1/5 At skrive til skærmen: Hello World Man kan

Læs mere

Vejledning til registrering af virksomheder og personer (effekter) Projektrapporteringsværktøj - PRV

Vejledning til registrering af virksomheder og personer (effekter) Projektrapporteringsværktøj - PRV Vejledning til registrering af virksomheder og personer (effekter) Projektrapporteringsværktøj - PRV Registrering af virksomheder og personer Erhvervsstyrelsen og de regionale vækstfora ønsker at styrke

Læs mere

Undersøgelse af GVU og EUD for voksne

Undersøgelse af GVU og EUD for voksne Undersøgelse af GVU og EUD for voksne Forslag til beregning af tal til undersøgelse udsendt af Danmarks Evalueringsinstitut (EVA) sendt i mail til alle skoler 9. oktober 2012 09:45 EASY-P konsulenterne

Læs mere

Softwaretest. - også af "ikke testbar" software. DAPUG erfamøde 7. marts 2012 Thomas Vedel, Thomas Vedel Consult email: thomas@veco.

Softwaretest. - også af ikke testbar software. DAPUG erfamøde 7. marts 2012 Thomas Vedel, Thomas Vedel Consult email: thomas@veco. Softwaretest - også af "ikke testbar" software DAPUG erfamøde 7. marts 2012 Thomas Vedel, Thomas Vedel Consult email: thomas@veco.dk Hvorfor softwaretest? Software er sjældent fejlfri Test sikrer at softwaren

Læs mere

MANUAL TIL. OptitecRS CIPHERLAB 8000 - SCANNER

MANUAL TIL. OptitecRS CIPHERLAB 8000 - SCANNER MANUAL TIL OptitecRS CIPHERLAB 8000 - SCANNER INDHOLDSFORTEGNELSE 1 SAMLING OG TILKOBLING AF SCANNER... 1 1.1 STRØM TIL SCANNER... 2 1.2 TILKOBLING TIL COMPUTER... 2 1.2.1 Tilkobling med Seriel Stik...

Læs mere

Gennemsnit og normalfordeling illustreret med terningkast, simulering og SLUMP()

Gennemsnit og normalfordeling illustreret med terningkast, simulering og SLUMP() Gennemsnit og normalfordeling illustreret med terningkast, simulering og SLUMP() John Andersen, Læreruddannelsen i Aarhus, VIA Et kast med 10 terninger gav følgende udfald Fig. 1 Result of rolling 10 dices

Læs mere

Manual til opsætning af Jit-klient version 1.0. Opsætning. Copyright Jit-Danmark Aps 2006. Find mere information på www.jitbesked.

Manual til opsætning af Jit-klient version 1.0. Opsætning. Copyright Jit-Danmark Aps 2006. Find mere information på www.jitbesked. Opsætning Indholdsfortegnelse Sådan finder du indstillingerne...3 Muligheder og begrænsninger...6 Hvilke søgeord skal jeg bruge?...6 Ting man skal passe på...6 Tilføjning/nedlægning af søgeord...6 Ændring

Læs mere

Advanced Word Template Brugermanual

Advanced Word Template Brugermanual Advanced Word Template Brugermanual Forord: Advanced Word Template er et værktøj, der anvendes sammen med Microsoft Word til at opbygge ensartet beskrivelser på en mere intelligent måde end Copy and Paste

Læs mere

Det nye husdyrgodkendelse.dk Sagsbehandlermodulet Fra ansøgning til godkendelse V. 1.0 28/4 2011

Det nye husdyrgodkendelse.dk Sagsbehandlermodulet Fra ansøgning til godkendelse V. 1.0 28/4 2011 2. Sådan kommer du fra ansøgning til godkendelse Før du kan komme i gang med at arbejde på en miljøgodkendelse, skal du have åbnet den tilhørende ansøgning. Det gør du enten ved at indtaste skemanummer

Læs mere

JavaScript. nedarvning.

JavaScript. nedarvning. JavaScript er et sprog, der kan give en hjemmeside mere funktionalitet og gøre den interaktiv, så den reagerer på læsernes handlinger. CGI (Common Gateway Interface) har hidtil været de protokoller, man

Læs mere

Spil og svar. Journal nr. 13.12.599. Et webbaseret værktøj udviklet af Programdatateket i Skive

Spil og svar. Journal nr. 13.12.599. Et webbaseret værktøj udviklet af Programdatateket i Skive Journal nr. 13.12.599 Spil og svar Et webbaseret værktøj udviklet af Programdatateket i Skive E-mail: programdatateket@viauc.dk Web: http://www.programdatateket.dk Kolofon HVAL-vejledning Spil og svar

Læs mere

Arbejde med Regioner Lister, Playlists, og Cutlists i Sound Forge Pro

Arbejde med Regioner Lister, Playlists, og Cutlists i Sound Forge Pro Arbejde med Regioner Lister, Playlists, og Cutlists i Sound Forge Pro Gary Rebholz Du har sikkert allerede ved, at Sound Forge Pro software kan bruges til en imponerende række af audio opgaver. Alt fra

Læs mere

INTRODUKTION TIL DIAGRAMFUNKTIONER I EXCEL

INTRODUKTION TIL DIAGRAMFUNKTIONER I EXCEL INTRODUKTION TIL DIAGRAMFUNKTIONER I EXCEL I denne og yderligere at par artikler vil jeg se nærmere på diagramfunktionerne i Excel, men der er desværre ikke plads at gennemgå disse i alle detaljer, dertil

Læs mere

π er irrationel Frank Nasser 10. december 2011

π er irrationel Frank Nasser 10. december 2011 π er irrationel Frank Nasser 10. december 2011 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold 1 Introduktion

Læs mere

Indlæsning af tilskud fra UVM

Indlæsning af tilskud fra UVM Indlæsning af tilskud fra UVM Brugervejledning version 1.0 Side 1 Indholdsfortegnelse Indledning... 3 Download bogføringskladde fra brevportalen... 3 Gem regneark på din arbejdsplads... 3 Bearbejdning

Læs mere

Jeg har i forbindelse med it og programmering designet og udviklet et it-produkt, som kan beregne rødder i en anden gradsligning.

Jeg har i forbindelse med it og programmering designet og udviklet et it-produkt, som kan beregne rødder i en anden gradsligning. Indhold Beregn rødder... 2 Beskrivelse af kærneproblemet... 2 Plan for brugerfladen for programmet... 3 Operationer på inddata... 4 Output - Beskrivelse af uddata... 4 Flowchart - programmets logiske opbygning/struktur...

Læs mere

Oversættere Skriftlig eksamen onsdag d. 24. januar 2007

Oversættere Skriftlig eksamen onsdag d. 24. januar 2007 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Skriftlig eksamen onsdag d. 24. januar 2007 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet ved hver opgave. Den skriftlige

Læs mere

Spilstrategier. Indhold. Georg Mohr-Konkurrencen. 1 Vindermængde og tabermængde 2. 2 Kopier modpartens træk 4

Spilstrategier. Indhold. Georg Mohr-Konkurrencen. 1 Vindermængde og tabermængde 2. 2 Kopier modpartens træk 4 Indhold 1 Vindermængde og tabermængde 2 2 Kopier modpartens træk 4 3 Udnyt modpartens træk 5 4 Strategityveri 6 5 Løsningsskitser 7 Spilstrategier De spiltyper vi skal se på her, er primært spil af følgende

Læs mere

Løsning af simple Ligninger

Løsning af simple Ligninger Løsning af simple Ligninger Frank Nasser 19. april 2011 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk:

Læs mere

Konstruktiv Kritik tale & oplæg

Konstruktiv Kritik tale & oplæg Andres mundtlige kommunikation Når du skal lære at kommunikere mundtligt, er det vigtigt, at du åbner øjne og ører for andres mundtlige kommunikation. Du skal opbygge et forrådskammer fyldt med gode citater,

Læs mere

Superbruger Information. Ver. 5.1, 2. udgave - juni 2004-1 -

Superbruger Information. Ver. 5.1, 2. udgave - juni 2004-1 - Superbruger Information Ver. 5.1, 2. udgave - juni 2004-1 - Import /eksport og opdatering af databasen I dette kapitel vil vi se på nogle af de muligheder der er for import og eksport af data til og fra

Læs mere

Introduktion til CD ere og Arkivdeling Gammel Dok - September-oktober 2003. Jonas Christiansen Voss

Introduktion til CD ere og Arkivdeling Gammel Dok - September-oktober 2003. Jonas Christiansen Voss Introduktion til CD ere og Arkivdeling Gammel Dok - September-oktober 2003 Jonas Christiansen Voss 2. marts 2004 Indhold 1 CD ere 2 1.1 Brænde dokumenter til CD....................... 2 1.2 Disk Copy.................................

Læs mere

Dokumentation af programmering i Python 2.75

Dokumentation af programmering i Python 2.75 Dokumentation af programmering i Python 2.75 Af: Alexander Bergendorff Jeg vil i dette dokument, dokumentere det arbejde jeg har lavet i løbet opstarts forløbet i Programmering C. Jeg vil forsøge, så vidt

Læs mere

poedit og oversættelse af sprogfiler

poedit og oversættelse af sprogfiler poedit og oversættelse af sprogfiler af Georg S. Adamsen WordPress.Blogos.dk 2009 http://kortlink.dk/wordpressblogosdk/6g38 1 af 11 14-04-2009 14:55 Jeg får af og til spørgsmål om, hvordan man bruger poedit,

Læs mere

DANSK SKOLEDATA APS. Tlf. 86 44 80 99 E-mail DSD@skoledata.dk DSA-Ventelisten

DANSK SKOLEDATA APS. Tlf. 86 44 80 99 E-mail DSD@skoledata.dk DSA-Ventelisten Indholdsfortegnelse Overordnet beskrivelse af programmets funktioner... 2 Log på... 2 Manuel oprettelse af elev.... 3 Optagelse af elever... 3 1 Gruppering og sortering af elever... 3 2 Udvælg aspiranter...

Læs mere

Kort om indlæsning af excel filer til budgetkladder i Navision

Kort om indlæsning af excel filer til budgetkladder i Navision Kort om indlæsning af excel filer til budgetkladder i Navision Hovedproceduren er 1. I excel dannes en fil med en bestemt kolonnerækkefølge 2. Denne fil gemmes som semikolonsepareret fil (CSV MSDOS) 3.

Læs mere

Vejledning Post modul

Vejledning Post modul Vejledning Post modul Post modulet ligger under rapporter, men først skal man sørge for at man har rettigheder til dette modul. Den rettighedsansvarlige skal ind under rettigheder og tildele POST til relevante

Læs mere

Dansk version. Introduktion. Windows Vista og XP-installation. LW056V2 Sweex Wireless LAN Cardbus Adapter 54 Mbps

Dansk version. Introduktion. Windows Vista og XP-installation. LW056V2 Sweex Wireless LAN Cardbus Adapter 54 Mbps LW056V2 Sweex Wireless LAN Cardbus Adapter 54 Mbps Introduktion Udsæt ikke Sweex Wireless LAN Cardbus Adapter 54 Mbps for ekstreme temperaturer. Anbring ikke enheden i direkte sollys eller tæt ved varmekilder.

Læs mere

! #!! $ % $! & " &'"! & *+ "! " $ $ ""!,-! $!.! $! " # 1!! &' "

! #!! $ % $! &  &'! & *+ !  $ $ !,-! $!.! $!  # 1!! &' ""# "" # $ % $ & " &'" & " "()" *+ " " $ $ *+" $ %"&'" "( "",- $. + /"&'"-0 $ " # 1 &' " +"% $ %'('" 2 ' ) )030 )030) * )033 " )033 // " " 1 1 41 ")035)036 5- " " " *+773,8 *+ % " " )035& " )036& " 1 %"

Læs mere

Word-5: Tabeller og hængende indrykning

Word-5: Tabeller og hængende indrykning Word-5: Tabeller og hængende indrykning Tabel-funktionen i Word laver en slags skemaer. Word er jo et amerikansk program og på deres sprog hedder skema: table. Det er nok sådan udtrykket er opstået, da

Læs mere

Peter Kellberg. Rundt om Danmarks Statistiks makroer. Design, Standardisering, Teknik

Peter Kellberg. Rundt om Danmarks Statistiks makroer. Design, Standardisering, Teknik Peter Kellberg Rundt om Danmarks Statistiks makroer Design, Standardisering, Teknik SAS Forum 2009 Ét makrobibliotek ca 50 makroer, vi selv har lavet mange andre fx CLAN Autocall makroer en makro er et

Læs mere

Websitet handler om websitet i sin helhed, dvs. hvor mange besøgende du har i alt osv.

Websitet handler om websitet i sin helhed, dvs. hvor mange besøgende du har i alt osv. Statistikmodulet. Statistikmodulet er et grundlæggende værktøj til at forstå og analysere trafikken på dit website, og det kan du benytte til mange ting, lige fra at se hvor mange besøgende du har, til

Læs mere

Vejledning, teknik, tips and tricks

Vejledning, teknik, tips and tricks Vejledning, teknik, tips and tricks Indhold 1 AUHRA pålogning og startside... 1 2 Ofte stillede spørgsmål og kendte fejl... 4 2.1 Har din computer adgang til AU s netværk og adm. systemer?... 4 2.2 Kan

Læs mere

Kom godt i gang med I-bogen

Kom godt i gang med I-bogen Kom godt i gang med I-bogen At åbne bogen Det allerførste, du skal gøre, for at kunne arbejde med i-bogen, er at aktivere den. Det gøres ved at oprette en konto på systime.dk og derefter aktivere bogen

Læs mere

Huskesedler. Design og automatisering af regneark. Microsoft Excel 2013

Huskesedler. Design og automatisering af regneark. Microsoft Excel 2013 Huskesedler Design og automatisering af regneark Microsoft Excel 2013 Januar 2017 Knord Side 2 Indholdsfortegnelse Ark... 4 Beskyttelse... 6 Diagram... 7 Eksport af data... 8 Fejlretning i formler... 9

Læs mere

Tilpasning af din tastaturgenveje

Tilpasning af din tastaturgenveje Tilpasning af din tastaturgenveje Gary Rebholz Everybody's workflow er anderledes. Selvom mange af de opgaver, vi alle udfører i vores video eller lyd redigeringsfunktioner er de samme som de opgaver alle

Læs mere

Brug Photo Story 3 en let introduktion

Brug Photo Story 3 en let introduktion Brug Photo Story 3 en let introduktion Denne vejledning forudsætter at programmet Photo Story 3 er installeret på din computer. Se andetsteds for vejledning i at installere programmet, der kan findes gratis

Læs mere

Viditronic NDVR Quick Guide. Ver. 2.0

Viditronic NDVR Quick Guide. Ver. 2.0 Viditronic NDVR Quick Guide Ver. 2.0 1 Indholdsfortegnelse 1. HOVEDMENU 3 1.1 START 5 1.2 AKTIVITETSINDIKATOR: 7 1.3 INFORMATIONS VINDUE: 7 1.4 PTZ KAMERA KONTROL: 7 1.5 SKÆRMMENU 8 1.5.1 AKTIVER BEVÆGELSE:

Læs mere

Kort til Husdyrgodkendelse / Excel data og Næsgaard Markkort

Kort til Husdyrgodkendelse / Excel data og Næsgaard Markkort Kort til og Næsgaard Markkort Kun i ADVICER Dette afsnit er kun relevant hvis du arbejder med AD- VICER udgaven af Næsgaard Markkort (rådgiverudgaven). Funktionen findes IKKE i PLUS og OPTI udgaven af

Læs mere

VEJLEDNING TIL WORD INDHOLDSFORTEGNELSE. 1. Linjeafstand. side 3. 2. Margener.. side 3. 3. Sidehoved og sidefod... side 4. 4. Sidetal..

VEJLEDNING TIL WORD INDHOLDSFORTEGNELSE. 1. Linjeafstand. side 3. 2. Margener.. side 3. 3. Sidehoved og sidefod... side 4. 4. Sidetal.. VEJLEDNING TIL WORD VEJLEDNING TIL WORD INDHOLDSFORTEGNELSE 1. Linjeafstand. side 3 2. Margener.. side 3 3. Sidehoved og sidefod... side 4 4. Sidetal.. side 5 5. Spalter.... side 5 6. Skifte ordbog.. side

Læs mere

DM536. Rapport og debug

DM536. Rapport og debug DM536 Rapport og debug Kilder Vigtig.it (Felix Palludan Hargreaves) http://vigtig.it/dm502/howto_report.pdf http://vigtig.it/blog/teaching/#toc-relevant-tips Peter Schneider-Kamp http://imada.sdu.dk/~petersk/dm536/project2.pdf

Læs mere

5 ARBEJDE MED EDITOREN

5 ARBEJDE MED EDITOREN 5 ARBEJDE MED EDITOREN Editor (eller Rich Tekst Editor) er et indbygget indholdsredigerings værktøj, hvor man uden nogen kendskab til HTML kodning kan skrive tekst, indsætte billeder, videoer og links.

Læs mere

Vejledning til. Svejsevisitering. Oprettelse af kursister i testsystemet... 2. Opret Booking... 5. Kursisten tager test... 10

Vejledning til. Svejsevisitering. Oprettelse af kursister i testsystemet... 2. Opret Booking... 5. Kursisten tager test... 10 Kompetencecenter for e-læring Det Nationale Videncenter for e-læring Vejledning til Svejsevisitering Indhold Oprettelse af kursister i testsystemet... 2 Opret Booking... 5 Kursisten tager test... 10 Læreren

Læs mere

5. OPSÆTNING DOKUMENTSKABELONER 5.1 TRIN

5. OPSÆTNING DOKUMENTSKABELONER 5.1 TRIN 5. OPSÆTNING DOKUMENTSKABELONER Under fanen Dok. skabeloner kan du arbejde med de skabeloner som du har i systemet, eller du kan oprette nye. I denne vejledning kigger vi på hvordan du kan tilrette selve

Læs mere

Hjælp til Næsgaard Markkort

Hjælp til Næsgaard Markkort . len er en funktion, hvor du kan få kontrolleret kortet for forskellige fejlmuligheder. len kontrollerer kortet for følgende fejl: Krydsende linier Dobbelte punkter Overlappende arealer Fejlene opstår

Læs mere

DMX styring med USB-interface

DMX styring med USB-interface DMX styring med USB-interface Introduktion...2 DMX bibliotek...3 Programmering af kanaler...7 Sådan skabes et show/en lyssekvens...11 Introduktion DMX LightPlayer er en avanceret men meget brugervenlig

Læs mere