Minkälaista koodia täytyy VB6-ohjelmaan kirjoittaa jotta se avaa olemassaolevan word-lomakkeen ja kirjoittaa lomakkeessa oleviin tekstikenttiin. Ja lopuksi pitäisi vielä saada lomake tulostettua. Jos mahdollista niin word-lomakkeen ei tarvisi edes tulla käyttäjän näkyville.
Word-lomakkeen käyttö VB:lla tehdyllä ohjelmalla
Jussi
6782
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 6
Vanhimmat
Mulla on samanlainen ongelma kun pitäis saada ohjelmalla käytettyä wordia, mutta taidot ei ihan riitä. Eikö täältä todellakaan löydy yhtään ammattilaista joka vois auttaa miehiä mäessä?
Olen joskus tehnyt VB:lla ohjelman, joka kirjoitti tuloksia Exceliin. Sama toimisi kait Wordin suhteen. En vaan ole Wordin kanssa pelannut, ainakaan lomakkeita.
Pitäisi perehtyä siihen, mitä ovat Wordin lomakkeet käytännössä.
Millaiseen tapaukseen tuota nyt tarvitsisi?
Kayta kirjainmerkkeja eli Bookmark koodissa ja piece of case
Mulle ei ainakaan sano kirjanmerkit yhtään mitään. Oisko sulla joku lyhyt esimerkki miten niitä käytetään, niin vois ruveta opettelemaan.
Wordissa vie kursori haluttuun paikkaan ja menusta Lisaa/Kirjainmerkki anna nimi ja lisaa.
lisaa allaoleva koodi ja testaa.
esimerkissa kirjainmerkit "Etunimi" ja "Sukunimi"
toimii siten,etta voit kirjoittaa aina uudestaa paalle
Sub Kirjainmerkki()
Dim Teksti As Range
Set Teksti = ActiveDocument.Bookmarks("Etunimi").Range
Teksti.Text = "Ville"
ActiveDocument.Bookmarks.Add Name:="Etunimi", Range:=Teksti
Set Teksti = ActiveDocument.Bookmarks("Sukunimi").Range
Teksti.Text = "Virtanen"
ActiveDocument.Bookmarks.Add Name:="Sukunimi", Range:=Teksti
End Sub
excelissa tarvitset viittauksen word objektiin ja nimet tietenkin tulee muuttujista jne...
Vaikeeta kun on vain Thaiversio kaytossa...
Tässä runko, joka aukaisee wordin, dokumentin ja täyttää dokumenttiin lisätyn fieldin (txt1). Muista lisätä referensseihin Microsoft office- viittaus.
Dim oWord As New Word.Application
oWord.Visible = False
oWord.Documents.Open "c:\doc.doc"
oWord.ActiveDocument.FormFields("txt1").Result = "tekstiä"
' printtaus
'oWord.ActiveDocument.PrintOut ...
oWord.Quit
Set oWord = Nothing