vraagelijst

  • Onderwerp starter Onderwerp starter erten
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

erten

Gebruiker
Lid geworden
17 apr 2012
Berichten
39
hallo,

Alles je een vraagelijst hebt gemaakt en je vuld hem in. en dan op een
button klikt "klaar". Kan je hem dan de vragen en de antwoorden laten opslaan in word bestand?

Kan dat ?
En hoe doe je dat dan ?

Alvast bedankt

erten
 
Laatst bewerkt:
Een word bestand wordt wat moeilijk maar een tekst bestand kan wel

Code:
  Dim objwriter As New System.IO.StreamWriter(TextBox1.Text)
            objwriter.Write(TextBox2.Text)
            objwriter.Close()
 
Laatst bewerkt:
Zo heel ingewikkeld is het ook weer niet.

Hier kunt U het artikel vinden op mi-soft http://mi-soft.nl/visual-basic-tekst-opslaan-in-een-word-document/


  1. Klik met de rechtermuisknop op het bovenste item in de solution explorer (in mijn voorbeeld "windowsapplication1") en kies voor "add reference".
    helpmij1.png

  2. ga naar het tabje "COM"
  3. Zoek naar microsoft.word XX.X
    helpmij2.png

    XX.X vervangen door de volgende:
    • Office word 2010, klikt u op Microsoft Word 14.0-objectbibliotheek.
    • Office Word 2007, klikt u op Microsoft Word 12.0-objectbibliotheek.
    • Klik op Microsoft Word 11.0-objectbibliotheek voor Word 2003.
    • Klik op Microsoft Word 10.0-objectbibliotheek voor Word 2002.
    • Klik op Microsoft Word 9.0-objectbibliotheek voor Word 2000.
  4. vervolgens typ je helemaal bovenaan in je document:
    [CPP]Imports Microsoft.Office.Interop[/CPP]
  5. Daarna kan je het word document aanmaken met de volgende code:
    [CPP] Dim MyWord As Word.Application
    Dim WordDoc As Word.Document

    MyWord = CreateObject("Word.Application")
    WordDoc = MyWord.Documents.Add[/CPP]
  6. Text toevoegen kan als volgt:
    [CPP] MyWord.Selection.TypeText(TextBox1.Text)[/CPP]
  7. En het bestand opslaan kan dan als volgt:
    [CPP] WordDoc.SaveAs("C:\Test.docx")
    WordDoc.Close()[/CPP]
slim is het ook om de variabele WordDoc en MyWord leeg te maken als je klaar bent met je document, dat kan zo:
[CPP]WordDoc = Nothing
MyWord = Nothing[/CPP]

Iets geavanceerder kan natuurlijk ook, hiervoor gebruiken we een savefiledialog die we even savefiledialog1 noemen voor het gemak.

Voeg dan de volgende code toe onder je save button:

[CPP] Dim MyWord As Word.Application
Dim WordDoc As Word.Document

'Create word object
MyWord = CreateObject("Word.Application") 'Assuming word is not running
WordDoc = MyWord.Documents.Add

MyWord.Selection.TypeText(TextBox1.Text)

'Save the file. If the document exists it is overwriten
SaveFileDialog1.Filter = ("Word Document nieuwe stijl (*.docx)|*.docx|Word documenten oude stijl (*.doc)|*.doc")
With SaveFileDialog1

If .ShowDialog = Windows.Forms.DialogResult.OK Then

WordDoc.SaveAs(SaveFileDialog1.FileName)
WordDoc.Close()
End If
End With


WordDoc = Nothing
MyWord = Nothing

End Sub[/CPP]

dit zal er dan voor zorgen dat de gebruiker de keuze krijgt waar het bestand op te slaan, en de keuze krijgt of het een .doc (word 2000, 2002 , 2003) of een .docx (word 2007, 2010, 2012) wordt.
 
Laatst bewerkt:
Ik zit met een vraagje?

Hoe zeg je dat hij een lijn moet tussen laten.
Zo dat als je met meerdere texstboxen werkt ze niet tegen elkaar komen op word doc

code:
Code:
        MyWord.Selection.TypeText(Label1.Text)

        MyWord.Selection.TypeText(Labelname.Text)
        MyWord.Selection.TypeText(TextBox1.Text)
        [COLOR="#008000"]'Hier wil ik dat hij een lijn tussen laat[/COLOR]
        MyWord.Selection.TypeText(Label3.Text)
        MyWord.Selection.TypeText(TextBox2.Text)
        [COLOR="#008000"]'Hier wil ik dat hij een lijn tussen laat[/COLOR]
        MyWord.Selection.TypeText(Label4.Text)
        MyWord.Selection.TypeText(TextBox3.Text)
        [COLOR="#008000"]'Hier wil ik dat hij een lijn tussen laat[/COLOR]
        MyWord.Selection.TypeText(Label5.Text)
        MyWord.Selection.TypeText(TextBox4.Text)
        [COLOR="#008000"]'Hier wil ik dat hij een lijn tussen laat[/COLOR]
        MyWord.Selection.TypeText(Label6.Text)
        MyWord.Selection.TypeText(TextBox5.Text)
        [COLOR="#008000"]'Hier wil ik dat hij een lijn tussen laat[/COLOR]
        MyWord.Selection.TypeText(Label7.Text)
        MyWord.Selection.TypeText(TextBox6.Text)
        [COLOR="#008000"]'Hier wil ik dat hij een lijn tussen laat[/COLOR]
        MyWord.Selection.TypeText(Label8.Text)
        MyWord.Selection.TypeText(TextBox7.Text)
        [COLOR="#008000"]'Hier wil ik dat hij een lijn tussen laat[/COLOR]
        MyWord.Selection.TypeText(Label9.Text)
        MyWord.Selection.TypeText(TextBox8.Text)
        [COLOR="#008000"]'Hier wil ik dat hij een lijn tussen laat[/COLOR]
        MyWord.Selection.TypeText(Label10.Text)
        MyWord.Selection.TypeText(TextBox9.Text)
        [COLOR="#008000"]'Hier wil ik dat hij een lijn tussen laat[/COLOR]
        MyWord.Selection.TypeText(Label11.Text)
        MyWord.Selection.TypeText(TextBox10.Text)

Weet iemand het
 
Wat je kunt toen is natuurlijk altijd gewoon

myword.selection.typtext("") ertussen zetten om een witte lijn te schrijven.

wat je ook kan gebruiken is : myword.selection.typetext(textbox1.text & vbnewline "")
 
Waarom niet gewoon naar een TXT-bestandje schrijven? Hoeft de gebruiker ook geen Office-pakket te hebben.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan