Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Непонятно с CodeName - Мир MS Excel

  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_, DrMini  
Непонятно с CodeName
Анатолий Дата: Среда, 05.02.2014, 11:36 | Сообщение № 1
Группа: Гости
[vba]
Код
Set WB = Workbooks.Open(SFlRep)
.....
WB.Sheets(SNmList).Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
Set WS = ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
MsgBox WS.CodeName
'ThisWorkbook.VBProject.VBComponents(WS.CodeName).Name = "First" & Num & "End"
WS.Name = Date
WS.EnableSelection = xlUnlockedCells
MsgBox WS.CodeName
Set WS = Nothing
[/vba]

Подскажите почему сообщения показываются пустые? Соответственно если убрать комментарий, то вылетает ошибка....
И почему вообще после перемещения листа кодовое имя меняется?
 
Ответить
Сообщение[vba]
Код
Set WB = Workbooks.Open(SFlRep)
.....
WB.Sheets(SNmList).Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
Set WS = ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
MsgBox WS.CodeName
'ThisWorkbook.VBProject.VBComponents(WS.CodeName).Name = "First" & Num & "End"
WS.Name = Date
WS.EnableSelection = xlUnlockedCells
MsgBox WS.CodeName
Set WS = Nothing
[/vba]

Подскажите почему сообщения показываются пустые? Соответственно если убрать комментарий, то вылетает ошибка....
И почему вообще после перемещения листа кодовое имя меняется?

Автор - Анатолий
Дата добавления - 05.02.2014 в 11:36
SkyPro Дата: Среда, 05.02.2014, 11:42 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Предлагаете нам угадать?
У меня после перемещения не меняется коднейм. Он остается с листом до победного конца.


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Среда, 05.02.2014, 11:43
 
Ответить
СообщениеПредлагаете нам угадать?
У меня после перемещения не меняется коднейм. Он остается с листом до победного конца.

Автор - SkyPro
Дата добавления - 05.02.2014 в 11:42
Hugo Дата: Среда, 05.02.2014, 11:44 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3859
Репутация: 819 ±
Замечаний: 0% ±

365
И мне непонятно.
Почему правила форума не соблюдаете?
А опыт показал - сообщения показываются не пустые!
И имя листа у меня естественно меняется - не могут быть в книге два листа с одинаковым именем!


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеИ мне непонятно.
Почему правила форума не соблюдаете?
А опыт показал - сообщения показываются не пустые!
И имя листа у меня естественно меняется - не могут быть в книге два листа с одинаковым именем!

Автор - Hugo
Дата добавления - 05.02.2014 в 11:44
Анатолий Дата: Среда, 05.02.2014, 13:30 | Сообщение № 4
Группа: Гости
[quote=Hugo]А опыт показал - сообщения показываются не пустые![/quote]

Хорошо.

Тогда вот так:
MsgBox Len(WS.CodeName)

В сообщении "0"
 
Ответить
Сообщение[quote=Hugo]А опыт показал - сообщения показываются не пустые![/quote]

Хорошо.

Тогда вот так:
MsgBox Len(WS.CodeName)

В сообщении "0"

Автор - Анатолий
Дата добавления - 05.02.2014 в 13:30
Hugo Дата: Среда, 05.02.2014, 13:34 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3859
Репутация: 819 ±
Замечаний: 0% ±

365
Да какая разница? У меня этот код выводит имя моего листа, в любом виде.
По этому отрывку кода больше сказать нечего.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеДа какая разница? У меня этот код выводит имя моего листа, в любом виде.
По этому отрывку кода больше сказать нечего.

Автор - Hugo
Дата добавления - 05.02.2014 в 13:34
Анатолий Дата: Среда, 05.02.2014, 21:33 | Сообщение № 6
Группа: Гости
И все-таки из-за чего CodeName может быть пустым в данном случае?
Может быть кто-то уже сталкивался с таким поведением кода.... Не могу я книгу выложить.... код VBA из книги могу практически весь.... а вот книгу не могу :(
 
Ответить
СообщениеИ все-таки из-за чего CodeName может быть пустым в данном случае?
Может быть кто-то уже сталкивался с таким поведением кода.... Не могу я книгу выложить.... код VBA из книги могу практически весь.... а вот книгу не могу :(

Автор - Анатолий
Дата добавления - 05.02.2014 в 21:33
Serge_007 Дата: Среда, 05.02.2014, 21:48 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2750 ±
Замечаний: ±

Excel 2016
Не могу я книгу выложить
Что мешает? Потратить пару минут на удаление всей информации из книги?


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Не могу я книгу выложить
Что мешает? Потратить пару минут на удаление всей информации из книги?

Автор - Serge_007
Дата добавления - 05.02.2014 в 21:48
Hugo Дата: Среда, 05.02.2014, 22:24 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3859
Репутация: 819 ±
Замечаний: 0% ±

365
Я думаю что если сделаете пустой пример файла, который воспроизводит проблему - мы разберёмся в проблеме.
Если не получится такой пример сделать - значит разберётесь в процессе сами :)


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеЯ думаю что если сделаете пустой пример файла, который воспроизводит проблему - мы разберёмся в проблеме.
Если не получится такой пример сделать - значит разберётесь в процессе сами :)

Автор - Hugo
Дата добавления - 05.02.2014 в 22:24
Анатолий Дата: Среда, 05.02.2014, 22:43 | Сообщение № 9
Группа: Гости
Ок. Вот
https://drive.google.com/file/d/0B8Zz8joYkNEsYnlvQVQxVDZzU1k/edit?usp=sharing
Пароль Pass123
 
Ответить
СообщениеОк. Вот
https://drive.google.com/file/d/0B8Zz8joYkNEsYnlvQVQxVDZzU1k/edit?usp=sharing
Пароль Pass123

Автор - Анатолий
Дата добавления - 05.02.2014 в 22:43
Анатолий Дата: Среда, 05.02.2014, 22:44 | Сообщение № 10
Группа: Гости
Сейчас описание сделаю
 
Ответить
СообщениеСейчас описание сделаю

Автор - Анатолий
Дата добавления - 05.02.2014 в 22:44
Анатолий Дата: Среда, 05.02.2014, 22:50 | Сообщение № 11
Группа: Гости
при первом открытии файла сразу закройте его вылезет сообщение - "ОК" затем ошибка нажмите Дебаг - затем нажмите продолжение выполнения (Run Macro F5) после закрытия. Снова откройте этот файл
И вот тут в процедуре MoveListRep будет косяк с CodeName.

Так же данный косяк и при первом запуске появляется, когда нужно нажать дебаг, но это в другом месте кода в процедуре CreateStatList.
 
Ответить
Сообщениепри первом открытии файла сразу закройте его вылезет сообщение - "ОК" затем ошибка нажмите Дебаг - затем нажмите продолжение выполнения (Run Macro F5) после закрытия. Снова откройте этот файл
И вот тут в процедуре MoveListRep будет косяк с CodeName.

Так же данный косяк и при первом запуске появляется, когда нужно нажать дебаг, но это в другом месте кода в процедуре CreateStatList.

Автор - Анатолий
Дата добавления - 05.02.2014 в 22:50
Анатолий Дата: Среда, 05.02.2014, 22:53 | Сообщение № 12
Группа: Гости
Так же данный косяк и при первом запуске появляется, когда нужно нажать дебаг, но это в другом месте кода в процедуре CreateStatList. Но при дальнейшем выполнении кода (после нажатия F5) этот косяк пропадает в этом месте.... С чем связано - не пойму.

Прошу прощение за безобразие в коде. Я только разбираться начал в VBA.... Да еще отлавливаю этот глюк....
 
Ответить
СообщениеТак же данный косяк и при первом запуске появляется, когда нужно нажать дебаг, но это в другом месте кода в процедуре CreateStatList. Но при дальнейшем выполнении кода (после нажатия F5) этот косяк пропадает в этом месте.... С чем связано - не пойму.

