Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2014, 15:50   #1
Verbludov
Пользователь
 
Регистрация: 20.10.2009
Сообщений: 30
По умолчанию спрашивает сохранение в шаблоне normal.dot

Из экселя открываю шаблон tml.dot и делаю вставку по закладкам
таким вот методом:

Sub Показать()
Set WA = CreateObject("Word.Application")
WA.Visible = True
ПутьШаблона = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, "templ/tml.dot")
Set wd = WA.Documents.Add(ПутьШаблона): DoEvents
wd.Bookmarks.Item("зкл1").Range.Ins ertAfter Range("Подстановка4!A7").Value
wd.Bookmarks.Item("зкл2").Range.Ins ertAfter Range("Подстановка4!C3").Value
End Sub

Проблема в том, что при открытии нескольких документов ворд из шаблона tml.dot,
после закрытия одного документа появляется сообщение с ошибкой " данный файл
используется другим приложением или пользователем.
(C:\Users.....\Normal.dot)" и предлагает сохранить изменения в шаблоне Normal.dot
Потом опять сообщает, что шаблон Normal.dot был изменен и предлагает сохранить изменения.
Как обойти этот гемор с Normal.dot?
Verbludov вне форума Ответить с цитированием
Старый 24.11.2014, 22:00   #2
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

А если попробовать так :

Код:
Private Sub Test() 'https://support.microsoft.com/kb/291352
    Dim objApp As Object, objDoc As Object, iPath$
    
    Set objApp = CreateObject("Word.Application")
    objApp.Visible = True: objApp.Options.SaveNormalPrompt = False
    
    'iPath = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, "templ\tml.dot")
    iPath = ThisWorkbook.Path & "\templ\tml.dot"
    
    Set objDoc = objApp.Documents.Open(iPath) 'Or objApp.Documents.Add(iPath)
    
    objDoc.Bookmarks("зкл1").Range.InsertAfter Range("Подстановка4!A7").Value
    objDoc.Bookmarks("зкл2").Range.InsertAfter Range("Подстановка4!C3").Value
    
    'objDoc.Close -1: objApp.Quit
End Sub

Последний раз редактировалось pashulka; 24.11.2014 в 22:02.
pashulka вне форума Ответить с цитированием
Старый 25.11.2014, 16:31   #3
Verbludov
Пользователь
 
Регистрация: 20.10.2009
Сообщений: 30
По умолчанию

pashulka, не работает - ворд открывает, вставлять по закладкам не хочет, про normal.dot всё равно спрашивает
Verbludov вне форума Ответить с цитированием
Старый 25.11.2014, 16:56   #4
pashulka
Форумчанин
 
Регистрация: 03.11.2006
Сообщений: 524
По умолчанию

Закладки вообще скопированы из Вашего макроса без изменений, ибо я бы замутил так objDoc.Bookmarks("зкл1").Range.Text = "XXX"

А по поводу Normal.dot рекомендую ознакомиться со ссылкой, ибо там расписываются возможные причины её возникновения и советы по устранению.
pashulka вне форума Ответить с цитированием
Старый 27.11.2014, 09:39   #5
Verbludov
Пользователь
 
Регистрация: 20.10.2009
Сообщений: 30
По умолчанию

ух тыж еж 20! вот этого: "objDoc.Bookmarks" я не заметил. но про normal.dot всё равно спрашивает. ссылку причитал, но это не мой случай.
Verbludov вне форума Ответить с цитированием
Старый 27.11.2014, 11:22   #6
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Это кусок кода и в нём не видно сохранения документа.
Документ со вставленными данными сохраняется?.
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 27.11.2014, 11:24   #7
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Я такое примерно делал. Только в качестве шаблона использовал простой документ и после вставки данных сразу сохранял с нужным именем.
Проблем с переспросам не было
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 28.11.2014, 11:58   #8
Verbludov
Пользователь
 
Регистрация: 20.10.2009
Сообщений: 30
По умолчанию

Цитата:
Сообщение от alex77755 Посмотреть сообщение
Это кусок кода и в нём не видно сохранения документа.
Документ со вставленными данными сохраняется?.
не - не сохраняется. только показывается. потом пользователь сам решает, сохранить куда-нибудь этот файл или просто закрыть. а сам кодом не сохраняется
Verbludov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Контрол спрашивает Parent Valio Общие вопросы Delphi 11 10.06.2011 07:49
Normal.dot a_zheshko Microsoft Office Word 3 11.04.2011 12:38
Выскакивает перезапись шаблона Normal.dot kazanovius Microsoft Office Word 0 22.10.2010 12:42
Конвертация Normal.dot в Normal.dotx klikk Microsoft Office Word 1 17.06.2010 00:49
Откуда Word загружает шаблон если не из normal.dot Val_35 Microsoft Office Word 4 18.09.2007 12:36