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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2010, 22:37   #1
DaMadQuest
Пользователь
 
Регистрация: 17.03.2010
Сообщений: 21
Восклицание Создание HTML Файла при закрытии самого Excel

Смотрел темы на макросы при закрытии Excel, сделал следующее:
// создал макрос, который переводит книгу в веб-документ
Sub Closer()
ActiveWorkbook.PublishObjects.Add(x lSourceSheet, "E:\IVC\OUT\Цех_упаковки.htm", "Лист1").Publish
End Sub// потом создал макрос, который при закрытии должен выполнять макрос выше написанный

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Run "Closer"
End Sub

но проблема в том, что он не срабатывает, веб-документ не создается, хотя сам макрос экспорта в веб-документ работает.

помогите пожалуйста...
DaMadQuest вне форума Ответить с цитированием
Старый 13.05.2010, 22:46   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Да всё должно срабатывать...

Посмотрите, будет ли работать в моём файле: http://excelvba.ru/XL_Files/Sample__...0__0-46-18.zip
EducatedFool вне форума Ответить с цитированием
Старый 16.05.2010, 11:35   #3
DaMadQuest
Пользователь
 
Регистрация: 17.03.2010
Сообщений: 21
По умолчанию

а как прописать путь, где у меня лежит сам файл...

то есть при переносе с одного жесткого диска на другой выполнялся макрос, не ругался на путь размещения файла
DaMadQuest вне форума Ответить с цитированием
Старый 16.05.2010, 16:42   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
а как прописать путь, где у меня лежит сам файл...
Если файл HTM должен появляться в той же папке, что и файл Excel, то так:

ActiveWorkbook.PublishObjects.Add( xlSourceSheet, thisworkbook.path & "\Цех_упаковки.htm", "Лист1").Publish
EducatedFool вне форума Ответить с цитированием
Старый 17.05.2010, 11:40   #5
DaMadQuest
Пользователь
 
Регистрация: 17.03.2010
Сообщений: 21
По умолчанию

но если у меня папка лежит на диске D, а я ее потом перенесу на диск E, и не изменю путь, он будет ругаться на размещение...

как можно сделать, чтобы не влияло на это?
DaMadQuest вне форума Ответить с цитированием
Старый 17.05.2010, 15:11   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Попробуйте так:

Код:
Sub Closer()
    ПутьКфайлуHTM = Replace(ActiveWorkbook.FullName, ActiveWorkbook.Name, "Цех_упаковки.htm")
    ActiveWorkbook.PublishObjects.Add(xlSourceSheet, ПутьКфайлуHTM, "Лист1").Publish
End Sub
Теперь, где бы на диске не располагалась книга Excel, файл HTM будет создан в той же папке, что и эта книга.
EducatedFool вне форума Ответить с цитированием
Старый 04.06.2010, 11:48   #7
DaMadQuest
Пользователь
 
Регистрация: 17.03.2010
Сообщений: 21
По умолчанию

Private Sub Workbook_BeforeClose(Cancel As Boolean)

ActiveWorkbook.PublishObjects.Add(x lSourceSheet, "E:\IVC\HTML\zeha_upakovki.htm" , "Лист1").Publish
End Sub

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

как сделать, чтобы файл просто перезаписывался поверх существующего?
DaMadQuest вне форума Ответить с цитированием
Старый 04.06.2010, 12:14   #8
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Путь = "E:\IVC\HTML\zeha_upakovki.htm"
    On Error Resume Next
    Kill Путь    ' удаляем файл, если он существует
    ActiveWorkbook.PublishObjects.Add(xlSourceSheet, Путь, "Лист1").Publish
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 06.06.2010, 20:41   #9
DaMadQuest
Пользователь
 
Регистрация: 17.03.2010
Сообщений: 21
По умолчанию

спасибо большое, очень помог... всё работает!

надеюсь, больше не потревожу)

DaMadQuest вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание скомпилированного HTML файла DeKot Софт 16 30.03.2016 15:55
При закрытии формы, закрываеться книга Excel Even Microsoft Office Excel 2 10.01.2010 12:38
сохранение файла при закрытии robotov Microsoft Office Excel 23 18.09.2009 10:40
Ошибка при загрузке файла html Ign Microsoft Office Excel 1 11.11.2007 13:55
создание файла из excel __madD__ Microsoft Office Excel 1 26.09.2007 16:54