Прошу прощение за безобразие в коде. Я только разбираться начал в VBA.... Да еще отлавливаю этот глюк....

Автор - Анатолий
Дата добавления - 05.02.2014 в 22:53
Serge_007 Дата: Среда, 05.02.2014, 23:04 | Сообщение № 13
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2750 ±
Замечаний: ±

Excel 2016
Прошу прощение
А за то что Вы нарушаете правила тоже будете извиняться? Не надо, бан будет
Устраняйте нарушения


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Прошу прощение
А за то что Вы нарушаете правила тоже будете извиняться? Не надо, бан будет
Устраняйте нарушения

Автор - Serge_007
Дата добавления - 05.02.2014 в 23:04
Анатолий Дата: Четверг, 06.02.2014, 09:10 | Сообщение № 14
Группа: Гости
Да что ж мне как не везет на этом форуме :)
Здесь гостей не любят что ли?(
Я так понял сыр-бор из-за ссылки? Но как сюда добавить файл не регистрируясь?
 
Ответить
СообщениеДа что ж мне как не везет на этом форуме :)
Здесь гостей не любят что ли?(
Я так понял сыр-бор из-за ссылки? Но как сюда добавить файл не регистрируясь?

Автор - Анатолий
Дата добавления - 06.02.2014 в 09:10
Анатолий Дата: Четверг, 06.02.2014, 13:17 | Сообщение № 15
Группа: Гости
[vba][code] WB.Sheets(SNmList).Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
Set WS = ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
'For I = 1 To ThisWorkbook.VBProject.VBComponents.Count
'MsgBox ThisWorkbook.VBProject.VBComponents(I).Name
'Next
MsgBox WS.CodeName[/code][/vba]
Вот интересно получается, если убрать комментарий, то показывается имя и в цикле и после цикла строкой MsgBox WS.CodeName.
Но если за комментировать цикл for то строка MsgBox WS.CodeName выдает пустое сообщение.
Как такое может быть? И как это решается?
 
Ответить
Сообщение[vba][code] WB.Sheets(SNmList).Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
Set WS = ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
'For I = 1 To ThisWorkbook.VBProject.VBComponents.Count
'MsgBox ThisWorkbook.VBProject.VBComponents(I).Name
'Next
MsgBox WS.CodeName[/code][/vba]
Вот интересно получается, если убрать комментарий, то показывается имя и в цикле и после цикла строкой MsgBox WS.CodeName.
Но если за комментировать цикл for то строка MsgBox WS.CodeName выдает пустое сообщение.
Как такое может быть? И как это решается?

Автор - Анатолий
Дата добавления - 06.02.2014 в 13:17
Hugo Дата: Четверг, 06.02.2014, 14:17 | Сообщение № 16
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3859
Репутация: 819 ±
Замечаний: 0% ±

365
Я всёж из любопытства файл скачал - на архив пароль годится, на лист нет.
Что увидел - кучу довольно непрозрачного кода, в котором разбираться без возможности запустить желания нет. Как и ломать пароль...

Может просто файл глючит?


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеЯ всёж из любопытства файл скачал - на архив пароль годится, на лист нет.
Что увидел - кучу довольно непрозрачного кода, в котором разбираться без возможности запустить желания нет. Как и ломать пароль...

Может просто файл глючит?

Автор - Hugo
Дата добавления - 06.02.2014 в 14:17
Анатолий Дата: Четверг, 06.02.2014, 14:47 | Сообщение № 17
Группа: Гости
[quote=Hugo,]на архив пароль годится, на лист нет.[/quote]
На лист пароль в коде константой вбит

[quote=Hugo,]то увидел - кучу довольно непрозрачного кода, в котором разбираться без возможности запустить желания нет[/quote]
Еще одна причина по которой не хотелось выкладывать файл книги целиком. Понимаю, что разобраться в коде мало кто будет...

[quote=Hugo,]Может просто файл глючит?[/quote]
Файл пятьсот раз переписывался... Как вариант решения проблемы (надеюсь временно) нашел такой:
[vba][code] WB.Sheets(SNmList).Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
Set WS = ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
For I = 1 To ThisWorkbook.VBProject.VBComponents.Count: Next '<<<<<<<<<<<<<<<<
ThisWorkbook.VBProject.VBComponents(WS.CodeName).Name = "Day" & DayStr & "List"
WS.Protect Password:=PassRep, UserInterfaceOnly:=True
WS.Name = DateStrD
WS.EnableSelection = xlUnlockedCells
Set WS = Nothing[/code][/vba]
Понятно, что так не правильно, хотя в VBA может и нормально :)
 
