Тема: Иконки MS Office 2007
Подскажите пожалуйста в каком файле хранятся иконки офиса и можно ли их извлечь?
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Подскажите пожалуйста в каком файле хранятся иконки офиса и можно ли их извлечь?
иконки приложений или панелей инструментов?
Иконки панелей инструментов.
В каком файле они хранятся, я не знаю, но существует список этих значков. Я его извлёк и сделал в виде текстового файла. Сохранить можно так:
Sub SaveToFiles()
Dim FileNum As Byte
Dim id As String
FileNum = FreeFile
Open "c:\Users\viter.alex\Desktop\Office 2007 Ribbon Pictures ID.txt" For Input As #FileNum
While Not EOF(FileNum)
Line Input #FileNum, id
SavePicture Application.CommandBars.GetImageMso(id, 16, 16), "c:\Users\viter.alex\Desktop\Icons\" & id & ".jpg"
Wend
Close #FileNum
End Sub
Только подставьте свои пути к файлам и каталогу для сохранения. Кроме 16×16 можно указать 32×32
Спасибо, список иконок у меня есть. Я бы хотел "в живую" до них добраться.
К стати, в качестве обмена опытом, кидаю файл. Это по той же теме. Сразу говорю, не мой. Нашел когда то и где то.
Отредактировано mikkelle (07.04.2010 16:48:07)
Так я же из xml содержимого этого файла ID иконок и брал
Что значит вживую?
Хотелось бы вытащить иконку офиса и отредактировать ее в программе.
Я же дал пример кода. Всё, что нужно знать, это ID контрола, значок которого ты вытягиваешь. Дальше делай с ним, что хочешь. Функция GetImageMso возвращает объект IPicture, который можно поместить на любую форму, конвертировать в любой формат.
Прошу прощения, но наверное я не правильно высказался. Получить картинку объектаудается без труда. Вопрос заключается в том, что при "вытягивании" объекта и сохранении его с любым расшиерением и размерами я получаю картинку, ну совершенно неидентичную тому, что я вижу на панелях Ворда (образец получаемого файла прилагаю).
Как мне получить то что видишь?
Почему не идентичную? Всё совпадает
Не могу с вами согласиться. Посмотрите на любую крупную иконку на панелях Ворда и на ее полученное изображение. Небо и земля.
Посмотрел. Кнопка галереи с содержанием:
значок с неё, извлечённый макросом
Единственное отличие, что нет прозрачности. Но её можно сохранить, сохраняя в формат png, правда для этого придётся задействовать функции GDI+, поскольку SavePicture может работать только с jpg или bmp.
К сожалению, готового примера у меня нет, но есть общий пример работы с изображениями, а именно: сохранение в разные форматы, добавление/удаление прозрачности и т.д.
Пример не для VBA, а для VB6, но его можно адаптировать. Неопытному человеку там мало что будет понятно. Если интересно, я пришлю вам его по почте.
Да, нет прозрачности и полупрозрачности. Я когда то использовал программу, позволяющую извлекать иконки из dll и exe файлов. Программу можно поискать, но вот в каком файле хранятся иконки офиса я так и не понял.
Пример, если можете, отправьте, поковыряюсь на досуге, и, пользуясь случаем, хотел напомнить про свои вопросы в разделе автоматизации по "Сохранению файла под новым именем" и по "Надстрокам".
А так, большое спасибо.
Оказывается тема так и не закрыта! Хотел по-быстрому сделать пару иконок, а убил час на поисковике. Оригинальных иконок ленты Word так и не нашел, только коммерческие. Все еще требуются качественные изображения в формате png, размеры хотя бы 16 и 32, лучше конечно все.
При создании макроса можно выбрать для него из списка иконку и добавить на панель быстрого доступа, но в этом списке очень маленький выбор иконок. Можно ли добавить в этот список другие иконки?
Если есть макрос который извлекает иконки, то может можно туда их и импортировать.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться