Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I open an Excel file from C#/WPF in "Full Screen"?

Tags:

c#

excel

Currently I'm opening files from my C#/WPF application using

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

Whether the application window is in full screen etc depends on the state the previous instance of the application was in when it was closed (e.g. If it was closed when full screen, it opens a new instance full screen)

What I'm trying to do is open a file in Excel and make it full screen. I looked into command line switches for Excel, seemed fairly limited since I can't modify the excel files by adding Application.DisplayFullScreen = True into a VBA module.

Edit: Was unclear, but I meant to open it in Full Screen mode (no ribbon etc), not maximized.

Edit2: The key sequence would be alt+v,u. Looking for a way to use SendKeys to send the key sequence to the excel window

like image 948
ashareef Avatar asked Dec 02 '13 20:12

ashareef


1 Answers

Looks like you can use SendKeys.

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

Edit: This code worked for me

Be sure to #include System.Windows.Forms and everything else that's needed.

[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)");
}

See this SO post:

How to open a PDF file by using Foxit/Adobe in full screen mode?

like image 188
Miles Watson Avatar answered Sep 21 '22 20:09

Miles Watson