Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/22: Рейтинг темы: голосов - 22, средняя оценка - 4.91
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575

Управление буфером обмена Office

22.08.2009, 19:40. Показов 4348. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Кто знает, или дайте ссылку почитать, как работать с буфером обмена Office в VBA. Мне надо туда копировать колонтитулы, поэтому нужно копировать много элементов, а не один.
Заранее спасибо.

Вот так можно скопировать в буфер обмена Office все верхние колонтитулы. Только при этом должен быть открыт Буфер обмена:
Visual Basic
1
2
3
4
5
6
7
8
Sub CopyHeadersFooters()
Dim oSec As Section, oHeadr As HeaderFooter
    For Each oSec In ActiveDocument.Sections
    For Each oHeadr In oSec.Headers
      oHeadr.Range.Copy
    Next oHeadr
  Next oSec
End Sub
А никто не в курсе, как копировать только видимые колонтитулы? Т.е. каждый раздел имеет колонтитул первой страницы и основной колонтитул. Если раздел состоит из одной страницы, то мы видим лишь только один колонтитул: или колонтитул первой страницы или же основной колонтитул.
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.08.2009, 19:40
Ответы с готовыми решениями:

Работа с буфером обмена
Коллеги, как узнать - с какого листа текущей книги взята в буфер обмена некоторая область (и взята ли и с этой ли книги и что объект этот -...

Работа с буфером обмена
Есть что-нибудь в WMI или Shell для работы с буфером обмена?

Работа с буфером обмена
Как сделать копирование выделенного объекта в буфер windows и вставку из буфера объекта (или просто эмуляцию ctrl+c и ctrl+v) через макрос...

3
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
23.08.2009, 20:45  [ТС]
Вот насочинял (только делается при открытом буфере обмена):
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
Sub HeaderCopy()
On Error GoTo footercopy
Selection.HomeKey Unit:=wdStory
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    Do
    Selection.WholeStory
    Selection.Copy
    ActiveWindow.ActivePane.View.NextHeaderFooter
    Loop
footercopy:
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
    Application.Run "footercopy"
End Sub
Sub footercopy()
On Error GoTo ExitSub
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
    Do
    Selection.WholeStory
    Selection.Copy
    ActiveWindow.ActivePane.View.NextHeaderFooter
    Loop
ExitSub:
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
End Sub
1
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
26.08.2009, 21:07  [ТС]
Вот модификация этого макроса (ведь не зря же я искал Word 6.0):
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
Sub HeaderCopy()
On Error GoTo footercopy
Selection.HomeKey Unit:=wdStory
WordBasic.EditOfficeClipboard
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
    Do
    Selection.WholeStory
    Selection.Copy
    ActiveWindow.ActivePane.View.NextHeaderFooter
    Loop
footercopy:
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
    Application.Run "footercopy"
End Sub
Sub footercopy()
On Error GoTo ExitSub
ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageFooter
    Do
    Selection.WholeStory
    Selection.Copy
    ActiveWindow.ActivePane.View.NextHeaderFooter
    Loop
ExitSub:
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocumentEnd Sub
End Sub
1
IFU
23.04.2010, 12:52
Цитата Сообщение от Busine2009 Посмотреть сообщение
Только при этом должен быть открыт Буфер обмена:
Application.ShowClipboard
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.04.2010, 12:52
Помогаю со студенческими работами здесь

Excel работа с буфером обмена
Возникла проблема с макросом для Excel Задача следующая: На рабочем листе выделены несколько строк. Макрос находит выделенные строки...

Работа с буфером обмена в VBA
Всем доброго времени суток! Столкнулся с такой проблемой: в экселе имеется список числовых шифров (персональный номер каждого работника),...

Регистрация RichTextBox и работа с его буфером обмена
Для раскрашивания текста в диалоговом окне я использую Richtx32.ocx. Накопилось несколько проблем, которые хотелось бы решить: 1)...

Управление несколькими различными приложениями MS Office из одного макроса
Всем доброго времени суток! Заранее извиняюсь за нубский вопрос. В VB/VBS/VBA новичок. Подскажите, пожалуйста, возможно ли сделать что-то...

Скорость работа макросов (закладки) в MS Office 2003 и MS Office 2010
Здравствуйте. Ситуация следующая: файл шаблона в MS Office 2003 заполняется данными 21 сек, а в MS Office 2010 - 131 сек. Помогите...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru