Documents.Add результаты в шаблоне заблокированы - PullRequest
5 голосов
/ 26 июля 2010

У меня есть макрос, который создает новый документ на основе шаблона, хранящегося в общей сетевой папке.Этот макрос хранится в папке Word \ STARTUP каждого пользователя в виде файла "macros.dotm" и выполняется кнопкой, добавленной на панель инструментов.

Файл шаблона блокируется, как только код макроса выполняется иостается заблокированным, пока производный документ все еще открыт другим пользователем.

Это не влияет на его способность открывать новые документы на основе макроса, но если я хочу отредактировать шаблон, я должен спроситьчтобы закрыть Word (и надеяться, что никто больше не зайдет в него).

Макрокод:

Documents.Add Template:="F:\templates\letterhead.dotm", NewTemplate:=False, DocumentType:=0`

Ответы [ 2 ]

3 голосов
/ 26 июля 2010

Одним из способов решения этой проблемы является отсоединение документа от шаблона после его создания:

Dim doc As Document
Set doc = Documents.Add(Template:="F:\templates\letterhead.dotm", NewTemplate:=False, DocumentType:=0)
Set doc.AttachedTemplate = Nothing

В качестве альтернативы измените разрешения файловой системы для шаблона, чтобы только у вас был доступ на запись.

2 голосов
/ 29 июля 2010

Проблема в том, что шаблон находится на сетевом диске - это довольно распространенная проблема.Один из способов обойти это - сначала скопировать вызывающий шаблон поверх этого шаблона, а затем создать новый документ на его основе (а затем удалить шаблон, когда закончите).

...