abdul subhan mohammed Ответов: 1

Как скрыть отображение ленты в excel с помощью C#


Дорогие Все,

Я создаю приложение windows на c#, автоматизируя MsOffice Excel.

я пытаюсь скрыть ленточный дисплей, но он не скрывает ленту.

Что я уже пробовал:

public static bool ChangeRibbonDisplay(IQuestion question, string filename, ShowHide display)
       {
           ExcelInterop.Application excelApplication = null;
           try
           {
               excelApplication = new ExcelInterop.Application() { Visible = false, DisplayAlerts = false, ScreenUpdating = false };
               ExcelInterop.Workbook excelWorkbook = excelApplication.Workbooks.Open(filename);

               excelApplication.ExecuteExcel4Macro("show.toolbar(\"ribbon\"," + display + ")");

               excelWorkbook.Save();
               excelWorkbook.Close(true);

               return true;
           }
           catch (Exception)
           {
               return false;
           }
           finally
           {
               QuitApplication(excelApplication);
           }
       }


Но вышесказанное не скрывает ленту.

Даже я пробовал это:
excelApplication.SendKeys("^{F1}");//not hide/show


кто-нибудь может пожалуйста помочь мне.


Заранее спасибо

1 Ответов

Рейтинг:
0

Maciej Los

Проверить это: VBA auto hide ribbon в Excel 2013 - переполнение стека[^]

Форма C# может выглядеть так:

excelApplication.CommandBars.ExecuteMso "HideRibbon"


[РЕДАКТИРОВАТЬ]
"HideRibbon- это название ленты, которое вы должны изменить.

Чтобы получить список IdMso пожалуйста, смотрите: Примеры ленты файлы и советы[^]


abdul subhan mohammed

Мацей, я пробовал твой код:
отличное применение.Панели команд.ExecuteMso ("HideRibbon");
Но все равно его не спрячешь лентой.

Maciej Los

HideRibbon это название ленты, которую вы должны изменить.