hei
Teen Wordillä lomakkeita samaan asiakirjaan, missä on pariin kertaan samoja kenttiä. Miten saan tehtyä Word-lomakkeen niin, että saman tyyppiset kentät täyttyvät yhtäaikaa eikä esim. vasta tulostettaessa.
Eli kun poistun nimi kentästä, niin myös toinen nimi kenttä päivittyy samalla. Vaatinee jonkin vbcriptin?
Tai siis VBA-pätkän.
Siltä varalta, että tuntisit VBA:ta vähemmän kuin minä (epäilen toki), lisää hiiren oikealla napilla työkaluihin VB-työkalurivi. Valitse Visual Basic -editori. Siitä aukeaa koodi-ikkuna, jonka ylälaidassa ne objektit ja tapahtumat ovat laatikoissaan, esimerkiksi lomakkeele lisäämäsi text1 ja sen tapahtuma change. (Moduulit ja työkirjat näkyvät vba:n projekti-ikkunassa, kaiva se näkyviin editorin valikosta).
Toinen tapa: Valitse piirtämäsi Text1 (tms) -objekti lomakkeesta ja "Näytä koodi" jne.
Jos saa suositella, lisää muunkin kuin hyvän tavan vuoksi ylälaidassa näkyvään yleiset - määritelmät -kohtaan rivi "Option Explicit" (ilman lainausmerkkejä.) Ei toki pakollista. Ja sitten etsi kohta Private Sub TextBox1_Change() tai muu sopivampia tapahtuma, johon kirjailet muutoksesi, lopputulos vaikkapa:
Private Sub TextBox1_Change() Dim txt As String txt = TextBox1.Text TextBox2.Text = txt End Sub
String tarjoittaa että tietoa käsitellään tekstinä. Jos et tarvi txt-muuttujaan sijoitettavaa tietoa muutoin, niin
Private Sub TextBox1_Change() TextBox2.Text = TextBox1.Text End Sub
Teksti muuttuu kaikkiin niihin laatikoihin, jotka olet määritellyt, kirjoittamasi tahtiin. Ei vaikeaa, ellen sitten selitä liian monimutkaisesti tai ole ymmärtänyt kysymystä väärin.
Jos tunnet VB:tä, pärjäät hyvin VBA:n kanssa ja edelliset koodineuvoni olivat turhia. Lomakkeista (objekteja nekin) selviät alkuun, kun nauhoittelet näppäinmakroja ja vakoilet tai kopioit sitten moduleista, miten mikäkin asia tehdään, vaikkapa tekstin valinta jne.
VBA:iin kannattaa vilkuilla, se tulee Wordin ja Excelin mukana ilmaiseksi. Siinä on suomenkielinen opaste ja on kielenä kuten VB formeineen, objekteineen ja kaikkineen. Sillä minäkin aloittelin ja olen harrastuksessani raivannut tieni äärimmäisestä tietämättömyydestä mitä suurimpaan typeryyteen - ihan ite...
Toivottavasti neuvosta oli apua.
Aihe on jo aika vanha, joten et voi enää vastata siihen.