2017-04-05 3 views
1

Excelファイルを開いたり作成したり、Excelファイルを読み書きするwpfアプリケーションがあります。通常のアプリケーション実行方法では、というExcelウィンドウがユーザーに表示されます。Excelアプリケーションの表示をブロックする

シナリオ:私のアプリケーションを介して

、私はそれをExcelファイルする "AAA.xlsx" を参照して、アプリケーションのロード。次に、Excelファイルを参照しようとしていますが、ブラウズウィンドウの[]を選択すると、ファイル「BBB.xlsx」を選択し、右クリックして開くとExcelが起動します。ファイルが開きます。

私は同じルーチンを実行していますが、事前にExcelプログラムを開いていて(ファイルの有無に関係なく)、選択したファイルのみが開きます。以下は

はコンストラクタ

public ExcelManipulator() 
{ 
    excelApp = new Excel.Application(); 
    excelApp.Visible = false; //not making any difference 
    excelApp.IgnoreRemoteRequests = true; //not making any difference 
    workbooks = excelApp.Workbooks; 
    workbook = workbooks.Open(path); 
    ... 
} 

私の究極の目標は、自分のアプリケーションがユーザーの画面から見えないようにロードされたExcelファイルです。

答えて

0

私はExcelの別々のインスタンスを指していると思います。

以下を試してください。

Process process = new Process(); 
Process.Start("Excel.exe", myExcelFile); 

その他のオプションは、Interop(つまりMicrosoft.Office.Interop.Excel.dll)を使用している場合は、次のようにすることができます。これは、常に新しいインスタンスでファイルを開きます。

Excel.Application excelApp = new Excel.Application(); 
excelApp.Visible = true; 
string workbookPath = (@"C:\Sample.xlsx"); 
Excel.Workbook excelWorkbook = excelApp.Workbooks.Open(workbookPath, 
    0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "", 
    true, false, 0, true, false, false); 
+0

入力いただきありがとうございますが、私はあなたの意見を忘れてしまったと思います。私は、アプリケーションにロードされたExcelファイルを起動してユーザに見せたいとは思わない。あなたのコードは、私が記述したシナリオでは何の違いもありませんでした。 – Madenis

関連する問題