Показать полную графическую версию : [решено] Долго открываются документы MS Word.
Есть 2 компа, к одному подключен принтер, но сейчас за ним никто не сидит. Проблема в том, что если этот комп выключен, то на втором вордовские файлы очень долго открываются. Если отключить сеть, то все нормализуется. Если выключить принтер, то долго грузится только 1 раз для каждого документа, а все последующие загрузки этого дока проходят быстро. Если включить комп с принтером, то все грузится быстро. Если отключить службу "Очередь печати" то тоже все норм.
Вопрос: почему?
Delirium
25-05-2011, 08:49
Собственно ты сам ответил на свой вопрос. Потому, что Word пытается достучаться до отключенной машины и пока не пройдет таймаут подключения, будет тормозить. Вариант решения - установить левый виртуальный принтер и назначить его принтером по умолчанию. А для печати вручную выбирать нужный принтер.
то долго грузится только 1 раз для каждого документа, а все последующие загрузки этого дока проходят быстро. »
Это нормально.
Проблема в том, что если этот комп выключен, то на втором вордовские файлы очень долго открываются. »Возможно ищет по истории открытых файлов.
Если отключить сеть, то все нормализуется. »Всё верно. Не лезет в сеть за историей.
Если отключить службу "Очередь печати" то тоже все норм. »
Очистите папку \WINDOWS\system32\spool\PRINTERS
Потому, что Word пытается достучаться до отключенной машины »
Мне вот интересно, зачем он это делает?
Brainiacs
01-02-2012, 23:39
Доброго времени!
Купили сотруднику новый комп, всё лицензионное (Windows 7 Pro и Office 2007). Раньше был Windows XP и Office 2003 (все открывалось быстро), соответственно перенесли все документы на новый комп и теперь все вордовские документы открывают по 20 секунд (только в ворде такая ситуация) Новые документы открываются моментально! Пробовали переустанавливать, тоже самое!
Может кто подскажет в какую сторону копать???? Причем у себя на двух компах проверил, на одном 7 с 2007 на другом XP c 2003, всё тоже самое, по 20 секунд открывает вордовский документ! В Openoffice эти файлы открываются в лёт!!!
И в итоге когда открывается, какой-то странный шрифт пишет - Frutiger 47LightCn!
Подскажите, что где посмотреть????
Кстати, если сеть отключить начинает быстро открываться!!!
With Best Regards
Brainiacs
Petya V4sechkin
02-02-2012, 17:14
Brainiacs, попробуйте рекомендации KB833041 (http://support.microsoft.com/kb/833041/en-us).
Выложите лог Process Monitor (http://technet.microsoft.com/ru-ru/sysinternals/bb896645) при открытии файла (меню File -> Save) в архиве на любой файлообменник. Если система 32-битная, сохраните в PML-формате, а если 64-битная - в CSV-формате.
Brainiacs
03-02-2012, 10:45
Petya V4sechkin
Logfile.PML (http://rghost.ru/private/36313679/18d596998fc89f37437eca56ab430f2e)
Fix поставил - тоже самое!
В безопасном режиме - тоже самое!
With Best Regards
Brainiacs
Petya V4sechkin
03-02-2012, 21:49
Brainiacs, в логе попытки открыть шаблон в несуществующей сетевой папке
\\fileserver2\USERS$\sba\My Documents\Brand Manual\Brand Manual\templates Norit russia\Templates NV\Norit NV - brief - ENG, V060403.dot
Удаление метаданных из документов в Word 2003 (http://support.microsoft.com/kb/825576/ru)
Работа с шаблонами в программах выпуска 2007 системы Microsoft Office (http://support.microsoft.com/kb/924460/ru)
Brainiacs
06-02-2012, 18:18
Да точно, разобрался, с вашей Petya V4sechkin помощью, короче шаблон встроен в документ (их кстати много)!
\\fileserver2\USERS$\sba\My Documents\Brand Manual\Brand Manual\templates Norit russia\Templates NV\Norit NV - brief - ENG, V060403.dot - шаблон,
который он хочет зацепить (мозгов надо много, чтобы так сделать)
Параметры Word -- Надстройки -- Управление -- Шаблоны (перейти) и видем:
http://savepic.su/1273593m.jpg (http://savepic.su/1273593.htm)
Вообщем можно этот путь удалить и всё будет быстро открываться (он под Normal.dot(x) потом открывается)!
Внимание вопрос, а если файлов 1000 (ну их много очень), можно ли сделать, чтобы они под Normal.dot открывались????
Если выделить несколько файлов и нажать свойства, там есть Удаление свойств и личной информации,
но эта фигня не работает, даже на одном файле. Только в самом ворде.
http://savepic.su/1297147m.jpg (http://savepic.su/1297147.htm)
Вторая ссылочка (http://support.microsoft.com/kb/924460/ru) про 2007, последняя рекомендация
(Изменение параметров реестра Windows для местоположения файлов шаблонов пользователя и местоположения файлов общих шаблонов)
Это то что нужно или нет, а то я что-то не очень понимаю???
With Best Regards
Brainiacs
Вообщем можно этот путь удалить и всё будет быстро открываться (он под Normal.dot(x) потом открывается)! »
То есть, когда Вы удаляете данный путь в диалоговом окне и сохраняете документ, то при следующем открытии этого документа там содержится путь к «normal.dotx», так?
Внимание вопрос, а если файлов 1000 (ну их много очень), можно ли сделать, чтобы они под Normal.dot открывались???? »
Можно попробовать написать макрос/скрипт. Как Вам удобнее будет указать все эти файлы?
Это то что нужно или нет, а то я что-то не очень понимаю??? »
Насколько я понимаю — нет. Ссылка на шаблон уже наличествует в документе.
Brainiacs
07-02-2012, 18:12
Iska
То есть, когда Вы удаляете данный путь в диалоговом окне и сохраняете документ, то при следующем открытии этого документа там содержится путь к «normal.dotx», так?
Да, именно так и всё очень быстро открывается. ( Ну он не полный путь пишет конечно, который по умолчанию в случае Office 2007 - "C:\Users\UserName\AppData\Roaming\Microsoft\Шаблоны", а просто Normal.dotm)
Можно попробовать написать макрос/скрипт. Как Вам удобнее будет указать все эти файлы?
А как лучше? Может быть по расширению?
With Best Regards
Brainiacs
Да, именно так и всё очень быстро открывается. ( Ну он не полный путь пишет конечно, который по умолчанию в случае Office 2007 - "C:\Users\UserName\AppData\Roaming\Microsoft\Шаблоны", а просто Normal.dotm) »
Спасибо, ясно. Проверил — можно попробовать сделать. Примерный код прост донельзя:
With ActiveDocument
.AttachedTemplate = ""
.Save
End With
Уточните следующее…
Как Вам удобнее будет указать все эти файлы? »
Я имел в виду:
1) как расположены эти документы:
* в одной папке;
* в нескольких папках;
* в одной папке и вложенных в неё;
* разбросаны произвольно по всему дисковому пространству?
2) как эти документы (с присоединённым шаблоном:
\\fileserver2\USERS$\sba\My Documents\Brand Manual\Brand Manual\templates Norit russia\Templates NV\Norit NV - brief - ENG, V060403.dot »
соотносятся своим расположением с другими документами Word?
3) Данный шаблон единственный (тогда можно перебирать всё подряд, ориентируясь на точное имя шаблона) или может статься, могут быть и другие «тормозящие» документы с иным несуществующим шаблоном?
Проще говоря — каким образом указать эти документы среди прочих файлов наиболее удобным для Вас способом. Вы ведь не будете тысячу раз выбирать в диалоговом окне «Open File» по одному документу ;)?!
Brainiacs
08-02-2012, 03:31
Iska
Я имел в виду: 1) как расположены эти документы: * в одной папке; * в нескольких папках; * в одной папке и вложенных в неё; * разбросаны произвольно по всему дисковому пространству?
Собственно, чтобы упростить задачу, я могу собрать их все, в одной папке, они конечно же в свою очередь разбросаны по всяким папкам!!!
2) как эти документы (с присоединённым шаблоном:
Безусловно с некоторыми из этих файлов, находятся и нормальные!!!
3) Данный шаблон единственный......
А вот этот вариант, я думаю самый правильный, т.к. если найдется документ с другим шаблоном, то в скрипте (как я понимаю)
можно будет заменить имя шаблона на нужное (и мало того использовать его для какого-нибудь другого массового изменений вордовских файлов) !!!!
Так как я не думаю, что найдется ещё один "гений"(P.S. а как бы Вы его назвали, в ПМ))) ) , который в документах предназначенных
не только для внутреннего обмена будет указывать сетевой путь для шаблона (единственное конечно, что он мог несколько шаблонов сделать - ну да ладно)
Ну и к делу: если написание скрипта не очень времязатратно, я бы был очень благодарен Вам (ну и безусловно с меня пиво - уже), если бы Вы помогли решить эту, я бы сказал не проблему, а глупость?!?!
With Best Regards
Brainiacs
Собственно, чтобы упростить задачу, я могу собрать их все, в одной папке, они конечно же в свою очередь разбросаны по всяким папкам!!! »
Раз Вы можете проделать такое — я предложу следующее решение: собрать все пути к потребным файлам в текстовый файл (который уже и будет обрабатывать скрипт/макрос).
Сделать сие можно с помощью какого-либо стороннего файлового менеджера, например, Far Manager'а или Total Commander'а, або с помощью какого-либо расширения контекстного меню, позволяющего скопировать из результатов поиска Windows пути к файлам, например, Open++ или FileMenu Tools и т.п (в случае поиска Windows у меня, к сожалению, в список попадают и документы из zip-архивов).
Одним словом, у Вас должен получиться в итоге текстовый файл в кодировке ANSI примерно такого вида:
C:\Temp\Hello World.doc
…
…
E:\Песочница\0053\kopiya.doc
E:\Песочница\0014\0001\Обзор объекта автоматизации Photoshop.doc
в котором будут находиться пути к потребным документам.
Вот скрипт VBScript:
Option Explicit
Dim strDocumentList
Dim strBadTemplate
Dim strDocument
Dim objFSO
Dim objWord
strDocumentList = "E:\Песочница\0116\DocumentList.txt"
strBadTemplate = "\\fileserver2\USERS$\sba\My Documents\Brand Manual\Brand Manual\templates Norit russia\Templates NV\Norit NV - brief - ENG, V060403.dot"
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(strDocumentList) Then
Set objWord = WScript.CreateObject("Word.Application")
With objFSO.OpenTextFile(strDocumentList)
Do Until .AtEndOfStream
strDocument = .ReadLine()
If objFSO.FileExists(strDocument) Then
WScript.Echo strDocument
With objWord.Documents.Open(strDocument)
If .AttachedTemplate = strBadTemplate Then
WScript.Echo " Template found in document [" & strDocument & "]"
.AttachedTemplate = "Normal.dotm"
.Save
End If
.Close
End With
Else
WScript.Echo "Document [" & strDocument & "] not found"
End If
Loop
.Close
End With
objWord.Quit
Set objWord = Nothing
Else
WScript.Echo "Document list [" & strDocumentList & "] not found"
End If
Set objFSO = Nothing
WScript.Quit 0
Укажите в нём в переменной «strDocumentList» путь к Вашему файл-списку с собранными документами и попробуйте.
Brainiacs
14-02-2012, 09:22
Iska
Не работает, что-то скриптик! Файл он открывает, но шаблон не удаляет и не заменяет!
И ещё он когда echo отрабатывает, это ж надо будет на каждый файл "ок" нажимать, иначе он дальше не идет!!!
Пробовал, я .AttachedTemplate вместо "Normal.dotm" --> " ", ворд (visual basic) так делает когда просто стираешь путь к шаблону, но тоже не помогает!
Как-то надо просто удалить путь к шаблоны и сохранить файл, и ворд потом при открытии сам к "Normal.dotm" обратиться!
P.S.
Я надеюсь Вы не против, я разместил Ваш скриптик, ещё на нескольких форумах, для доработки!
Если против, могу удалить?!
With Best Regards
Brainiacs
И ещё он когда echo отрабатывает, это ж надо будет на каждый файл "ок" нажимать, иначе он дальше не идет!!! »
Brainiacs, у меня есть хорошая привычка запускать скрипты в консоли, чего и Вам желаю:
cscript.exe //nologo "<Путь к скрипту>"
Не работает, что-то скриптик! Файл он открывает, но шаблон не удаляет и не заменяет! »
1. А он хоть находит-то документы с шаблоном? То есть пишет хоть иногда «Template found in document [bla-bla-bla]»?
2. Если пишет, то попробуйте следующие варианты:
* именно пустую строку, а не пробел:
.AttachedTemplate = ""
* полный путь к «Normal.dotm»:
.AttachedTemplate = "C:\Users\UserName\AppData\Roaming\Microsoft\Шаблоны\Normal.dotm"
подставив вместо «UserName» конкретное значение.
Я надеюсь Вы не против, я разместил Ваш скриптик, ещё на нескольких форумах, для доработки!
Если против, могу удалить?! »
Ничуть. Только за. Ибо у меня-то нет Office 2007, я пробую на предыдущей версии.
Brainiacs
15-02-2012, 09:54
у меня есть хорошая привычка запускать скрипты в консоли, чего и Вам желаю:
Понял!
1. А он хоть находит-то документы с шаблоном? То есть пишет хоть иногда «Template found in document [bla-bla-bla]»?
Да файл он находит, открывает его и закрывает, ничего не меняется (дата изменения не меняется, как будто бы просто - открыл/закрыл)!
http://img194.imageshack.us/img194/8683/scriptuw.jpg (http://imageshack.us/photo/my-images/194/scriptuw.jpg/)
пишет только см. скрин
2. Если пишет, то попробуйте следующие варианты:
Никакой из вариантов - не работает!
With Best Regards
Brainiacs
Значит, не находит. Ибо, если бы нашёл — писал бы ещё кроме пути, как я уже сказал выше, следующее:
Template found in document [bla-bla-bla]
Давайте-ка посмотрим, какие на самом деле там прикреплённые шаблоны. Выполните такой скрипт:
Option Explicit
Dim strDocumentList
Dim strDocument
Dim objFSO
Dim objWord
strDocumentList = "E:\Песочница\0116\DocumentList.txt"
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(strDocumentList) Then
Set objWord = WScript.CreateObject("Word.Application")
With objFSO.OpenTextFile(strDocumentList)
Do Until .AtEndOfStream
strDocument = .ReadLine()
If objFSO.FileExists(strDocument) Then
WScript.Echo strDocument
With objWord.Documents.Open(strDocument)
WScript.Echo " " & .AttachedTemplate
.Close
End With
Else
WScript.Echo "Document [" & strDocument & "] not found"
End If
Loop
.Close
End With
objWord.Quit
Set objWord = Nothing
Else
WScript.Echo "Document list [" & strDocumentList & "] not found"
End If
Set objFSO = Nothing
WScript.Quit 0
в виде:
cscript.exe //nologo "<Путь к скрипту>" >c:\0001.txt
опять указав в «strDocumentList» путь к Вашему списку. Полученный в результате исполнения скрипта файл «c:\0001.txt» упакуйте в архив и прикрепите к сообщению (либо выложите на обменник, а сюда — ссылку).
Brainiacs
21-02-2012, 09:23
Значит, не находит. Ибо, если бы нашёл — писал бы ещё кроме пути, как я уже сказал выше, следующее:
Да нет, всё он находит, файл открывает (я вижу это т.к. создаётся темповский файл ворда см. аттач) но не меняется дата изменения, такое впечатление, что он его просто закрывает и открывает!!!
Ваш последний скриптик выдаёт следующее:
http://img813.imageshack.us/img813/3959/normallo.jpg (http://imageshack.us/photo/my-images/813/normallo.jpg/)
Только там не normal.dotm, а \\fileserver2\USERS$\sba\My Documents\Brand Manual\Brand Manual\templates Norit russia\Templates NV\Norit NV - brief - ENG, V060403.dot!!!!!
With Best Regards
Brainiacs
Да нет, всё он находит, файл открывает (я вижу это т.к. создаётся темповский файл ворда см. аттач) но не меняется дата изменения, такое впечатление, что он его просто закрывает и открывает!!! »
Естественно. Скрипт не будет ничего менять-сохранять, пока ему не попадётся документ с искомым присоединённым шаблоном.
Только там не normal.dotm, а \\fileserver2\USERS$\sba\My Documents\Brand Manual\Brand Manual\templates Norit russia\Templates NV\Norit NV - brief - ENG, V060403.dot!!!!! »
Brainiacs, вот я и хочу увидеть этот самый:
\\fileserver2\USERS$\sba\My Documents\Brand Manual\Brand Manual\templates Norit russia\Templates NV\Norit NV - brief - ENG, V060403.dot »
во вложенном файле «0001.txt». Но не вижу.
«Натравите» скрипт из #18 (http://forum.oszone.net/post-1859404.html#post1859404) на полный список документов, а не на один-единственный документ.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC