Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщений [ 2 ]
- moshkov_aleshka
- рядовой
- Неактивен
- Зарегистрирован: 18.03.2016
- Сообщений: 1
Тема: Отображение работы макроса word при пакетной обработке
По специфике работы нужен макрос который чистит колонтитулы документов. Макрос кое как криво сварганил - вроде работает. Но возникла проблема поскольку макрос работает в пакете он постоянно открывает новые окна документа. Можно как то сделать чтоб макрос выполнялся в фоне при закрытом мс word либо чтоб был открыт только один ворд и не было миганий.
Текст макроса:
Sub ProcessFiles2()
Application.ScreenUpdating = False
Dim mypath As String
Dim MyFile As String
Dim adoc As Document
mypath = "D:\Temp\Files\"
MyFile = Dir(mypath)
Do While MyFile <> ""
If MyFile Like "*.doc*" Then
Set adoc = Nothing
On Error Resume Next
Set adoc = Documents.Open(mypath & MyFile)
On Error GoTo 0
If Not (adoc Is Nothing) Then
Dim sec As Section
Dim hf As HeaderFooter
Dim rng As Range
For Each sec In ActiveDocument.Sections
For Each hf In sec.Headers
hf.Range.Delete
Next hf
For Each hf In sec.Footers
hf.Range.Delete
Next hf
Next sec
End If
adoc.Close savechanges:=wdSaveChanges
End If
MyFile = Dir
Loop
End Sub
Изначально был в двух макросах
Sub ProcessFiles()
Dim mypath As String
Dim MyFile As String
Dim adoc As Document
mypath = "D:\Temp\Files\"
MyFile = Dir(mypath)
Do While MyFile <> ""
If MyFile Like "*.doc*" Then
Set adoc = Nothing
On Error Resume Next
Set adoc = Documents.Open(mypath & MyFile)
On Error GoTo 0
If Not (adoc Is Nothing) Then
ProcessFile
End If
adoc.Close savechanges:=wdSaveChanges
End If
MyFile = Dir
Loop
End Sub
Sub ProcessFile()
Dim sec As Section
Dim hf As HeaderFooter
Dim rng As Range
For Each sec In ActiveDocument.Sections
For Each hf In sec.Headers
hf.Range.Delete
Next hf
For Each hf In sec.Footers
hf.Range.Delete
Next hf
Next sec
End Sub
Но и в том и в том варианте мигание просто выносит мозг особенно когда нужно обработать большое количество документов.
- mikkelle
- полковник
- Неактивен
- Зарегистрирован: 21.01.2010
- Сообщений: 227
- Поблагодарили: 12
- За сообщение: 1
Re: Отображение работы макроса word при пакетной обработке
При закрытом ворде макрос ворда некому будет выполнять.
Можно открыть обрабатываемый документ в скрытом режиме:
Set MyDoc = Documents.Open(FileName:=myName, Visible:=False)
Или скрыть его принудительно при запуске макроса на выполнение:
MyDoc.Windows(1).Visible = False
Сообщений [ 2 ]
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Отображение работы макроса word при пакетной обработке
Делать одну и ту же работу можно различными способами. Каждый человек старается найти для себя оптимальный по трудозатратам и времени. Наш сайт о Microsoft Office Word даст ответ про: антоним к слову весь.
Если рассматривать работу в редакторе Microcoft Word, то найти оптимальные решения вам помогут на сайте и форуме Ворд Эксперт. Наш сайт о Microsoft Office Word даст ответ про: как пронумеровать страницы с 4 в word 2003.
В первую очередь обратите внимание на верхний раздел, где, представлены ответы на вопросы и решения самых типичных проблем, с которыми сталкивается пользователь. На портале о Microsoft Office Word вы узнаете про: антоним к слову создавать.
Тут же список литературы, которая может вам пригодится.
В основных разделах обсуждаются вопросы, связанные с настройками программы, форматированием и оформлением текстов. Наш сайт о Microsoft Office Word даст ответ про: надо ствить красную строку там где слова с пробелом.
Много внимания уделено автоматизации. На форуме вы найдете инструкции по созданию шаблонов, макросов, схемы автоматизации работы, полезные сочетания горячих клавиш. Наш сайт о Microsoft Office Word даст ответ про: как залить блок - схему в ворде 2007.
Можно найти готовое решение или оставить заявку.