Авто запуск

Программирование на Visual Basic for Applications
djem
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 03.07.2007 (Вт) 19:15

Авто запуск

Сообщение djem » 03.07.2007 (Вт) 19:27

здравствуйте!
у меня наверное простой, но тем не менее очень насущный вопрос: Как запустить макрос на открытие файла, в котором он же и записан...то есть у меня есть файл excel, в нём записан макрос - как сделать так чтобы он автоматически запускался при открытии файла excel?
И ещё такая проблема. Есть макрос в excel, который открывает вордовский файл, обрабатывает его и сохраняет под другим именем...так вот если запустить этот макрос ещё раз без выхода из vba, то он выдаёт ошибку - мол, не может открыть файл ворда...почему при повторном запуске подобное происходит и как этого избежать?

заранее спасибо)))

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 03.07.2007 (Вт) 22:08

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

1. http://bbs.vbstreets.ru/viewtopic.php?t=6512
2. http://bbs.vbstreets.ru/viewtopic.php?t=23842
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

djem
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 03.07.2007 (Вт) 19:15

Сообщение djem » 08.07.2007 (Вс) 19:23

Спасибо, конечно, но мои вопросы немного другого плана....с первым я за эти дни уже разобралась, а вот второй так и остался загадкой...
ниже описан код, который открывает файл и сохранят под другим именем. Далее я работаю с этим файлом и и в конце процедуры он остаётся открытым...при повторном запуске появляется ошибка...прочитав ссылку, которую вы указали я так и не получила ответа на этот вопрос)))


With baseword1
.Visible = True
.Documents.Open Filename:="файл.rtf", ConfirmConversions:=False
.ActiveDocument.SaveAs Filename:="путь" + kogo, FileFormat:=wdFormatRTF, _
LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _
:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
False
Set newdoc1 = .ActiveDocument
End With

HandKot
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 28.06.2006 (Ср) 13:34
Откуда: Sergiev Posad

Сообщение HandKot » 09.07.2007 (Пн) 8:18

может надо закрыть и документ, и Word в конце процедуры?

Код: Выделить всё
newdoc1.Close
baseword1.Quit
I Have Nine Lives You Have One Only
THINK!

djem
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 03.07.2007 (Вт) 19:15

Сообщение djem » 11.07.2007 (Ср) 19:20

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

gjghjc
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 659
Зарегистрирован: 13.10.2002 (Вс) 8:28
Откуда: БАЛАКЛАВА!!

Сообщение gjghjc » 11.07.2007 (Ср) 22:14

Так может стоить тогда добавить проверку на то открыт ли документ или нет. Если не открыт - открыть, обработать, сохранить. Если открыт - обработать сохранить.
Только вот зачем понескольку раз обрабатывать один и тот же документ??? Или в нем меняются данные?
Утро добрым не бывает!

djem
Начинающий
Начинающий
 
Сообщения: 5
Зарегистрирован: 03.07.2007 (Вт) 19:15

Сообщение djem » 17.07.2007 (Вт) 19:09

Открывается несколько раз шаблон один и тот же - изменяется и сохраняется под разными именами...

Ну да ладно, самым тупым способом из всевозможных, а именно присвоению документам типа ворд разных имен я таки добилась своего...просто сам принцип работы остался загадкой - почему макрос ругается на видимость открытого документа при открытии другого....

ну т.е. есть открытый документ с именем А, я открываю документ с именем В и сохраняю его под именем С...почему если все они видимы - появляется ошибка...


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 116

    TopList