Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Visual basic + tiedoston avaus

ToTo [15.09.2005 21:07:32]

#

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.

Puhveli [15.09.2005 21:19:57]

#

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ä.

Antti Laaksonen [15.09.2005 21:38:47]

#

Jos pelkkä tiedoston avaaminen Wordissa riittää, niin tämä koodivinkki on hyödyksi:
https://www.ohjelmointiputka.net/koodivinkit/23549-vb6-shellexecute-funktio

Kun ShellExecute-funktiolle antaa tiedoston nimen, se avaa sen oletusohjelmalla. Toiminta on sama kuin esimerkissä näkyvä Internet-sivun avaaminen.

BadSource [16.09.2005 08:41:18]

#

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

ToTo [21.09.2005 11:46:19]

#

Kiitoksia. Nämä auttoivat minut ongelmani yli.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta