Создание документа MS Word из кода VB

Узнай цену своей работы

Формулировка задачи:

Привет всем ! Как из программы на VB создать документ MS Word, поместить в него таблицу и заполнить данными из базы Access 97 ? Плиз, пример... Срочно. Заранее спасибо.

Решение задачи: «Создание документа MS Word из кода VB»

textual
Листинг программы
  1. Private Sub Command2_Click()
  2. If Data1.Recordset.RecordCount > 0 Then
  3. Data1.Recordset.MoveLast
  4. Data1.Recordset.MoveFirst
  5. Set WordApp = New Word.Application
  6. On Error Resume Next
  7. WordApp.Documents.Add (App.Path & 'SunSparkHeb.dot')
  8. dat = Format(Date, 'dd.MM.yyyy')
  9. Set doc = WordApp.ActiveDocument
  10. Set sel = WordApp.Selection
  11. strText = 'list of students of course: ' & Trim(Label1.Caption) & ' Group: ' & Left(Me.Caption, 5)
  12. sel.TypeText ('date: ' & dat) 'p1
  13. sel.TypeText (vbCr & strText & vbCr & vbCr) 'p2
  14. If ind1 > 0 Then
  15. doc.Tables.Add Range:=sel.Range, numrows:=1, numcolumns:=7
  16. Else
  17. doc.Tables.Add Range:=sel.Range, numrows:=1, numcolumns:=6
  18. End If
  19. sel.TypeText ('# ID') 'p3
  20. sel.Columns(1).Width = 35
  21. sel.MoveRight (12)
  22. sel.TypeText ('first and last name')
  23. 'sel.Columns(1).Width = 65
  24. sel.MoveRight (12)
  25. sel.TypeText ('passport')
  26. 'sel.Columns(1).Width = 67
  27. sel.MoveRight (12)
  28. sel.TypeText ('years old')
  29. 'sel.Columns(1).Width = 65
  30. sel.MoveRight (12)
  31. sel.TypeText ('address')
  32. 'sel.Columns(1).Width = 65
  33. sel.MoveRight (12)
  34. sel.TypeText ('phones')
  35. 'sel.Columns(1).Width = 35
  36. If ind1 > 0 Then
  37. sel.MoveRight (12)
  38. 'sel.TypeText ('e-mail') 'p76
  39. sel.TypeText ('payments')
  40. End If
  41. 'sel.Columns(1).Width = 100
  42. Set db = OpenDatabase(dabName)
  43. Do While Not Data1.Recordset.EOF
  44. sel.MoveRight (12)
  45. sel.TypeText ('' & Data1.Recordset!count_num)
  46. sel.MoveRight (12)
  47. sel.TypeText ('' & Trim(Data1.Recordset!f_name) & ' ' & Trim(Data1.Recordset!l_name))
  48. sel.MoveRight (12)
  49. sel.TypeText ('' & Data1.Recordset!tzeut)
  50. sel.MoveRight (12)
  51. sel.TypeText ('' & Str((Year(Date - CDate(Data1.Recordset!d_bir))) - 1900))
  52. sel.MoveRight (12)
  53. sel.TypeText ('' & Trim(Data1.Recordset!street) & ' ' & Trim(Data1.Recordset!town) & ' ' & Trim(Data1.Recordset!home) & ' ' & Trim(Data1.Recordset!flat))
  54. strTel = ''
  55. If Trim(Data1.Recordset!f_home) <> '' Then
  56. strTel = strTel & Trim(Data1.Recordset!f_home)
  57. End If
  58. If Trim(Data1.Recordset!f_work) <> '' Then
  59. If Trim(strTel) = '' Then
  60. strTel = strTel & Trim(Data1.Recordset!f_work)
  61. Else
  62. strTel = strTel & vbCr & Trim(Data1.Recordset!f_work)
  63. End If
  64. End If
  65. If Trim(Data1.Recordset!f_mobile) <> '' Then
  66. If Trim(strTel) = '' Then
  67. strTel = strTel & Trim(Data1.Recordset!f_mobile)
  68. Else
  69. strTel = strTel & vbCr & Trim(Data1.Recordset!f_mobile)
  70. End If
  71. End If
  72. sel.MoveRight (12)
  73. sel.TypeText (strTel) 'p5
  74. If ind1 > 0 Then
  75. sel.MoveRight (12)
  76. Set rs0 = db.OpenRecordset('select * from contact where nir_num=' & Data1.Recordset!nir_num, dbOpenDynaset, False, dbOptimistic)
  77. rs0.MoveFirst
  78. sel.TypeText ('price ' & rs0!sum_all & vbCr & 'payment ' & rs0!sum_plat + rs0!sum_avans & vbCr & 'ostatok' & rs0!sum_all - rs0!sum_plat - rs0!sum_avans)
  79. rs0.Close
  80. End If
  81. Data1.Recordset.MoveNext
  82. Loop
  83. db.Close
  84. Data1.Recordset.MoveFirst
  85. WordApp.Documents(1).Paragraphs(1).Alignment = wdAlignParagraphLeft
  86. WordApp.Documents(1).Paragraphs(2).Style = 'H3'
  87. WordApp.Documents(1).Paragraphs(2).Alignment = wdAlignParagraphCenter
  88. WordApp.Visible = True
  89. Set WordApp = Nothing
  90. End If
  91. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы