Attribute VB_Name = "Module1" Sub OpenSiirto() 'Aliohjelmassa OpenSiirto on aliohjelman nimestä vaihenumerointi poistettu, ' sillä tämä jää viimeiseksi ratkaisuksi. 'Aliohjelmassa on asetettu virheensieppaus päälle rivillä 6 ja poistettu rivillä 12. 'Jos Dir-funktion kutsussa rivillä 7 tapahtuu virhe, ' kontrolli siirtyy aliohjelman loppuun Virhe-leiman osoittamaan kohtaan. 'Rivinumerointia on aliohjelman loppupäässä vähennetty, ' jotta hypyn leima ei mene sekaisin muiden leimojen kanssa. 1 Dim TstoNimi As String 2 If IsEmpty(ThisWorkbook.ActiveSheet.Range("A1").Value) Then 3 MsgBox "Tiedostoa ei ole määritelty" 4 Else 5 TstoNimi = ThisWorkbook.ActiveSheet.Range("A1").Value 6 On Error GoTo Virhe 7 If Dir(TstoNimi) <> "" Then 8 Workbooks.Open Filename:=TstoNimi, ReadOnly:=True, AddToMru:=False 9 Else 10 MsgBox "Tiedostoa '" & TstoNimi & "' ei löydy " 11 End If 12 On Error GoTo 0 13 End If Exit Sub Virhe: MsgBox "Yleinen virhe. Tarkista solun A1 tiedostopolku" End Sub Sub OpenSiirto_Vaihe1() 'Ensimmäisessa vaiheessa on tarkistettu, että solussa A1 on ylipäätään jokin arvo. 'Aliohjelman OpenSiirto_Vaihe1 rivillä 2 olevassa ehtolauseessa (rivi 2) haaraudutaan ' joko ilmoittamaan käyttäjälle solun tyhjyydestä (rivi 3) tai sitten jatketaan ' muihin tarkistuksiin ja itse avaamiseen (rivien 4 ja 5 väliin tuleva koodi). 1 Dim TstoNimi As String 2 If IsEmpty(ThisWorkbook.ActiveSheet.Range("A1").Value) Then 3 MsgBox "Tiedostoa ei ole määritelty" 4 Else ' Muut tarkistukset ja avaaminen 5 End If End Sub Sub OpenSiirto_Vaihe2() 'Aliohjelman versiossa OpenSiirto_Vaihe2 tarkistetaan rivillä 6 tiedoston olemassaolo. 'Jos ehtolause toteutuu, tiedosto avataan (rivillä 7). 'Jos ehto ei toteudu, käyttäjälle ilmoitetaan asiasta (rivi 9). 1 Dim TstoNimi As String 2 If IsEmpty(ThisWorkbook.ActiveSheet.Range("A1").Value) Then 3 MsgBox "Tiedostoa ei ole määritelty" 4 Else 5 TstoNimi = ThisWorkbook.ActiveSheet.Range("A1").Value 6 If Dir(TstoNimi) <> "" Then 7 Workbooks.Open Filename:=TstoNimi, ReadOnly:=True, AddToMru:=False 8 Else 9 MsgBox "Tiedostoa '" & TstoNimi & "' ei löydy " 10 End If 11 End If End Sub