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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2011, 11:24   #1
Snekich
Форумчанин
 
Аватар для Snekich
 
Регистрация: 19.11.2011
Сообщений: 128
По умолчанию Как "перенести" пользовательскую функцию на другие компьютеры?

Суть задачи, думаю, банальная:
Есть своя (пользовательская) функция, написанная в VBA.

Она, естественно, работает только в этом конкретном файле.
Как сделать так, что бы эта функция работала во всех (в т.ч. вновь созданных) файлах?
Ну и как установить эту функцию на другие компьютеры, что бы она так же работала во всех файлах?

Читал где-то, что надо как-то ее записать в PERSONAL.XLS .
Но не знаю подробности и как этот процесс упростить?
Нет ничего невозможного, главное верить в это.

Последний раз редактировалось Snekich; 21.11.2011 в 11:28.
Snekich вне форума Ответить с цитированием
Старый 21.11.2011, 11:31   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Нужно сохранить функцию в личной книге макросов ( PERSONAL.XLS / PERSONAL.XLSB ) на нужном компьютере.


p.s. информация к размышлению. Когда вы выбираете "Запись макроса", то открываете окошко с Именем. Чуть ниже имени (под сочетанием клавиш) есть комбобокс "Сохранить в ...". попробуйте там выбрать в "Личную книгу макросов".
Сохраните. Потом в редакторе Visual Basic (Alt-F11) увидите слева в дереве книг ещё одну. Вот туда и добавляйте нужные функции...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.11.2011, 11:35   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

я обычно переношу монитор, на котором видна функция и подключаю его к другому компьютеру.

а вообще-то, все правильно вы читали: в PERSONAL.XLS ее. причем это надо будет проделать персонально с каждым компьютером.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 21.11.2011, 11:56   #4
Snekich
Форумчанин
 
Аватар для Snekich
 
Регистрация: 19.11.2011
Сообщений: 128
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Нужно сохранить функцию в личной книге макросов ( PERSONAL.XLS / PERSONAL.XLSB ) на нужном компьютере.


p.s. информация к размышлению. Когда вы выбираете "Запись макроса", то открываете окошко с Именем. Чуть ниже имени (под сочетанием клавиш) есть комбобокс "Сохранить в ...". попробуйте там выбрать в "Личную книгу макросов".
Сохраните. Потом в редакторе Visual Basic (Alt-F11) увидите слева в дереве книг ещё одну. Вот туда и добавляйте нужные функции...

Это все я проделал. В VBA появился этот проект PERSONAL.XLSB .
И при открытии нового файла он так же появляется в VBA , но функция в новых файлах не работает...
Нет ничего невозможного, главное верить в это.
Snekich вне форума Ответить с цитированием
Старый 21.11.2011, 12:07   #5
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

А Вы попробуйте через Мастер функций, и увидите:
Код:
=PERSONAL.XLSB!MyFunc(...)
ОФФ
Игорь, чё за тема с монитором сегодня?
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 21.11.2011, 12:19   #6
Snekich
Форумчанин
 
Аватар для Snekich
 
Регистрация: 19.11.2011
Сообщений: 128
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
А Вы попробуйте через Мастер функций, и увидите:
Код:
=PERSONAL.XLSB!MyFunc(...)
ОФФ
Игорь, чё за тема с монитором сегодня?
Открывается окно "Обновить значение PERSONAL.XLSB"
и выбор файла....

Если добавить Option Explicit , то это окно вылезать не будет, но функция будет давать в результате #Знач!
Нет ничего невозможного, главное верить в это.

Последний раз редактировалось Snekich; 21.11.2011 в 12:23.
Snekich вне форума Ответить с цитированием
Старый 21.11.2011, 12:23   #7
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Странно, мои функции лежат совсем не в Personal.xls*, но работают всюду... И без указания имени файла перед функцией...
Почему так?

А потому, что они в надстройке, которая открывается при запуске Экселя из папки автозапуска \XLSTART
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очередная тема "что лучше выбрать". На этот раз планшетные компьютеры. savva-paladin Компьютерное железо 4 15.11.2011 19:47
как объявить тип "указатель на функцию" coper Общие вопросы C/C++ 3 12.09.2010 23:20
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23
значения "на конец месяца" перенести на "начало месяца" 0mega Microsoft Office Excel 2 10.05.2010 07:23
Можно ли как-нибудь загнать текст "x+3" в функцию? TwiX Общие вопросы Delphi 13 02.11.2009 18:49