Silloin tällöin tulee tilanne, että luodessamme uutta asiakirjaa tarvittaisiin edellisestä asiakirjasta viimeiseksi käytettyä tietoa, esimerkiksi juokseva numero Excelissä tai asiakirjan juokseva numero Wordissa.
Tapoja on useampia. Eräs on Windowsin rekisterin hyödyntäminen, jos työ suoritetaan aina samalla koneella.
Jos sitä vastoin tarvitaan enemmän joustavuutta, voitaisiin arvo tallentaa esimerkiksi tekstitiedostona johonkin sitä varten luotuun kansioon.
Windowsin rekisterin hyödyntäminen
Excel-esimerkki:
GetValue hakee arvon rekisteristä ja SaveValue tallentaa.
Sub SaveValue() Dim lngArvo As Long On Error GoTo ErrH: lngArvo = Range("A1") SaveSetting appname:="Minun_sovellus", section:="Alustus", Key:="ViimNro", setting:=lngArvo Exit Sub ErrH: MsgBox "Solussa A1 on oltava numeerinen arvo", vbExclamation + vbOKOnly, "Virheellinen arvo" End Sub Sub GetValue() Range("A1") = GetSetting(appname:="Minun_sovellus", section:="Alustus", Key:="ViimNro") + 1 End Sub
Word esimerkki:
Word-asiakirjassa käytetään kirjanmerkkiä AsNro, joka on valmiina asiakirjassa. Kirjoitetaan siihen arvo, joka poimitaan rekisteristä. Lisäyksen jälkeen arvo tallennetaan rekisteriin uudestaan.
Sub AsetaNro() Dim lngArvo As Long On Error GoTo ErrH Selection.GoTo What:=wdGoToBookmark, Name:="AsNro" lngArvo = GetSetting(appname:="Minun_sovellus", Section:="Alustus", Key:="ViimNro") + 1 Selection.TypeText Text:=lngArvo SaveSetting appname:="Minun_sovellus", Section:="Alustus", Key:="ViimNro", setting:=lngArvo Exit Sub ErrH: MsgBox "Kirjanmerkkiä AsNro ei löytynyt.", vbExclamation + vbOKOnly, "Asiakirjavirhe" End Sub