Страницы: 1
RSS
XL и реестр Windows (взаимодействие)
 
Здравствуйте.У меня просьба помочь в привязке реестра к  VBA. А именно : есть книга, в ней создана форма VBA (UserForm1) в ней допустим три + три элемента Textbox1,Textbox2,Textbox3 и    
CommandButton1,CommandButton2,CommandButton3.  
При открытии книги записали строку на открытие Form1 (UserForm1.Show).  
а)    Так вот,случай первый : нужно, чтобы если мы внесли что-либо в Textbox-ы (Value <> ""), то при нажатии на CommandButton1 ("Внести изменения в реестр") в ветке реестра создастся столько дочерних веток со значениями, сколько бутет Textbox.value от нуля (пустоты), но соответственно не  больше трех.  
Эта задача решаема довольно просто при помощи проверки оператором If-Then ,а далее SaveSetting.  
б)    Значения внеслись в реестр.Закрываем сохраненную книгу.При последующем открытии с помощью GetSetting считываем информацию с реестра и вставляем в Textbox-ы.Но хотелось бы знать сколько в ранее созданной ветке реестра имеется дочерних веток (в сколько из 3-х Textbox-ов мы ранее внесли значения) и сухествует ли вообще еще основная пака в реестре в которую мы записывали значения.Т.Е. как культурно определить существует ли запрашиваемый адрес и сколько там "жильцов".  - Сдесь я пока запутался . Помогите, если это в Ваших силах.
 
getsetting  возвращает определенное вами значение при отсутствии данных в реестре. может опросить все(страшно сказать) 3 ключа?
 
{quote}{login=slan}{date=03.10.2007 11:45}{thema=}{post}getsetting  возвращает определенное вами значение при отсутствии данных в реестре. может опросить все(страшно сказать) 3 ключа?{/post}{/quote}  
 
Это в этом примере три ключа, а в работу нужно будет до 1000 шт. Например сегодня мне нужно загнать в реестр массив из 100 значений (ФИО рабочих)- нет проблем, но допустим завтра штат поменялся (99 или 101), и для упрощения работы с реестром необходимо знать конкретное количество значений реестра... :(
 
Drony, может я чего не понимаю, но в справке есть описание оператора GetAllSettings  
вот, оттуда:  
MySettings = GetAllSettings(appname := "MyApp", _  
   section := "Startup")  
Количество будет =    
UBound(MySettings, 1) - LBound(MySettings, 1) + 1
 
Спорный вопрос, конечно, но я бы не хранил это (1000 человек) в реестре... Лучше текстовый файл на диске и читать оттуда. А то с реестром всякое бывает. А файлик бэкапить проще.
 
"файлик бэкапить проще" - это верно. Но в маюм случае этого не требуется : база данных (исходная) хранится на заводском сервере (у нас стоит   Пакет приложений электронного бизнеса ), и информацию в любой момент можно экспортировать от туда.    
Эта заморочка нужна, только для облегчения работы со сводными отчетами - в XL все гораздо проще, по сравнению с работой  "Пакет приложений электронного бизнеса Oracle" - на мой взгляд это "сырое" приложение для такого предприятия как наш (ОАО "Харцызский трубный завод").  
 
Изначально стояла такая задача :  
Есть отчет и расшифровка полученные из Оракла, в отчете стоят только сокращения категорий (например 21.18) - а в расшивровке 21.18- электродвигатели. и вот нужно в отчете "расшифровать" сокращения .  
 
Я прикрепил файлик с проработаным примером, кому интересно посмотрите. Лист1 - то, что нужно расшифровать.Лист2 - база данных (что означают эти цифры в системе).Т.к. Вам базу взять негде (нет доступа к Ораклу), то я и выложил ее на Лист2, скопируйте диапазон A:B на форрму и "Внесите данные в реестр", далее станьте на Лист1 и произведите "расшифровку".    
 
Может из этого примера кто-нибудь подчерпнет интересное для себя.  
 
Спасибо Всем откликнувшимся на мой вопрос - это тоже стало очень в пользе.
 
Положить файл, сюда не получилось, попробую завтра...
 
Файлик тут : http://www.crack-keygen.com/1542/123.rar.html  
 
парлоь - 1111
 
перезалил : http://depositfiles.com/files/1961018
Страницы: 1
Читают тему
Наверх