Как открыть файл Excel из C# / WPF в "Full Screen"?

В настоящее время я открываю файлы из моего приложения c#/WPF с помощью

System.Diagnostics.Process.Start("C: .... ");

находится ли окно приложения в полноэкранном режиме и т. д. зависит от состояния предыдущего экземпляра приложения, когда он был закрыт (например, если он был закрыт в полноэкранном режиме, он открывает новый экземпляр в полноэкранном режиме)

что я пытаюсь сделать, это открыть файл в Excel и сделать его полный экран. Я посмотрел в коммутаторы командной строки для Excel, казался довольно ограниченным, так как я не могу изменить файлы excel путем добавления Application.DisplayFullScreen = True в модуль VBA.

Edit: было неясно, но я хотел открыть его в полноэкранном режиме (без ленты и т. д.), а не максимизировать.

Edit2: ключевая последовательность будет alt+v,u. Ищете способ использовать SendKeys отправить последовательность клавиш в окно excel

2 ответов


Похоже, вы можете использовать SendKeys.

http://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.send.aspx

Edit: этот код работал для меня

обязательно #include System.Windows.Forms и все остальное, что необходимо.

[DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);

public void Go()
{
    Process excel = new Process();
    excel.StartInfo.FileName = @"C:\Test.xlsx";
    excel.Start();

    // Need to wait for excel to start
    excel.WaitForInputIdle();

    IntPtr p = excel.MainWindowHandle;
    ShowWindow(p, 1);
    SendKeys.SendWait("%(vu)");
}

см. это сообщение SO:

как открыть PDF файл с помощью Foxit/Adobe в полноэкранный режим?


Excel interop может работать для вас... это довольно неприятно для кода, но вы можете сделать с ним почти все, что пользователь может сделать в excel.

Это обзор того, как его использовать

http://www.dotnetperls.com/excel

Это говорит, что вы можете использовать свойство application.DisplayFullScreen, чтобы заставить его идти полным экран

http://msdn.microsoft.com/en-us/library/office/aa168292(v=office.11).aspx