В формах удалось назначить иконку в строке заголовка, а в самом приложении не получается убрать иконку Excel. Код для иконки приложения в модуле... Помогите, пожалуйста разобраться... Очень нужно!
На панели задач - меняет. В левом верхнем углу, увы, нет, видимо отображается другими нестандартными средствами. P.S. Hwnd для Excel можно получить через Application.Hwnd
Вы всерьёз считаете что здесь собрались специалисты по С, а не по прикладному программированию для Excel? Реальнее на форумах по С++/С найти ответ. Почитайте здесь. и здесь, может чем-нибудь поможет. P. S. Если не секрет, то для каких целей нужно поменять/убрать значок окна Excel?
Не секрет. Я написал большую программу, более 10000 строк и визуально она не похожа на Excel, поэтому и от значка хотел избавиться - для того, чтобы выдержать стиль.
Иногда только промахнувшись, понимаешь как ты попал.
Не хватает конкретики. В приложенном примере иконка меняется, о какой тогда речь? Какую конкретно проблему нужно решить и для какой версии excel?
В версии 2003 иконка в заголовке окна приложения меняется. Остается иконка в панели меню, ее можно убрать вместе с панелью: Application.CommandBars( "Worksheet Menu Bar" ) .Enabled = False и нарисовать свои менюшки.
Владимир Не совсем понял ваше предложение в файле HideTitle. Да, кнопки свернуть/развернуть/закрыть и системное меню удаляются. Но если не переводить Application.DisplayFullScreen в True, то ни значок, ни заголовок не исчезают, увы. Может для Lock, уж коль это настолько
Цитата
визуально она не похожа на Excel
(что бы это значило?) Скрыть Excel совсем, а отображать только работающие с Excel UserForm?
Владимир, по моему вы всё же зря удалили свой файл, за него отдельное спасибо. Он интересен тем, что режим "полного экрана" (без ленты, полосы заголовка, системного меню и кнопок) можно использовать не разворачивая Excel на весь экран (за счёт API изменения размера), в отличие от только VBA Application.DisplayFullScreen=True, который разворачивает Excel на весь дисплей. Сейчас попробовал, при Application.DisplayFullScreen=True и последующем изменении значка - значок в вернем левом углу в этом режиме меняется, как и хотел Lock. Только вот с лентой работать нельзя, может его и такой вариант устроит.
Application.DisplayFullScreen=True восстанавливается по ESC Взял файл Ron de Bruin, добавил код из первого сообщения, добавил отключение Ribbon, получилось без ленты со своим значком. Может, так и сойдет.
Здравствуйте Владимир, anvg. Извиняюсь, что рано ушел , самое вкусное было без меня. Мне на работу к 9, к сожалению . Спасибо за решения, они мне помогли сделать свой вариант (рабочий). По поводу отключения Ribbon - вы правы, без этого нет смысла. В моей программе главное окно, т.е. сама книга выглядит как системная форма. Теперь с правильным отображением иконок. Огромное спасибо вам!!!
Иногда только промахнувшись, понимаешь как ты попал.
Хорошо, что не это. Главное, вы не знаете, что требовалось, а уже смеетесь. Поверьте, любознательность и настойчивость приводят к быстрым результатам... Жаль катринка не клеется, что-то...
Владимир, Андрей и всем кто читает - здравствуйте. Еще одна не стыковка. Когда файл с иконкой перемещают и иконка недоступна (для вызова из папки), я пытаюсь вызвать системную иконку для формы, но системная иконка не вызывается. Подскажите, пожалуйста, что не так делаю, может можно как-то иконку в программу воткнуть на какой-нибудь лист и оттуда вызывать?
Если кто-то еще может подсказать - буду признателен.