powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Удаление панели инструментов Excel
25 сообщений из 25, страница 1 из 1
Удаление панели инструментов Excel
    #36239885
astatsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здрасти! Такой вот вопрос. У меня есть книга, в которую вложена панель инструментов, на панели N кнопок. При открытии книги панель добавляется в Excel, после закрытия книги она остается в Excel(ента панель инструментов не создается программно, т.к. у кнопок не стандартные иконки). Далее, я добавляю на панель еще одну кнопочку, опять ее вкладываю в книгу, сохраняю, закрываю, открываю и вижу старую панель!
В новой версии книги повесил удаление панели на событие Workbooks_Close, все работает, НО у пользователей стоит СТАРАЯ версия. В итоге получаем: пользователю придется открыть новую версию, закрыть ее (при этом удалится панель) и открыть заново.
Вопрос: как мне решить эту проблему? может как-то можно сделать чтобы при открытии книги панель обновлялась?
...
Рейтинг: 0 / 0
Удаление панели инструментов Excel
    #36239907
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: astatsa
> Вопрос: как мне решить эту проблему? может как-то можно сделать чтобы при открытии книги панель обновлялась?

Добавить в код создания панели добавление новой кнопки и принудительно переобновить панель

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Удаление панели инструментов Excel
    #36239923
astatsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос,
Был бы этот самый код создания панели... Панель создана ручками, нарисованы собственные иконки и панель вложена в книгу.
И как принудительно обновить ПОЛЬЗОВАТЕЛЬСКУЮ панель?
...
Рейтинг: 0 / 0
Удаление панели инструментов Excel
    #36240007
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: astatsa
> И как принудительно обновить ПОЛЬЗОВАТЕЛЬСКУЮ панель?

Хелп к Экселю, который по F1Вложение настраиваемой панели инструментов в книгу
1. Создайте настраиваемую панель инструментов (Панель инструментов. Строка с кнопками и другими элементами управления,
служащими для выполнения команд. Чтобы вызвать панель инструментов, нажмите клавишу ALT, а затем клавиши SHIFT+F10.),
которую следует вложить в книгу.
Инструкции

1. В меню Сервис выберите команду Настройка.
2. Откройте вкладку Панели инструментов.
3. Нажмите кнопку Создать.
4. В поле Панель инструментов введите нужное название, а затем нажмите кнопку OK.
5. Откройте вкладку Команды.
6. Выполните одно из следующих действий.
Добавьте кнопку на панель инструментов

1. Выберите нужную категорию в поле Категории.
2. Перетащите нужную команду из поля Команды на отображаемую панель инструментов.

Добавьте встроенное меню на панель инструментов

1. В поле Категории выберите Встроенные меню.
2. Перетащите нужное меню из поля Команды на отображаемую панель инструментов.
7. После добавления всех нужных кнопок и меню нажмите кнопку Закрыть.
2. Откройте книгу, в которую требуется вложить настраиваемую панель инструментов.
3. Выберите команду Настройка в меню Сервис, а затем откройте вкладку Панели инструментов.
4. Нажмите кнопку Вложить.
5. Выберите настраиваемую панель инструментов, которую требуется вложить, а затем нажмите кнопку Копировать.
Примечание. После этого книгу необходимо сохранить.

Были ли сведения полезными?


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Удаление панели инструментов Excel
    #36240055
astatsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хелп к Экселю, который по F1
Были ли сведения полезными?


Нет! Неужели я так не понятно написал... Есть две книги "Книга1" и "Книга2", в "Книга1" создаем панель с названием "1", с одной кнопкой, жмем "Вложить", сохраняем, закрываем.
Добавляем на эту панель еще одну кнопку, вкладываем панель в книгу "Книга2", сохраняем, закрываем.
Удаляем панель из Excel.
Открываем книгу "Книга1", появляется панель с одной кнопкой. Закрываем книгу "Книга1". Открываем книгу "Книга2", панель не меняется, на ней все таже одна кнопка, тогда как в книгу "Книга2" вложена панель с двумя кнопками.
Мне нужно как то программно обновить панель при открытии книги.
Спасибо за ответы.
...
Рейтинг: 0 / 0
Удаление панели инструментов Excel
    #36240099
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: astatsa
> Спасибо за ответы.

Какой настырный, молодой человек
Я не знаю такого способа, возможно поковырявшись, я и нашел-бы решение как програмно сделать желаемое, но я бы сделал
так:
1 - Создать книгу с новой панелью(возможно и переименовать новую панель)
2 - Распространить книгу среди заинтересованных лиц
3 - С инструкцией удалить старую книгу и панель из екселя
4 - (Как разработчик) Приготовился к небольшому саппорту по обновленной версии.

Кстати удаление старой панели можно сделать и програмно

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Удаление панели инструментов Excel
    #36240147
astatsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос,
Какой невнимательный молодой человек.
Удаление я сделал при закрытии книги. Мне просто нужно перейти с одной версии на другую. И решение я нашел, удалять панель другой книгой, но это не красиво.
А насчет инструкции, может вообще сказать пусть сами все делают и макросы пишут и т.д.?
...
Рейтинг: 0 / 0
Удаление панели инструментов Excel
    #36240985
.Михаил.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
astatsa, с панелью инструментов в Excel я работаю так
в отдельном модуле (название к примеру "menu") вот такой код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Option Explicit
Public Const CommandbarName = "Моя панель инструментов" ' уникальное название панели инструметов
Sub CommandBarBuilder()
Dim cb As CommandBar, cbButton As CommandBarButton
Set cb = Application.CommandBars.Add(Name:=CommandbarName, Position:=msoBarTop, MenuBar:=False, temporary:=True) ' добавим панель инструметов
Set cbButton = cb.Controls.Add(Type:=msoControlButton, temporary:=True) ' дабавим кнопку на панель инструметов
        cbButton.Caption = "Кнопка1"
        cbButton.FaceId =  125  ' "изображение", "иконка" кнопки
        cbButton.Tag = "Краткое описание" ' надпись, появляющаяся при наведении курсора мыши на кнопку
        cbButton.OnAction = "macros" ' название процедуры, выполняемой при нажатии на кнопку
Application.CommandBars(CommandbarName).Visible = True
End Sub
'------------------------------------------------------------
Sub CommandBarKiller()
    On Error Resume Next
        Application.CommandBars(CommandbarName).Delete
    On Error GoTo  0 
End Sub
в "модуле" главной книги вот такое
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Option Explicit
Private Sub Workbook_Open()
Call CommandBarKiller
Call CommandBarBuilder
End Sub
'------------------------------------------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call CommandBarKiller
End Sub
при открытии файла ваша панель инструментов будет "появляться", а при закрытии - "исчезать".

p.s.: на заметку адиминистраторам сайта: если в комментариях текст обрамлять кавычками (""), то этот текст не будет отобраджаться как комментарий (см. выше, комментарий после cbButton.FaceId = 125).
...
Рейтинг: 0 / 0
Удаление панели инструментов Excel
    #36241471
astatsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
.Михаил.,
все это конечно хорошо, я бы и сам давно так сделал, но загвоздка в том, что иконки кнопок у меня не стандартные, а нарисованные мною. При динамическом добавлении панели инструментов, иконки для кнопок можно использовать только стандартные.
...
Рейтинг: 0 / 0
Удаление панели инструментов Excel
    #36241490
astatsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и еще, вы не пробовали после какого-то изменения, предварительно не сохраняя, попытаться закрыть книгу, при этом Excel спросит сохранять или нет и нажать "Отмена"?
Мне из-за этого пришлось выводить свой msgbox с таким вопросом.
...
Рейтинг: 0 / 0
Удаление панели инструментов Excel
    #36245232
.Михаил.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
astatsa, любая панель управления в Excel "не привязывается" к конкретному файлу *.xls, ее нельзя сохранить в файл; панель управления "привязывается" к самому Excel, поэтому при закрытии файла и открытии другого ваша панель управления не узменялась (ведь сам Excel, наверное, Вы не закрывали).


astatsa... что иконки кнопок у меня не стандартные, а нарисованные мною ...
Попробуйте вот это запустить. После запуска, подождать примерно 20 секунд (я так делаю) и нажать кнопку Esc для остановки выполнения процедуры. Потом в Excel в меню выбрать Вид, Панели инструментов и AllFaces. Появится панель инструментом, "вытащить" ее на центр экрана и "растянуть" окно вниз до приемлемых размеров. Перед глазами будут "значки" (расширеная версия!!!), которые Вы можете использовать, "номера" "значков" Вы увидете при наведении на них курсора мыши.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Sub AllFace()
Dim cb As CommandBar, cbBtn As CommandBarButton, i As Integer
On Error Resume Next
Set cb = Application.CommandBars.Add(name:="AllFaces", temporary:=True)
cb.Visible = True
For i =  1  To  1000 
    Set cbBtn = cb.Controls.Add(Type:=msoControlButton, ID:= 2950 )
    cbBtn.FaceId = i
    cbBtn.Caption = i
Next
cb.Width =  1000 
End Sub
'код, не комменировать, написан криво, просто править не охото... и так работает!!!
...
Рейтинг: 0 / 0
Удаление панели инструментов Excel
    #36245343
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: .Михаил.
> astatsa, любая панель управления в Excel "не привязывается" к конкретному файлу *.xls, ее нельзя сохранить в
> файл; панель управления "привязывается" к самому Excel, поэтому при закрытии файла и открытии другого ваша панель
> управления не узменялась (ведь сам Excel, наверное, Вы не закрывали).

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

А насчет кода, я думаю что astatsa и сам знает как посмотреть все возможные иконки, заложенные в ексель, но его иконки
нарисованные собственноручно, о чем он и сказал
здесь

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

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Удаление панели инструментов Excel
    #36248147
astatsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос
А написать код, который будет проверять
наличие панели с определенным именем и на этой панели отслеживать наличие новых кнопок, и при отсутствии новых кнопок
удалять эту панель не совсем нравится, хотя мне этот вариант тоже не нравится, потому что для этого нужно разрешать
исполнение макросов(а этого разрешения может и не быть), и кто-то невнимательный может просто запустить старую версию
файла.

Написать код, который бы удалял панель при открытии книги легко, а вот написать код, который бы создавал после удаления новую панель... Насчет разрешения макросов, дело не в них, если пользователь разрешил макросы - все ОК, если не разрешил - его проблемы, да и когда наконец он откроет книгу и разрешит макросы, опять все будет ОК.
...
Рейтинг: 0 / 0
Удаление панели инструментов Excel
    #36248167
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: astatsa
> а вот написать код, который бы создавал после удаления новую панель...

Так этого кода и не нужно, потому, что панель появится сама из файла с внедрённой панелью. Так сказать скопируется на
клиентскую машину :)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Удаление панели инструментов Excel
    #36248178
astatsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос,

) неа, не скопируется (
...
Рейтинг: 0 / 0
Удаление панели инструментов Excel
    #36248253
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: astatsa
> ) неа, не скопируется (

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

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Удаление панели инструментов Excel
    #36248271
astatsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос,

ну так и я могу, но мы же разговаривали насчет того чтобы сделать это в коде :) т.е. Вы предлагаете открыть книгу в ВоркбукОпене удалить панель, закрыть себя и открыть заново? Это впринципе реально при определенных условиях, но...
...
Рейтинг: 0 / 0
Удаление панели инструментов Excel
    #36248303
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно и так, но мне кажется будет лучше сделать отдельную книгу только для удаления панели и назвать её соответственно.
А книгу с обновленной панелью распространять вместе с книгой удаления панели.
И ( я все таки настаиваю ) инструкция:
1 - открыть книгу удаления панели и разрешить макросы в этой книге.
2 - открыть книгу с обновленной панелью и работать с новой версией

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Удаление панели инструментов Excel
    #36248319
astatsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос,
а так и сделано :) вот только хотелось покрасивше, чтоб файлик один был.
Голову вам морочу :)
...
Рейтинг: 0 / 0
Удаление панели инструментов Excel
    #36248363
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: astatsa
> Игорь Горбонос,
> а так и сделано :) вот только хотелось покрасивше, чтоб файлик один был.

Да можно и один файлик, но все эти переоткрывания только запутают пользователей, во всяком случае моих так точно, может
тебе повезло с пользователями

> Голову вам морочу :)

Нет, я тоже когда-то начинал
и интернет был намного ограниченей чем сейчас, спрашивать было некак. Приходилось читать книжки и эксперементировать.
Так что
Удачи

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Удаление панели инструментов Excel
    #36248393
astatsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Горбонос
Нет, я тоже когда-то начинал
и интернет был намного ограниченей чем сейчас, спрашивать было некак. Приходилось читать книжки и эксперементировать.
Так что
Удачи


Да вот и я как-то не задавал раньше вопросов на форумах и не отвечал соответсвенно :)), а сейчас думаю дай-ка поспрашаю у народу, а то скучно как-то читать чужие темы на форумах, да и то, это было после того как пошарился в других источниках.
Ладно, всем спасибо!
...
Рейтинг: 0 / 0
Удаление панели инструментов Excel
    #36248400
astatsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блин, всетаки три скобки...
...
Рейтинг: 0 / 0
Удаление панели инструментов Excel
    #36312941
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
astatsaи еще, вы не пробовали после какого-то изменения, предварительно не сохраняя, попытаться закрыть книгу, при этом Excel спросит сохранять или нет и нажать "Отмена"?
Мне из-за этого пришлось выводить свой msgbox с таким вопросом.
Код: plaintext
1.
2.
'Код для закрытия книги (из которой запущен этот код) без сохранения.
 ThisWorkbook.Close SaveChanges:=False

Код: plaintext
1.
2.
'Код для закрытия активной книги без сохранения.
  ActiveWorkbook.Close SaveChanges:=False

Код: plaintext
1.
2.
'Код для закрытия книги с заданным названием.
 Workbooks("Имя книги").Close SaveChanges:=False
...
Рейтинг: 0 / 0
Удаление панели инструментов Excel
    #36312969
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
astatsaБлин, всетаки три скобки...

Ну наконец я узнал, как смайлы ставить и даже как подглядывать, как их ставить вот других смайлов так сразу не нашёл
...
Рейтинг: 0 / 0
Удаление панели инструментов Excel
    #36313042
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Hugo121
> Ну наконец я узнал, как смайлы ставить и даже как подглядывать, как их ставить вот других смайлов так сразу не
> нашёл

Тынц или
Тынц2 нажмешь цитировать и подгляДишь
заклинание

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Удаление панели инструментов Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]