No terve.
Onko Visual Basic:lla (ei .net) mahdollista tehdä koodia, joka avaa näytölle Word-dokumentin?
Siis olisi tarkoitus, että ohjelman ollessa käynnissä käyttäjä pystyisi nappia painamalla avaamaan tietyn dokumentin Word-ohjelmassa.
Toki on. Sinun vain pitäisi osata purkaa tiedostosta word-dokumentin koodaus/paketointi ja tulkata se näytölle. Itse katsoisin tallennusformaatin dokumentoinnin netistä tai suoraan koodin sen purkamiseen OpenOfficen sorsasta (se osaa avata ja tallentaa niitä) ja porttaisin vb:lle. Vaikeaksi vain menee. Sitten myös valmiita controlleja on, mutta en tiedä yhtäkään nimeltä.
Jos pelkkä tiedoston avaaminen Wordissa riittää, niin tämä koodivinkki on hyödyksi:
https://www.ohjelmointiputka.net/koodivinkit/
Kun ShellExecute-funktiolle antaa tiedoston nimen, se avaa sen oletusohjelmalla. Toiminta on sama kuin esimerkissä näkyvä Internet-sivun avaaminen.
Koska VB ja MS Word kuuluvat samaan suureen, iloiseen ohjelmaperheeseen, niin VB:llä on helppo käsitellä MS Word tms. documenttejä valmiiden rajapintojen kautta. En nyt muista löytyykö noita pelkän VB:n asennuksen myötä, vai vaatiiko ne kyseisen ohjelman löytymisen koneelta.
Project->References...->Microsoft Word x.0 Object Library
'Project Reference = Microsoft Word 11.0 Object Library Private Sub Command1_Click() Dim wrdApp As New Word.Application Dim wrdDoc As New Word.Document Screen.MousePointer = vbHourglass Set wrdDoc = wrdApp.Documents.Open("C:\Documents\Being an Evil Overlord.doc", , True) MsgBox "Grammatical Errors on document: " & _ wrdDoc.GrammaticalErrors.Count, vbInformation, wrdDoc.Name wrdDoc.Close False 'suljetaan tallentamatta muutoksia wrdApp.Quit False 'sama kuin edellä. (Turha edellisen jälkeen.) Varmuuden välttämiseksi, ettei mitään kysellä Set wrdDoc = Nothing Set wrdApp = Nothing Screen.MousePointer = vbNormal End Sub
Edit: Koodista puuttuu documentin näyttämisen. Tuo vain avaa docun, laskee virheet, esittää tuloksen ja sulkee sen saman tien. Documentti näkyviin...
wrdApp.Visible = True
Kiitoksia. Nämä auttoivat minut ongelmani yli.
Aihe on jo aika vanha, joten et voi enää vastata siihen.