Если у вас есть шаблон Word (точка), вы не должны открывать шаблон для создания документа: вы должны просто создать новый документ с самого начала.Если новый документ генерируется кодом, используйте Documents.Add
вместо Documents.New
.Новый документ будет содержать нет макросов и может быть сохранен как документ без проблем.
В наши дни можно сохранить файл шаблона в файл с расширением docx и в формате «документ без макросов» - это будет работать.(В более ранних версиях Word формат файла * .dot отсутствовал.)
ОДНАКО документ по-прежнему будет иметь ссылку на шаблон и иметь возможность «видеть»."макросы по этой ссылке.Возможно, поэтому вы думаете, что макросы сохраняются в документе docx.Если такой файл отправляется «из дома» (в место, где нет доступа к шаблону в папке, где он хранится), то макросы не будут отображаться или будут доступны.
Если вы хотите полностью отделить документ от его шаблона, присоедините его к другому шаблону (обычно Normal.dotm, поскольку он доступен во всех установках Word).Пример, основанный на коде в вопросе:
ActiveDocument.AttachedTemplate = NormalTemplate
Это должно быть в конце кода, поскольку оно отделит его от кода, выполняющего действие.
Подсказка длякод в вопросе: работа с ActiveDocument
может быть ненадежной - нет уверенности, что это всегда будет документ, предназначенный (например, пользователь может активировать другой).Более надежный подход - работать с объектом Document
.То же самое относится и к другим вещам, таким как таблицы.Например:
Dim doc as Word.Document
Dim tbl as Word.Table
Set doc = ActiveDocument
' do things with the document...
Set tbl = doc.Tables(1)
' do things with the table
DocDate = tbl.Cells(4,2).Range.Text
GCCName = tbl.Cell(8, 1).Range.Text
doc.Save