#excel #vsto #excel-addins
#excel #vsto #excel-дополнения
Вопрос:
Используя компонент ленты, я добавил меню файлов, но оно не отображается в Excel после выполнения, но появляется, когда я добавляю кнопку.
1.Is можно ли добавить компонент меню в меню файла?
2. Когда я добавляю кнопку, она отображается в разделе Надстройки, возможно ли показать это перед информацией (пожалуйста, обратитесь к изображению)?
Комментарии:
1. Вы используете VB или C # в качестве типа проекта?
Ответ №1:
Вот один из способов сделать это, используя ленточный XML и вставив пользовательскую вкладку после вкладки TabRecent
«Открыть». Идентификаторы элементов управления пользовательского интерфейса Microsoft Office Fluent доступны только для Office 2016. Я не мог приступить TabInfo
к работе.
Вот ссылки, которые я нашел.
- http://youpresent.co.uk/customising-powerpoint-2016-backstage-view/
- https://www.rondebruin.nl/win/s2/win005.htm
Ссылки на Backstage:
- Главная =
PlaceTabHome
- Новое =
TabOfficeStart
- Открыть =
TabRecent
- Информация =
TabInfo
- Сохранить =
FileSave
- Сохранить как =
TabSave
- История =
HistoryTab
- Печать =
TabPrint
- Поделиться =
TabShare
,ShareDocument
- Экспорт =
TabPublish
- Опубликовать =
Publish2Tab
- Закрыть =
FileClose
- Учетная запись =
TabHelp
- Обратная связь =
TabOfficeFeedback
- Параметры =
TabOptions
,ApplicationOptionsDialog
Код ленты XML
<ribbon startFromScratch="false">
</ribbon>
<backstage>
<tab id="grpMyMenu" label="Annotate" insertAfterMso="TabRecent" visible="true" firstColumnMaxWidth="500">
<firstColumn>
<group id="grpOne" label="Microsoft Snipping Tool">
<primaryItem>
<button
id="btnSnippingTool"
label="Snipping Tool"
onAction="OnAction"
getImage="GetButtonImage"
screentip="Microsoft Snipping Tool"
supertip="Snipping Tool is a screenshot utility included in Microsoft Windows. It can take screenshots of an open window, rectangular areas, a free-form area, or the entire screen."
/>
</primaryItem>
<topItems>
<layoutContainer id="layoutOne" layoutChildren="horizontal">
<labelControl id="ebox2" label="Snipping Tool is a screenshot utility included in Microsoft Windows. It can take screenshots of an open window, rectangular areas, a free-form area, or the entire screen." />
</layoutContainer>
</topItems>
</group>
<group id="grpTwo" label="Microsoft Problem Steps Recorder" >
<primaryItem>
<button
id="btnProblemStepRecorder"
label="Record Steps"
onAction="OnAction"
getImage="GetButtonImage"
screentip="Microsoft Problem Steps Recorder"
supertip="Problem Steps Recorder or PSR records the actions you take on your computer which you can then send to the person or group helping you with your computer problem."
/>
</primaryItem>
<topItems>
<labelControl id="ebox3" label="Problem Steps Recorder or PSR records the actions you take on your computer which you can then send to the person or group helping you with your computer problem."/>
</topItems>
</group>
</firstColumn>
</tab>
</backstage>
C # Код
public void OnAction(Office.IRibbonControl control)
{
string filePath = string.Empty;
switch (control.Id)
{
case "btnSnippingTool":
if (System.Environment.Is64BitOperatingSystem)
{
filePath = @"C:WindowssysnativeSnippingTool.exe";
}
else
{
filePath = @"C:Windowssystem32SnippingTool.exe";
}
System.Diagnostics.Process.Start(filePath);
break;
case "btnProblemStepRecorder":
filePath = @"C:WindowsSystem32psr.exe";
System.Diagnostics.Process.Start(filePath);
break;
}
}
public System.Drawing.Bitmap GetButtonImage(Office.IRibbonControl control)
{
switch (control.Id)
{
case "btnProblemStepRecorder":
return Properties.Resources.problem_steps_recorder;
case "btnSnippingTool":
return Properties.Resources.snipping_tool;
default:
return null;
}
}
Скриншот вкладки файла «Backstage»
Комментарии:
1. Большое вам спасибо, время и усилия, которые вы потратили на реагирование на сообщение, оценены по достоинству.
2. Не беспокойтесь, в любое время. У меня также есть несколько примеров проектов, если это поможет. github.com/Excel-projects