如何在“全屏”中从C#/ WPF打开Excel文件?

时间:2013-12-02 20:49:17

标签: c# excel

目前我正在使用

打开我的C#/ WPF应用程序中的文件
System.Diagnostics.Process.Start("C:\ .... ");

应用程序窗口是否处于全屏等状态取决于应用程序的上一个实例在关闭时所处的状态(例如,如果它在全屏时关闭,则会全屏打开一个新实例)

我要做的是在Excel中打开一个文件并将其全屏显示。我查看Excel的命令行开关,看起来相当有限,因为我无法通过将Application.DisplayFullScreen = True添加到VBA模块来修改excel文件。

编辑:不清楚,但我的意思是在全屏模式下打开它(没有功能区等),而不是最大化。

Edit2:键序列为alt+v,u。正在寻找一种方法来使用SendKeys将密钥序列发送到Excel窗口

2 个答案:

答案 0 :(得分:5)

看起来你可以使用SendKeys。

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

编辑:此代码对我有用

请务必#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帖子:

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

答案 1 :(得分:4)

Excel互操作可能对你有用......代码编写起来相当讨厌,但是你可以用excel本身做的任何事情都可以做到。

这是如何使用它的概述

http://www.dotnetperls.com/excel

这表示您可以使用属性Application.DisplayFullScreen来使其全屏显示

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