Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 02.02.2016
Сообщений: 25

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

25.08.2016, 17:21. Показов 2471. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть код VBA
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
[SPOILER]Sub post_data_to_Office()
 Dim MyDoc As Word.Document
 Dim FileName, strValue, NameStr, ValueStr As String
 Dim i As Integer
'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
'Application.SendKeys "Book.xls"
'Application.Dialogs(xlDialogFindFile).Show
'FileName = Application.Dialogs(xlDialogOpen).Show(Arg1:="*.docx", arg3:=true)
 
FileName = Application.GetOpenFilename("Word Files (*.docx), *.docx")
'Application.FindFile
If FileName <> False Then
Set MyDoc = GetObject(FileName)
MyDoc.Application.Visible = True
 
With Application
.Goto .Range("B1")
 
Set tbl = ActiveCell.CurrentRegion
tbl.Offset(0, 0).Resize(tbl.Rows.count, _
    tbl.Columns.count).Select
For i = 1 To tbl.Rows.count - 1
 ActiveCell.Offset(rowOffset:=1, columnOffset:=0).Activate
 NameStr = ActiveCell.Value
 ValueStr = ActiveCell.Offset(rowOffset:=0, columnOffset:=1).Value
  With MyDoc.Content.find
  .Text = NameStr
  .Replacement.Text = ValueStr
  .Forward = True
  .Wrap = wdFindContinue
  .Execute Replace:=wdReplaceAll
 End With
 
Next i
End With
MyDoc.Application.Activate
Set MyDoc = Nothing
Else
MsgBox ("ôàéë íå âûáðàí!")
End If
End Sub[/SPOILER]
В теле документа всё работает. Колонтитул не трогает...
Уважаемые, как подправить код, чтобы замена происходила и в колонтитулах (сейчас нужен верхний).
Спасибо.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.08.2016, 17:21
Ответы с готовыми решениями:

Макрос для формирования колонтитулов в Word
Когда в документе нет специального колонтитула первой страницы, то макрос выполняется нормально, и на каждой странице выходит правильный...

Обработка колонтитулов в Word 2013
Добрый день! Написал макрос для Word 2013, который должен обрабатывать колонтитулы у произвольного документа. Sub Maсro1() For Each...

Использование колонтитулов в Word-2010
Как сделать в Word-2010 так, чтобы не просто защитить колонтитулы от изменений, а в поле колонтитулов вообще не смогли бы заходить, кроме...

2
 Аватар для KoGG
5636 / 1618 / 418
Регистрация: 23.12.2010
Сообщений: 2,426
Записей в блоге: 1
25.08.2016, 17:45
Лучший ответ Сообщение было отмечено FireTag как решение

Решение

Замените строки 26-32 :
Visual Basic
1
2
3
4
5
6
7
8
9
    For Each aStory In MyDoc.StoryRanges
        With aStory.Find
            .Text = NameStr
            .Replacement.Text = ValueStr
            .Forward = True
            .Wrap = wdFindContinue
            .Execute Replace:=wdReplaceAll
        End With
    Next aStory
2
0 / 0 / 0
Регистрация: 02.02.2016
Сообщений: 25
25.08.2016, 19:33  [ТС]
Спасибо большое! Всё работает!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.08.2016, 19:33
Помогаю со студенческими работами здесь

Удаление колонтитулов в Word 2007
Доброго времени суток. Вопрос: как удалить нижний колонтитул на отдельной странице в середине документа?

Word. Составные формулы в полях колонтитулов
Нужно макросом вставить в поле формулу типа: {={PAGE}+1} (Ctrl+F9 в колонтитулах). Пробовал таким способом Sub test(rng As Range) ...

Удаление колонтитулов в Word 2003 (файл rtf)
Добрый день. У меня есть фалы rtf, которые я открываю в Word 2003, чтобы отформатировать (по мне это проще, чем форматировать через...

Замена текста в Word макросом из Excel
Есть файл Экселя с данными, есть текстовый шаблон Ворда с метками для этих данных Сделал макрос для псевдослияния (штатное слияние...

Удаление колонтитулов из Excel
Всем привет. Просьба очень простая (наверное). Нужно написать макрос, который бы очищал колонтитулы (верх и низ) на листе в книге. Пробовал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru