Замена Excel-Word не работает для колонтитулов - VBA

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

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

Есть код VBA
Листинг программы
  1. [SPOILER]Sub post_data_to_Office()
  2. Dim MyDoc As Word.Document
  3. Dim FileName, strValue, NameStr, ValueStr As String
  4. Dim i As Integer
  5. 'file_text, update_links, read_only, format, prot_pwd, write_res_pwd, ignore_rorec, file_origin, custom_delimit, add_logical, editable, file_access, notify_logical, converter
  6. 'Application.SendKeys "Book.xls"
  7. 'Application.Dialogs(xlDialogFindFile).Show
  8. 'FileName = Application.Dialogs(xlDialogOpen).Show(Arg1:="*.docx", arg3:=true)
  9. FileName = Application.GetOpenFilename("Word Files (*.docx), *.docx")
  10. 'Application.FindFile
  11. If FileName <> False Then
  12. Set MyDoc = GetObject(FileName)
  13. MyDoc.Application.Visible = True
  14. With Application
  15. .Goto .Range("B1")
  16. Set tbl = ActiveCell.CurrentRegion
  17. tbl.Offset(0, 0).Resize(tbl.Rows.count, _
  18. tbl.Columns.count).Select
  19. For i = 1 To tbl.Rows.count - 1
  20. ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate
  21. NameStr = ActiveCell.Value
  22. ValueStr = ActiveCell.Offset(rowOffset:=0, columnOffset:=1).Value
  23. With MyDoc.Content.find
  24. .Text = NameStr
  25. .Replacement.Text = ValueStr
  26. .Forward = True
  27. .Wrap = wdFindContinue
  28. .Execute Replace:=wdReplaceAll
  29. End With
  30. Next i
  31. End With
  32. MyDoc.Application.Activate
  33. Set MyDoc = Nothing
  34. Else
  35. MsgBox ("ГґГ*éë Г*ГҐ âûáðГ*Г*!")
  36. End If
  37. End Sub[/SPOILER]
В теле документа всё работает. Колонтитул не трогает... Уважаемые, как подправить код, чтобы замена происходила и в колонтитулах (сейчас нужен верхний). Спасибо.

Решение задачи: «Замена Excel-Word не работает для колонтитулов»

textual
Листинг программы
  1.     For Each aStory In MyDoc.StoryRanges
  2.         With aStory.Find
  3.             .Text = NameStr
  4.             .Replacement.Text = ValueStr
  5.             .Forward = True
  6.             .Wrap = wdFindContinue
  7.             .Execute Replace:=wdReplaceAll
  8.         End With
  9.     Next aStory

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


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

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

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

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

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

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