PDA

Показать полную графическую версию : [решено] Долго открываются документы MS Word.


Страниц : [1] 2

Budeniy
25-05-2011, 08:09
Есть 2 компа, к одному подключен принтер, но сейчас за ним никто не сидит. Проблема в том, что если этот комп выключен, то на втором вордовские файлы очень долго открываются. Если отключить сеть, то все нормализуется. Если выключить принтер, то долго грузится только 1 раз для каждого документа, а все последующие загрузки этого дока проходят быстро. Если включить комп с принтером, то все грузится быстро. Если отключить службу "Очередь печати" то тоже все норм.
Вопрос: почему?

Delirium
25-05-2011, 08:49
Собственно ты сам ответил на свой вопрос. Потому, что Word пытается достучаться до отключенной машины и пока не пройдет таймаут подключения, будет тормозить. Вариант решения - установить левый виртуальный принтер и назначить его принтером по умолчанию. А для печати вручную выбирать нужный принтер.

yurfed
25-05-2011, 08:57
то долго грузится только 1 раз для каждого документа, а все последующие загрузки этого дока проходят быстро. »
Это нормально.
Проблема в том, что если этот комп выключен, то на втором вордовские файлы очень долго открываются. »Возможно ищет по истории открытых файлов.
Если отключить сеть, то все нормализуется. »Всё верно. Не лезет в сеть за историей.
Если отключить службу "Очередь печати" то тоже все норм. »
Очистите папку \WINDOWS\system32\spool\PRINTERS

Budeniy
25-05-2011, 10:50
Потому, что 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

Iska
07-02-2012, 08:29
Вообщем можно этот путь удалить и всё будет быстро открываться (он под 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

Iska
07-02-2012, 18:48
Да, именно так и всё очень быстро открывается. ( Ну он не полный путь пишет конечно, который по умолчанию в случае 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

Iska
11-02-2012, 16:26
Собственно, чтобы упростить задачу, я могу собрать их все, в одной папке, они конечно же в свою очередь разбросаны по всяким папкам!!! »
Раз Вы можете проделать такое — я предложу следующее решение: собрать все пути к потребным файлам в текстовый файл (который уже и будет обрабатывать скрипт/макрос).

Сделать сие можно с помощью какого-либо стороннего файлового менеджера, например, 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

Iska
14-02-2012, 17:11
И ещё он когда 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

Iska
15-02-2012, 15:33
Значит, не находит. Ибо, если бы нашёл — писал бы ещё кроме пути, как я уже сказал выше, следующее:
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

Iska
21-02-2012, 09:33
Да нет, всё он находит, файл открывает (я вижу это т.к. создаётся темповский файл ворда см. аттач) но не меняется дата изменения, такое впечатление, что он его просто закрывает и открывает!!! »
Естественно. Скрипт не будет ничего менять-сохранять, пока ему не попадётся документ с искомым присоединённым шаблоном.

Только там не 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