2009-05-13 17 views
3

私は次のコードを持っています:[ありがとうございましたMike Rosenblum!]Excel Interopを使用して印刷ダイアログを取得

using System; using System.Collections.Generic; using System.Linq; using System.Text; Microsoft.Office.Interop.Excel;を使用している ; using System.Runtime.InteropServices;

名前空間ConsoleApplication17 { クラスプログラム {私は何を達成しようとしているが、代わりにこの印刷私のExcelはすぐに、ファイルの、私はそのように表示され、印刷ダイアログをたいということです

static void Main(string[] args) { 



    //public void PrintMyExcelFile() 
    //{ 
Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application(); 

// Open the Workbook: 
Microsoft.Office.Interop.Excel.Workbook wb = excelApp.Workbooks.Open(
    @"C:\hello.xls", 
    Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
    Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
    Type.Missing, Type.Missing,Type.Missing,Type.Missing); 

// Get the first worksheet. 
// (Excel uses base 1 indexing, not base 0.) 
Microsoft.Office.Interop.Excel.Worksheet ws = (Microsoft.Office.Interop.Excel.Worksheet)wb.Worksheets[1]; 

// Print out 1 copy to the default printer: 
ws.PrintOut(
    Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
    Type.Missing, Type.Missing, Type.Missing, Type.Missing); 




// Cleanup: 
GC.Collect(); 
GC.WaitForPendingFinalizers(); 

Marshal.FinalReleaseComObject(ws); 

wb.Close(false, Type.Missing, Type.Missing); 
Marshal.FinalReleaseComObject(wb); 

excelApp.Quit(); 
Marshal.FinalReleaseComObject(excelApp); 



} 
    } 




    } 

もし私が望むなら、私は特定のプリンタを選ぶかもしれません。
Excel用に12.0.0.0 .NETの相互運用機能を使用しています。 誰もが考えている?事前

答えて

8

おかげ印刷ダイアログは、.NETからアクセス可能で、12.0のPIAを使用してExcel 2007でうまく動作します。ただし、Dialog.Show()コマンドには30のオプションパラメータがあります。将来的にはC#4.0では省略可能なパラメータを省略することができ、VB.NETでは必須ではありませんが、C#3.0以下ではオプションのパラメータとしてType.Missingを指定する必要があります。すべて30人:

Show()メソッドは、操作が成功したことを示すために 'true'を返します。ユーザーがキャンセルボタンまたはエスケープ(esc)キーを押したことを示すために「false」を返し、アクションは発生しませんでした。

これはあなたが行くことを望んでいます...

+0

もう一度、救命救助者でありがとう!あなたの助けは非常に高く評価されています – yeahumok

+0

もちろん、問題ありません! :-) –

+0

私は上記のコーディングを行っていました。私も同様のプロセス、すなわち印刷プレビューオプションで問題があります。 まずExcel.Application excelApp =新しいまずExcel.Application()。 Excel.Workbook wb = excelApp.Workbooks.Open(@ "C:\\ Documents and Settings \\ Admin \\ Desktop \\ DoCoMo \\ news5.xls"、Type.Missing、Type.Missing、Type。行方不明、Type.Missing、Type.Missing、Type.Missing、Type.Missing、Type.Missing、Type.Missing、Type.Missing、Type.Missing、Type.Missing、Type.Missing、Type.Missing)。 Excel.Worksheet ws =(Excel.Worksheet)wb.Worksheets [1]; –

関連する問題