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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2011, 10:10   #11
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Тогда все просто. Дизассеблируйте библиотеки Экса, найдите место, где переменной присваивается значение Лист и поменяйте его на свое. Один минус. Нужную библиотеку тоже прийдется раздавать всем пользователям.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 26.06.2011, 10:19   #12
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 844
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Код:
http://www.msoffice.nm.ru/faq/macros/module.htm
 Несмотря на то, что свойство CodeName доступно только для чтения, программное имя рабочего листа можно изменять, если не забывать, что модуль входит в семейство VBComponents.  
iCodeName = ActiveSheet.CodeName
Я знаю и активно пользуюсь этим решением. К стати в нем есть небольшая не точность которая выпила очень много моей крови, пока я ее искал эксперементально. Точнее ексель реагирует не совсем так как должен, при чем его поведение зависит от непонятных для меня факторов. Это можно обойти не много упростив строки.
НО это переименование листа, а не создание листа с нужным шаблоном для имени. Что бы использовать это решение мне придется: перехватывать создание листа пользователем или программно, потом самому создавать имя листа по нужному шаблону (тут могут быть свои проблемы) и после переименовывать. Аж три больших действия, в каждом из которых могут возникнуть свои проблемы. Всего этого можно избежать если просто заменить значение одной системной переменной, после чего весь гемор возьмет на себя комп.
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Старый 26.06.2011, 10:25   #13
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 844
По умолчанию

Цитата:
Сообщение от kuklp Посмотреть сообщение
Тогда все просто. Дизассеблируйте библиотеки Экса, найдите место, где переменной присваивается значение Лист и поменяйте его на свое. Один минус. Нужную библиотеку тоже прийдется раздавать всем пользователям.
Не думаю, что все так запущено. Разработчики екселя не дураки, и я очень сильно сомневаюсь что они засунули это значние в код. Такое решение не логично и сильно связывае руки им самим. Я считаю такая возможность есть, просто мы не знаем как ею воспользоваться. "Ветер мы то же не видим, но это не означет что его нет" (с)
С уважением, Алексей.

Последний раз редактировалось tae1980; 26.06.2011 в 10:30.
tae1980 вне форума Ответить с цитированием
Старый 26.06.2011, 10:42   #14
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Цитата:
Сообщение от tae1980 Посмотреть сообщение
Разработчики екселя не дураки...
А они и правда не дураки и предусмотрели возможнось при вставке листа менять его имя на нужное. Вам показали несколько способов, но Вы продолжаете упорствовать. Так найдите свой и поделитесь с остальными. Удачи в Ваших нелегких изысканиях
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 26.06.2011, 11:32   #15
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 844
По умолчанию

Цитата:
Сообщение от kuklp Посмотреть сообщение
А они и правда не дураки и предусмотрели возможнось при вставке листа менять его имя на нужное.
Не уже ли я пишу по китайски? Ни когда бы не подумал...
Мне не нужно указывать имя листа при вставке, мне нужно что бы нужное имя генерировалось системой на автомате. Это необходимо по тому что для создания листа существует множество способов как ручных так и программных. И мне бы не хотелось отслеживать их все, тем более что подбное решение может войти в конфликт с другими частями программы (у меня несколько процедур отвечает за имена листов, каждая на своем участке).
Цитата:
Сообщение от kuklp Посмотреть сообщение
Вам показали несколько способов, но Вы продолжаете упорствовать.
Огромное спасибо всем кто ответил. Но позволю себе заметить что мне предложили:
1. Способ переименования листа.
2. Способ создать лист программно с нужным именем.
Тогда как вопрос был поставлен на обсуждение несколько иной.
Цитата:
Сообщение от kuklp Посмотреть сообщение
Так найдите свой и поделитесь с остальными. Удачи в Ваших нелегких изысканиях
Если решение будет найдено, обязательно поделюсь. У меня запланирова несколько статей по используемым мною решениям. Но я придерживаю их до полного внедрения этих решений у себя, так как они еще процессе обкатки.
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заменить в строке ":" на "." answ Паскаль, Turbo Pascal, PascalABC.NET 10 16.04.2010 20:27
Как макросом заменить пустые ячейки словом "пусто" KOSTIK1 Microsoft Office Excel 2 19.12.2009 14:10
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04