Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Addins. Сохранение настроек.

2.1K
27 ноября 2003 года
AlexanderK
17 / / 17.01.2003
Привет всем еще раз. Я, конечно, понимаю, что "задолбал" с этими addins, но возникли новые трудности, преодолеть которые чё-то самому не получается. Дело вот в чем. В установленном addins необходимо сделать так, чтобы после выхода из макроса (который в этом addins) сохранялись каким-нибудь образом его настройки. Я имею ввиду, например, следующее: на форме есть textbox, желательно после закрытия формы куда-то его .Value (or .Text) сохранить так, чтобы в следующий раз при запуске оно там появилось опять. Я пытался сделать что-то типа
Thisworkbook.Worksheets(1).Cells(1,1).Value=UserForm1.TextBox1.Text
для сохранения, и
Private Sub UserForm_Initialize()
UserForm1.TextBox1.Value = ThisWorkbook.Worksheet(1).Cells(1, 1).Value
End Sub
для восстановления.Проблема возникла в UserForm_Initialize() - VBA сказал, что объект не поддерживает этот метод. Конечно, можно все это сохранять в другой файл (это как раз работает, когда вместо Thisworkbook ставишь какую-то другую), но как-то неспортивно получается - таскать за собой гору файлов etc.
Но, вообще-то, конечно не понятно можно ли так делать по отношению к addins.
Если у кого есть идеи - поделитесь, буду благодарен.
AleKo.
266
27 ноября 2003 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by AlexanderK
Привет всем еще раз. Я, конечно, понимаю, что "задолбал" с этими addins, но возникли новые трудности, преодолеть которые чё-то самому не получается. Дело вот в чем. В установленном addins необходимо сделать так, чтобы после выхода из макроса (который в этом addins) сохранялись каким-нибудь образом его настройки. Я имею ввиду, например, следующее: на форме есть textbox, желательно после закрытия формы куда-то его .Value (or .Text) сохранить так, чтобы в следующий раз при запуске оно там появилось опять. Я пытался сделать что-то типа
Thisworkbook.Worksheets(1).Cells(1,1).Value=UserForm1.TextBox1.Text
для сохранения, и
Private Sub UserForm_Initialize()
UserForm1.TextBox1.Value = ThisWorkbook.Worksheet(1).Cells(1, 1).Value
End Sub
для восстановления.Проблема возникла в UserForm_Initialize() - VBA сказал, что объект не поддерживает этот метод. Конечно, можно все это сохранять в другой файл (это как раз работает, когда вместо Thisworkbook ставишь какую-то другую), но как-то неспортивно получается - таскать за собой гору файлов etc.
Но, вообще-то, конечно не понятно можно ли так делать по отношению к addins.
Если у кого есть идеи - поделитесь, буду благодарен.
AleKo.



Попробуй самым топорным методом - сохраняй через инишник. Если же не предполагается между сохранением и вставкой что-то копировать в буфер обмена - сохраняй через него.

267
28 ноября 2003 года
Cutty Sark
1.2K / / 17.10.2002
Сохраняй в Addins. Не забывай, что Аддинс - обычная экселевская книга, поэтому ничто экселевское ей не чуждо. Как нибудь так:

ThisWorkbook.Worksheets("StoredData").Range("A1").Value = "Let's go Russia!"
ThisWorkbook.Save
2.1K
28 ноября 2003 года
AlexanderK
17 / / 17.01.2003
Цитата:
Originally posted by Cutty Sark
Сохраняй в Addins. Не забывай, что Аддинс - обычная экселевская книга, поэтому ничто экселевское ей не чуждо. Как нибудь так:

ThisWorkbook.Worksheets("StoredData").Range("A1").Value = "Let's go Russia!"
ThisWorkbook.Save



Спасибо за совет, особенно за ThisWorkbook.Save - я про это вообще забыл. В общем все заработало (синтаксические ошибки исправил, и сразу же все заработало :)).

258
28 ноября 2003 года
SergeySV
1.5K / / 19.03.2003
А что, этот AddIns позволяет тебя сохранять на листах своей книги? Он без пароля, твой собственный что-ли?
2.1K
28 ноября 2003 года
AlexanderK
17 / / 17.01.2003
Цитата:
Originally posted by SergeySV
А что, этот AddIns позволяет тебя сохранять на листах своей книги? Он без пароля, твой собственный что-ли?



Да, ты совершенно прав - он мой. Может (и скорее всего) написан не по правилам (поскольку я, вообще-то пишу в основном на си и IDL, а VB в глаза увидел недавно), но тем не менее вполне рабочий. Ну, а до пароля я просто еще не добрался.:)

239
30 ноября 2003 года
Dolonet
1.7K / / 20.05.2000
А разве нельзя было это сделать чище? Вот например через реестр.

Есть прекрасные 2 функции - SaveSetting и GetSetting, которые дают элементарнийший доступ к сохранению и загрузки небольшого объема данных.
258
01 декабря 2003 года
SergeySV
1.5K / / 19.03.2003
Цитата:
Originally posted by Dolonet
А разве нельзя было это сделать чище? Вот например через реестр.

Есть прекрасные 2 функции - SaveSetting и GetSetting, которые дают элементарнийший доступ к сохранению и загрузки небольшого объема данных.



Ну ты не много размахался тут мечом как Илья Муромец, AddIns был сделан для Excel, так еще и позволяет сохранять внутри себя значения(они всегда будут при тебе, куда бы ты не таскал файл), зачем же лишний раз лезть в реестр, в некого и так все лезут кому не попадя (а потом вычищай его). Сама Microsoft советует сохранять настройки макросов на скрытых листах принадлежащих им книг, так что ИМХО лучше хранить на листах, чем в реестре...

239
01 декабря 2003 года
Dolonet
1.7K / / 20.05.2000
Цитата:
Originally posted by SergeySV
Сама Microsoft советует сохранять настройки макросов на скрытых листах принадлежащих им книг, так что ИМХО лучше хранить на листах, чем в реестре...



Ну тогда сорри :{. Не знал, что документ тоскать будут...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог