|
Подстава от word 2010
|
|||
---|---|---|---|
#18+
Help! Проблема такая. Есть некоторое количество (много - порядка тысяч) однотипных документов формата .doc - это технологические кары. Требуется в верхнем колонтитуле всех открытых документов (за раз открывается обычно не более 10..15 нужных в настоящий момент) прописать имя файла (оно стандартизировано) и закрыть документы, с сохранением, естественно. Сугубо практическая задача. В office 2000..2003 с этим легко справлялся макрос: Sub Packet_Colontitle_Rename() ' ' Packet_Colontitle_Rename Макрос ' Макрос записан 28.04.2009 ' If Application.Documents.Count = 0 Then MsgBox "Нет открытых документов" Exit Sub Else Do While Application.Documents.Count <> 0 If ActiveWindow.View.SplitSpecial <> wdPaneNone Then ActiveWindow.Panes(2).Close End If If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _ ActivePane.View.Type = wdOutlineView Then ActiveWindow.ActivePane.View.Type = wdPrintView End If ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader Selection.WholeStory ActiveDocument.AttachedTemplate.AutoTextEntries("Имя файла").Insert Where _ :=Selection.Range, RichText:=True ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument ActiveWindow.Close Loop End If If Application.Documents.Count = 0 Then MsgBox "Изменения внесены" End If End Sub Просто и доходчиво, писано макрорекордером Word с небольшими доработками. После добровольно-принудительного перехода организации на MSO2010 произошла неприятность такого плана: в MSO2000..2003 Word открывает документы в одном экземпляре приложения, соответственно VBA видит их все и по очереди обрабатывает. В 2010-м (да и в 2007-м, насколько я имел несчастье с ним работать), количество одновременно открытых документов есть количество запущенных экземпляров приложения... Соответственно, Application.Documents.Count всегда = 1 и весь смысл вышеприведенной конструкции теряется. Что посоветуете? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.09.2013, 20:11 |
|
Подстава от word 2010
|
|||
---|---|---|---|
#18+
bogv167.doc - это технологические карыТут не поспоришь, Word - это действительно кара , причём весьма технологическая ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2013, 00:54 |
|
Подстава от word 2010
|
|||
---|---|---|---|
#18+
bogv167, Чепуха, открывайте через меню Файл хоть сотню файлов, все они будут в одном экземпляре. Тут еще похожая тема: http://www.excel-vba.ru/forum/index.php?topic=2421.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2013, 01:08 |
|
Подстава от word 2010
|
|||
---|---|---|---|
#18+
по-моему, если запускать WinWord с любым, даже с пустым ключом, то открывается новая копия вот так: winword / Имхо1.doc Как вы вызваете сабж? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.09.2013, 09:09 |
|
Подстава от word 2010
|
|||
---|---|---|---|
#18+
kuklp, благодарю за поддержку. Действительно, если открыть файлы не из папки (выделив нужные и нажав Enter), а через Файл > Открыть, то все документы открываются в одном процессе. Если же открыть через Enter, то запускается столько же процессов, сколько выбрано файлов. Как-то через ж... открывается, неудобно (или надо привыкнуть) но макрос теперь работает. MSO2000 открывал все в одном процессе первым способом. Ну и сам код пришлось немного подправить, это уже дело техники. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.09.2013, 15:15 |
|
Подстава от word 2010
|
|||
---|---|---|---|
#18+
bogv167kuklp, благодарю за поддержку. Действительно, если открыть файлы не из папки (выделив нужные и нажав Enter), а через Файл > Открыть, то все документы открываются в одном процессе. Если же открыть через Enter, то запускается столько же процессов, сколько выбрано файловпосмотри в реестре, как вызываются вордовые документы я уже писал об этом чуть выше ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2013, 08:29 |
|
Подстава от word 2010
|
|||
---|---|---|---|
#18+
andreymxbogv167kuklp, благодарю за поддержку. Действительно, если открыть файлы не из папки (выделив нужные и нажав Enter), а через Файл > Открыть, то все документы открываются в одном процессе. Если же открыть через Enter, то запускается столько же процессов, сколько выбрано файловпосмотри в реестре, как вызываются вордовые документы я уже писал об этом чуть выше andreymx, пжл, поконкретнее, где именно в реестре? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2013, 14:05 |
|
Подстава от word 2010
|
|||
---|---|---|---|
#18+
bogv167, точно не помню что-то вроде веток с названием ...Microsoft Word\shell\edit\command у меня там @="\"C:\\Program Files\\Microsoft Office\\Office14\\WINWORD.EXE\" /n \"%1\"" хотя точного значения ключей я так и не нашёл это было 2 или 3 года назад, не всё помню ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2013, 15:19 |
|
Подстава от word 2010
|
|||
---|---|---|---|
#18+
andreymxbogv167, точно не помню что-то вроде веток с названием ...Microsoft Word\shell\edit\command у меня там @="\"C:\\Program Files\\Microsoft Office\\Office14\\WINWORD.EXE\" /n \"%1\"" хотя точного значения ключей я так и не нашёл это было 2 или 3 года назад, не всё помню OK, попробую ... |
|||
:
Нравится:
Не нравится:
|
|||
27.09.2013, 15:33 |
|
Подстава от word 2010
|
|||
---|---|---|---|
#18+
[quot bogv167]andreymx, похоже, дело не в реестре... (в чем - не пойму). Во-первых, у меня в указанных ветках те же значения, что и у вас. Во-вторых, проверил на нескольких компах, у всех файлы doc в MSO2007-2010 открываются именно так, как я описывал ранее Ну и ключи: http://office.microsoft.com/ru-ru/word-help/HP010164010.aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2013, 17:57 |
|
|
start [/forum/search_topic.php?author=zk&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
12ms |
get forum list: |
16ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 712ms |
total: | 864ms |
0 / 0 |