Вывести результат в файл - VBA

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

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

Вычислить количество игрушек, изготовленных в Китае и России, распечатать сведения об этих игрушках. Есть набросок: спасибо)
Листинг программы
  1. Option Explicit
  2. Type Toys
  3. Name As String * 50
  4. Country As String * 35
  5. Cost As Integer
  6. Amount As Integer
  7. Age As Integer
  8. End Type
  9. Sub StructWrite()
  10. Dim i As Integer, Count As Integer
  11. Dim Record As Toys
  12. Count = InputBox("Сколько видов игрушек следует ввести? ")
  13. Open Application.ActiveWorkbook.Path & "\toys.txt" For Random As #1
  14. For i = 1 To Count
  15. Record.Name = InputBox("Введите название игрушки: ")
  16. Record.Country = InputBox("Введите страну-производителя: ")
  17. Record.Cost = InputBox("Введите стоимость игрушек: ")
  18. Record.Amount = InputBox("Введите количество игрушек: ")
  19. Record.Age = InputBox("Введите возрастные ограничение для игрушки: ")
  20. Put #1, i, Record
  21. Next i
  22. Close #1
  23. End Sub
  24. Sub StructRead()
  25. Dim MiddleAmount As Double, Position As Integer
  26. Dim ReadRecord As Toys
  27. Position = 1
  28. MiddleAmount = 0
  29. Open Application.ActiveWorkbook.Path & "\toys.txt" For Random As #1
  30. Do
  31. Get #1, Position, ReadRecord
  32. Position = Position + 1
  33. MiddleAmount = MiddleAmount + ReadRecord.Amount
  34. Loop Until EOF(1)
  35. MiddleAmount = Fix(MiddleAmount / (Position - 1))
  36. MsgBox ("Среднее количество игрушек: " & MiddleAmount)
  37. Position = 1
  38. Open Application.ActiveWorkbook.Path & "\selecttoys.txt" For Append As #2
  39. Do
  40. Get #1, Position, ReadRecord
  41. Position = Position + 1
  42. If ReadRecord.Amount > MiddleAmount Then
  43. Print #2, "Название: "; ReadRecord.Name;
  44. Print #2, "Страна-производитель: "; ReadRecord.Country;
  45. Print #2, "Стоимость: "; ReadRecord.Cost;
  46. Print #2, "Количество: "; ReadRecord.Amount;
  47. Print #2, "Возрастные ограничение: "; ReadRecord.Age;
  48. End If
  49. Loop Until EOF(1)
  50. Close #1
  51. Close #2
  52. End Sub

Решение задачи: «Вывести результат в файл»

textual
Листинг программы
  1. Sub structreadTEXT()
  2.    Dim record As Toys, i
  3.    Open Application.ActiveWorkbook.Path & "\toys.txt" For Random As #2
  4.    Open Application.ActiveWorkbook.Path & "\toysTEXT.txt" For Output As #3
  5.    Print #3, "|Название:                                         |Страна-изготовитель:                |Цена |кол-во |Возр."
  6.    Do While Not EOF(2)
  7.       i = i + 1
  8.       Get #2, i, record
  9.       Print #3, record.Name & vbTab & Space(3) & record.Country & Space(3) & vbTab & record.Cost & _
  10. Space(3) & vbTab & vbTab & record.Amount & Space(3) & vbTab & vbTab & record.Age
  11.    Loop
  12.    Close
  13. End Sub

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


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

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

12   голосов , оценка 4.25 из 5

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

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

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