2011-12-23 12 views
0

私のC#コードからExcelファイルを開こうとしています。VBAコード付きExcelワークブックを開く - VSTOに通知するエラー

workBook = workBooks.Open(fileName,    //filename 
          0,      //updatelinks 
          true,     //readonly 
          5,      //format 
          "",      //password 
          "",      //WriteResPassword 
          true,     //IgnoreReadOnlyRecommended 
          XlPlatform.xlWindows, //Origin 
          "\t",     //Delimiter 
          false,     //Editable 
          false,     //Notify 
          0,      //Converter 
          true,     //AddToMru 
          1,      //Local 
          0);      //CorruptLoad 

私はExcelが、その中にいくつかの誤りがある場合、コードはworkBooks.Openでハングアップしていることがわかります。 私はdisplayプロパティをtrueにしておきました。それは、Excelにエラーがあることに気づいたときです。さらに調査したところ、エラーがExcelのvbaコードによって発生していることがわかりました。私の要件は、ファイル内のエラーを無視するか、ファイル自体を無視できるように、C#コードをどのように通知するかです。

+0

初心者のために、400個の引数がそれぞれ何のために記述されているのか、いくつかの '// comments'インラインで?もちろん、あなたのせいではありませんが、それはいくつかの署名です... – Yuck

+0

名前付きパラメータのある.Net4では、より良い方法でパラメータを渡すことができます。interopは本当に醜いです:(とにかく、これは例外ではありませんか? ? –

+0

@Saeed、Thanks ..Interopは本当に非常に醜いです。私はそれに多くの苦労しています。それは例外をスローしません。ちょうどハングアップ!!!あなたは4.0でこれを行う方法を知っていますか? – Nishant

答えて

1

あなたは何をしようとしますか?多分、Microsoft Open XML SDKを使用すれば十分でしょうか?
これでExcelファイルを読み取り、作成、編集することができます。

+0

私はExcelファイル内の名前付き範囲をすべて取得したいと思います。 Open XMLで可能ですか? – Nishant

+0

http://msdn.microsoft.com/en-us/library/gg294173.aspx – Remy

関連する問題