Как сделать из файла.xls установочный файл?

Программирование на Visual Basic for Applications
Евген
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 66
Зарегистрирован: 01.07.2003 (Вт) 14:13
Откуда: СПб

Как сделать из файла.xls установочный файл?

Сообщение Евген » 02.09.2003 (Вт) 11:59

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

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 06.09.2003 (Сб) 12:13

Инсталяцию сделать можно. Для этого надо переписывать при помощи программного кода файл проекта в "надстройки".

Евген
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 66
Зарегистрирован: 01.07.2003 (Вт) 14:13
Откуда: СПб

Сообщение Евген » 08.09.2003 (Пн) 11:48

Если не сложно, можно поподробней или может пример есть какой?
Ёж птица гордая, пока не пнешь - не полетит!

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 08.09.2003 (Пн) 13:45

Пример, к сожалению могу принести только в пятницу.

Могу сказать следующее:
в вворде я делал установкку из двух файлов, один из них установка, другой проект, записывающиййся в надстройки.
Запиши макрос прописывыющий файл в надстройку (меню: сервис надстройки)
Если не понятно, пример придется ждать.

Евген
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 66
Зарегистрирован: 01.07.2003 (Вт) 14:13
Откуда: СПб

Сообщение Евген » 08.09.2003 (Пн) 15:01

Понятно... на половину, что ты этот (второй) файл подрубаешь через поднастройки, а не понятно что в нем прописывать :oops:
Подожду время терпит...
Ёж птица гордая, пока не пнешь - не полетит!

Георгий
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 126
Зарегистрирован: 08.08.2003 (Пт) 15:08
Откуда: Россия

Сообщение Георгий » 10.09.2003 (Ср) 7:56

Сохрани книгу как *.xla - "Сохранить как" и в типе выбери "Надстройка Microsft Excel". Потом на win9x надо положить этот файл в %WinDir%/Application Data/Microsoft/AddIns/, а на XP,2000,NT - в %SystemDrive%/Documents and Settings/<имя пользователя>/Application Data/Microsoft/AddIns/. Теперь грузи Excel, открывай "Сервис -> Надстройки" там будет надстройка по имени твоего файла. Если отметиш галочкой, она будет запускаться сама постоянно при запуске Excel. :shock:
Origin - это что?

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 11.09.2003 (Чт) 12:13

Георгий, все правильно, только есть еще одна директорияпри записи в которою надстройка становится активной при запуске приложения.

Даю пример для Word, но думаю, что переделка под excel не вызовет проблем:

Private Sub CommandButton1_Click()
Dim n As Long, i As Long


'запоминаем име файла с установкой
s = ActiveDocument.Path + "\" + ActiveDocument.Name

On Error Resume Next
'снимаем флаг бывшей установки
AddIns(Options.DefaultFilePath(Path:=wdStartupPath) + "\Имя шаблона с макросами.dot").Installed = False
'открываем устанавливаемый проект
Documents.Open ActiveDocument.Path + "\" + "Имя шаблона с макросами.dot"
'сохраняем его в папку с самозагружаемыми надстройками
ActiveDocument.SaveAs FileName:= _
Options.DefaultFilePath(Path:=wdStartupPath) + "\Имя шаблона с макросами.dot", fileFormat:=wdFormatTemplate

MsgBox "Установка завершена!" + Chr(13) + "сейчас произойдет закрытие Word" + Chr(13) + "После открытия Word будет доступен"
'сохраняем установку, что б не ругалась перед закрытием Word
Application.Documents(s).Save
'Выходим из приложения
Application.Quit
End Sub

Евген
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 66
Зарегистрирован: 01.07.2003 (Вт) 14:13
Откуда: СПб

Сообщение Евген » 12.09.2003 (Пт) 9:58

Подключить все получилось, но никак не могу вызвать формы с *.xla :shock: , что неправильно?
Код: Выделить всё
Workbooks("Otchet.xla").UserForm1.Show


Ёж птица гордая, пока не пнешь - не полетит!

Евген
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 66
Зарегистрирован: 01.07.2003 (Вт) 14:13
Откуда: СПб

Сообщение Евген » 12.09.2003 (Пт) 11:40

Нашел, но получаеться не красиво: вызываю функцию в .xla и из нее уже форму...
Код: Выделить всё
Application.Run "Otchet.XLA!EvgenForm1_Call"
'Вызов функции
Ёж птица гордая, пока не пнешь - не полетит!

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 12.09.2003 (Пт) 12:36

Евгений

На счет запуска формы из другого проекта, думаю надо копать в сторону объекта application.VBE.VBProjects

Евген
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 66
Зарегистрирован: 01.07.2003 (Вт) 14:13
Откуда: СПб

Сообщение Евген » 12.09.2003 (Пт) 14:23

А возможнен обратный процесс из XLA в XLS? :?
Ёж птица гордая, пока не пнешь - не полетит!

Евген
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 66
Зарегистрирован: 01.07.2003 (Вт) 14:13
Откуда: СПб

Сообщение Евген » 16.09.2003 (Вт) 14:35

Пример, к сожалению могу принести только в пятницу.



А какую пятницу Вы имели в виду? :?
Ёж птица гордая, пока не пнешь - не полетит!

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 18.09.2003 (Чт) 14:29

А какую пятницу Вы имели в виду?


Я имел ввиду прошлую пятницу, но принес пример раньше ее, я же написал код программы, и он же у вас, Евгений, заработал?! Сами же писали!

Евген
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 66
Зарегистрирован: 01.07.2003 (Вт) 14:13
Откуда: СПб

Сообщение Евген » 18.09.2003 (Чт) 15:39

Работает... у меня на машине. Переношу на "чистую" машину и приехал.. :cry:
MISSING: comctl32.ocx, richtx32.ocx, dblist32.ocx
Возможно их как нидь подоткнуть туда?
Ёж птица гордая, пока не пнешь - не полетит!

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 19.09.2003 (Пт) 16:07

Ну не знаю... Может быть Excel на другой машине криво установлен?

Ну а если какие либо особые файлы, то их надо копировать средствами VB в нужную директорию.


Вернуться в VBA

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 80

    TopList