Results 1 to 2 of 2

Thread: fill fields in MS Word

  1. #1

    Thread Starter
    New Member
    Join Date
    Feb 2003
    Posts
    11

    fill fields in MS Word

    I have a word document with some fields already declared. I want to send values to this fields using VB .Net. If someone already did this please tell me how.

  2. #2
    Hyperactive Member
    Join Date
    Mar 2002
    Location
    Dublin (Ireland)
    Posts
    304
    Don't know whether this will help, but in my own application I use a form letter with bookmarks and then generate forms using data from the database, here is my own example:



    Private Sub StdButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StdButton3.Click
    ' Overdue Rent letter
    If FindResult.Item < 0 Then Exit Sub
    Me.Cursor = Cursors.WaitCursor
    Dim wrdApp As New Word.Application
    Dr1a = Ds1.Tables("PropertyStatus").Rows(FindResult.Item)
    Dim DbNam As String = DbConn.CurrCon
    Dim cn1 As New OleDbConnection(DbNam)
    Dim Oledbstr As String = "Select * from OverDueRents where Tenancy = " & CStr(Dr1a("Tenancy"))
    Dim Cmd1 As OleDbCommand = New OleDbCommand(Oledbstr, cn1)
    cn1.Open()
    Dim Dr1 As OleDbDataReader = Cmd1.ExecuteReader()
    Dr1.Read()

    Dim wrdDoc As Word.Document
    Dim DbPath As String = DbConn.ThisDB


    wrdApp.Documents.Add(Trim(DbPath) & "\LetterText\Rent Reminder.doc")

    wrdDoc = wrdApp.ActiveDocument
    Dim rngRange As Word.Range
    rngRange = wrdDoc.Bookmarks.Item("Date1").Range
    rngRange.InsertAfter(Format(Now, "dd/MM/yyyy"))
    rngRange = wrdDoc.Bookmarks.Item("LeadTenant").Range
    rngRange.InsertAfter(Dr1("LeadTenant"))
    If Dr1("PropertyAdr") <> Dr1("Adr1") Then
    rngRange = wrdDoc.Bookmarks.Item("PropAdr").Range
    rngRange.InsertAfter(Dr1("PropertyAdr"))
    End If

    rngRange = wrdDoc.Bookmarks.Item("Adr1").Range
    rngRange.InsertAfter(Dr1("Adr1"))
    rngRange = wrdDoc.Bookmarks.Item("Adr2").Range
    rngRange.InsertAfter(Dr1("Adr2"))
    If Not IsDBNull(Dr1("Adr3")) Then
    rngRange = wrdDoc.Bookmarks.Item("Adr3").Range
    rngRange.InsertAfter(Dr1("Adr3"))
    End If
    If Not IsDBNull(Dr1("Adr4")) Then
    rngRange = wrdDoc.Bookmarks.Item("Adr4").Range
    rngRange.InsertAfter(Dr1("Adr4"))
    End If
    rngRange = wrdDoc.Bookmarks.Item("Arrears").Range
    rngRange.InsertAfter(Format(Dr1("BalanceOS"), "#,##0.00"))



    Dim DueOn As Date
    Select Case Dr1("PaymentFrequency")
    Case 0
    DueOn = DateAdd(DateInterval.Month, -1, Dr1("NextRentDue"))
    Case 1
    DueOn = DateAdd(DateInterval.Day, -7, Dr1("NextRentDue"))

    Case 2
    DueOn = DateAdd(DateInterval.Day, -14, Dr1("NextRentDue"))

    Case 3
    DueOn = DateAdd(DateInterval.Day, -28, Dr1("NextRentDue"))
    Case 4
    DueOn = DateAdd(DateInterval.Month, -3, Dr1("NextRentDue"))

    Case 5
    DueOn = DateAdd(DateInterval.Month, -6, Dr1("NextRentDue"))

    Case 6
    DueOn = DateAdd(DateInterval.Month, -12, Dr1("NextRentDue"))

    End Select
    Dim DayInMonth As Integer = DateTime.DaysInMonth(DatePart(DateInterval.Year, DueOn), DatePart(DateInterval.Month, DueOn))
    Dim DayNo As Integer = DatePart(DateInterval.Day, DueOn)
    If DayInMonth < DayNo Then
    DueOn = CStr(DayNo) & "/" & CStr(DatePart(DateInterval.Month, DueOn)) & "/" & CStr(DatePart(DateInterval.Year, DueOn))
    End If

    rngRange = wrdDoc.Bookmarks.Item("DueDate").Range
    rngRange.InsertAfter(Format(DueOn, "dd/MM/yyyy"))

    Dr1.Close()
    cn1.Close()
    Cmd1 = Nothing

    wrdApp.Visible = True
    wrdApp.WindowState = Word.WdWindowState.wdWindowStateMaximize
    DataGrid1.UnSelect(FindResult.Item)
    FindResult.Item = -1
    wrdApp = Nothing
    Me.Cursor = Cursors.Default

    End Sub

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width