Ответить
Сообщение[quote=Hugo,]на архив пароль годится, на лист нет.[/quote]
На лист пароль в коде константой вбит

[quote=Hugo,]то увидел - кучу довольно непрозрачного кода, в котором разбираться без возможности запустить желания нет[/quote]
Еще одна причина по которой не хотелось выкладывать файл книги целиком. Понимаю, что разобраться в коде мало кто будет...

[quote=Hugo,]Может просто файл глючит?[/quote]
Файл пятьсот раз переписывался... Как вариант решения проблемы (надеюсь временно) нашел такой:
[vba][code] WB.Sheets(SNmList).Move After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
Set WS = ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
For I = 1 To ThisWorkbook.VBProject.VBComponents.Count: Next '<<<<<<<<<<<<<<<<
ThisWorkbook.VBProject.VBComponents(WS.CodeName).Name = "Day" & DayStr & "List"
WS.Protect Password:=PassRep, UserInterfaceOnly:=True
WS.Name = DateStrD
WS.EnableSelection = xlUnlockedCells
Set WS = Nothing[/code][/vba]
Понятно, что так не правильно, хотя в VBA может и нормально :)

Автор - Анатолий
Дата добавления - 06.02.2014 в 14:47
Hugo Дата: Четверг, 06.02.2014, 14:52 | Сообщение № 18
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3859
Репутация: 819 ±
Замечаний: 0% ±

365
То что пароль константа - я конечно видел. Но у меня он лист не разблокировал. Т.е. или глюк, или лист закрыт другим паролем.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеТо что пароль константа - я конечно видел. Но у меня он лист не разблокировал. Т.е. или глюк, или лист закрыт другим паролем.

Автор - Hugo
Дата добавления - 06.02.2014 в 14:52
Анатолий Дата: Четверг, 06.02.2014, 15:06 | Сообщение № 19
Группа: Гости
Странно, я пароли ставлю только макросами.... специально отдельно пароль на лист не ставил..... скорее всего глюк. Сейчас скачаю файл с гугла и посмотрю...
 
Ответить
СообщениеСтранно, я пароли ставлю только макросами.... специально отдельно пароль на лист не ставил..... скорее всего глюк. Сейчас скачаю файл с гугла и посмотрю...

Автор - Анатолий
Дата добавления - 06.02.2014 в 15:06
Анатолий Дата: Четверг, 06.02.2014, 15:15 | Сообщение № 20
Группа: Гости
Только что загрузил с гугла-диска файл на другом компьютере (не на том на котором делал) все нормально.... пароли на всех листах те, что константой забиты.... Может Вы раскладку клавиатуры не переключили или еще чего...

И, да, забыл сказать, что в коде используется такая конструкция как:
ThisWorkbook.VBProject.VBComponents(WS.CodeName).Name =

которая требует некоторых изменений в настройках безопасности экселя....
 
Ответить
СообщениеТолько что загрузил с гугла-диска файл на другом компьютере (не на том на котором делал) все нормально.... пароли на всех листах те, что константой забиты.... Может Вы раскладку клавиатуры не переключили или еще чего...

И, да, забыл сказать, что в коде используется такая конструкция как:
ThisWorkbook.VBProject.VBComponents(WS.CodeName).Name =

которая требует некоторых изменений в настройках безопасности экселя....

Автор - Анатолий
Дата добавления - 06.02.2014 в 15:15
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!