Андрей VG написал: Покажите в файле такой обработчик события
спасибо за ответ, ещё не смотрел, чуть позже гляну, я имел ввиду, мало ли в AutoOpen будет работать а уже в открытом файле не будет)) лучше переспросить но видимо будет работать в обоих случаях просто вместо AutoOpen помещаешь в нужную процедуру
Код
'контекстное меню появляется при наведении на рисунок
With Application.CommandBars("Inline Picture")
With .Controls.Add(msoControlButton)
.OnAction = "Действие_с_InlinePicture"
'"&" перед знаком, означает, что этому знаку назначена горячая клавиша
.Caption = "ДНСД Добавить овал 5х3 см без заливки с линией красного цвета &1"
End With
End With
в данном случае в процедуру Действие_с_InlinePicture
а вообще алгоритм правки кодом вба риббон какой? я думаю так риббон - это xml файл, значит текстовый, вба читает пишет текстовые файлы без проблем инет пишет о том как это вручную делается правка риббона так - открыть архив dotm, открыть xml файл и править но может ли вба это делать? Open "D:\tmp.txt" For Input As 1 как писать Open "C:\Documents and Settings\Admin\Application Data\Microsoft\Шаблоны - это адрес папки, а далее?? даже если может можно ли перезаписывать риббон в момент когда Ворд открыт, не будет ли это явление согласно поговорке рубим сук на котором сидим?
Добрый день, уважаемые коллеги. Эндрю, если вы глубоко не изучите тему конструирования ленты, вы будете еще долго задавать множество вопросов, и терять свое время. При этом не факт, что ваши вопросы правильно поймут. И не факт, что в файле, который вы получите будет именно то, что вам нужно. Это походит на разговор моей супруги с электриком, когда исчезло электричество в половине квартиры, все равно мне пришлось ему звонить и объяснять. Как конструировать и программировать ленту - широкая тема, которой посвящены 1000 статей в сети. Какого-то лучшего рецепта нет, каждый выбирает свой путь. Например, я программирую xml так: - отключаю ленту по умолчанию; - выбираю существующие tabs mso, которые меня устраивают целиком (visible = true); - создаю свои tabs , в которые включаю как свои элементы управления, так и существующие mso; - управляю свойством visible для существующих mso (потому что иные свойства не программируются), и свойствами enabled и visible для своих элементов; - в зависимости от прав доступа пользователя, а также от состояния редактирования документа изменяется состояние элементов управления ленты: они могут быть невидимы или недоступны. Попытка динамического обновления файла xml из vba не дала удовлетворительного результата по надежности. При этом нужно понимать, что обновление ленты может происходить только при переключении между документами (передача фокуса). На встроенных событиях лента изменяться не будет, потому что файл xml внутри архива doc не перепишется пока документ в фокусе. Поэтому способ динамического обновления файла xml средствами vba - это тупиковый путь. Как правильно написал Андрей VG программирование на С: С++, С# вам в помощь, там можно сделать). Управляйте элементами ленты. Создавайте свои и используйте существующие. И изучайте эту тему самостоятельно. На форуме предполагается, что человек уже знает тему, и ему нужно решить какую-то конкретную локальную задачу.
<!-- Мои вкладки --> <tab id="tabGraph" label="ГРАФИК" insertBeforeMso="TabHome" > <!-- группа MSO Буфер обмена (Clipboard): копировать / вставить --> <group idMso="GroupClipboard" getVisible="Group_RibGetVisible"> <!-- Все кнопки, которые есть в группе Mso --> </group>
<!-- Моя группа Структура: группировка, форматирование, внесение формул --> <!-- ======================================================================================================================== --> <group id="grpStructure" label="Структура" getVisible="Group_RibGetVisible"> <!-- меню Структура --> <menu id="mnuStructure" label="Структура" size="large" imageMso="ViewGridlinesPowerPoint" tag="grpStructure" getEnabled="grpStructure_RibGetEnabled" screentip="Операции для всей таблицы: форматирования, группировки, вставки формул и расчета по ним"> .................