Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Artiklar / Titel på artikeln

Att använda MS-Word i Visual Basic

Postad 2001-07-16 av Johan Djupmarker i sektionen ASP.NET, C#, Okategoriserat med 1 Kommentarer | Läst av: 4568, Betyg: 80%

Förord

I denna kursen tänker jag beskriva hur man kan göra en enkel rapport i VB med hjälp av en mall i Word. Jag har själv använt funktionen för att skriva brev från ett kundregister, när användaren få upp dokumentet är mottagare, adress mm redan ifyllt. Det finns säkert många fler användningsområden, det är bara din fantasi som sätter begränsningen... Fördelen med denna metoden är att användaren kan redigera sin mall hur som helst utan att ta hjälp av mig som programmerare. Mallen består av ett vanligt Worddokument som man enkelt redigerar och formaterar i Word. Tekniken går ut på att man öppnar dokumentet från Visual Basic och byter ut vissa ord mot information som finns i ditt program, t.ex. från en databas.
Innehåll
  » Kodning
  » Var denna artikeln användbar?


Kodning

Börja med att sätta en referens till Microsoft Word i ditt projekt, detta gör du genom att gå in på Project>References... Där kryssar du för "Microsoft Word 9.0 Object Library" (9.0 avser Word 2000, om du har en annan version får du kryssa i den istället).

För att åstadkomma rapporten behövs väldigt lite kod:


Dim WordRange As Word.Range
Set WordApp = CreateObject("Word.Application")

'Öppna mallen
WordApp.Documents.Open App.Path & "\mall.doc", , True, False

'Anger hela dokumentet som sökområde
Set WordRange = WordApp.ActiveDocument.Content
'Letar reda på strängen som skall bytas ut
WordRange.Find.Execute FindText:="", Forward:=True
'Om strängen hittas ersätts den
If WordRange.Find.Found = True Then
WordRange = "Förnamn Efternamn"
End If

'Visar Word-dokumentet
WordApp.Visible = True

Set WordRange = Nothing
Set WordDoc = Nothing
Set WordApp = Nothing

Ovanstående kod öppnar filen mall.doc som ligger i samma mapp som programmet. Sedan byts ordet "" ut om "Förnamn Efternamn". Koden kan utökas med funktioner för att hämta informationen från en databas eller andra källor, givetvis kan man även byta ut fler än ett ord, för att göra det upprepar man nedanstående kod:


'Anger hela dokumentet som sökområde
Set WordRange = WordApp.ActiveDocument.Content
'Letar reda på strängen som skall bytas ut
WordRange.Find.Execute FindText:="", Forward:=True
'Om strängen hittas ersätts den
If WordRange.Find.Found = True Then
WordRange = "Förnamn Efternamn"
End If

Till denna artikel finns ett färdigt exempel som du kan titta på.


Var denna artikeln användbar?

Om du gör någon intressant (eller kanske något konstigt fel) på grund av detta material så skicka gärna det med ett mail eller bifoga en länk till mig så presenterar jag detta som ytterligare exempelfiler för kursen. Om detta innehållet är felaktigt eller du lärt dig fler finesser så skriv gärna en rad eller varför inte en egen kurs baserat på dina erfarenheter.

/Johan Djupmarker
Upp

1 Kommentarer


  1. Gunnar Feltborg
    17 nov 2004

    När jag testade detta program fick jag felmeddelandet: Run-time error '-2147023113(800706f7)' Method 'Execute' of object 'Find' failed

Skriv en kommentar på artikeln

Ditt betyg på artikeln



Kommentar:





Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 153
27 952
271 704
1 154
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies