• 締切済み

C#にてエクセルの名前をつけて保存の方法

お世話になります。 C#を勉強中ですが、既存エクセルの起動及び停止。又は新規エクセルの 起動はわかったのですが、処理後の名前をつけて保存方法がわかりません。 いろいろやってみたのですが***はコンテキスト内に存在しませんと エラーになります。どこが悪いのでしょうか教えてください。 Workbook.SaveAs("c:\\Lot\\AA\\51.xls", Type.Missing, Type.Missing, Excel.XlFileFormat.xlXMLSpreadsheet,Type.Missing,Type.Missing,false,false, Excel.XlSaveAsAccessMode.xlNoChange,Type.Missing,Type.Missing,Type.Missing); 上記のようにcドライブ直下のLotのフォルダーに保存を行いたいのですが書き方を変更すると、usingに足りないものがあると別のエラーが出ます。 併せてよろしくお願いします。

みんなの回答

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.4

n-junです。 一応こちらの環境ですが、 Visual C# 2005 EE + Excel2002 です。

すると、全ての回答が全文表示されます。
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.3

n-junです。 Excel.Application xlapp; Excel._Workbook xlwb; Excel.Workbooks xlwbs;  {    xlapp = new Excel.Application();    xlapp.Visible = true;    xlwbs = xlapp.Workbooks;    xlwb = xlwbs.Add(Type.Missing);    xlwb.SaveAs("W:\\abc.xls", Excel.XlFileFormat.xlXMLSpreadsheet, Type.Missing,          Type.Missing, Type.Missing, Type.Missing,          Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing,          Type.Missing, Type.Missing,Type.Missing);    xlapp.Quit();  } >Excel.XlFileFormat.xlXMLSpreadsheet の位置を変えてやってみたら保存できました。

masaojisan
質問者

お礼

何度もありがとうございます データが入ってるのは会社のpcでなので今は何も出来ませんし、明日は出張で外出します。 月曜日に確認いたしますので、結果又メールします。

すると、全ての回答が全文表示されます。
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

n-junです。 ExcelVBAのSaveAs メソッドのヘルプと、 【Visual C# 2005 または Visual C# .NET を使用してデータを Excel ブックに転送する方法】 http://support.microsoft.com/kb/306023/ja を見て感じたのですが、 >Excel.XlSaveAsAccessMode.xlNoChange より前で特に >Type.Missing,false,false, false×2個の分だけ多い感じがするのですが、C#的にはOKなのでしょうか? やっぱ的はずれですかね。(C++は挫折しましたし)

masaojisan
質問者

お礼

いや~ 的はずれではないと思いますよ 私もそこは見ましたし、同じように書きましたが駄目でした。 今は何がどう悪いのか全然・・さっぱりです。 多分ちょっとした事なんだと思うのですが、そのちょっとした所が全然思い浮かばなくて。 何度も有り難うございます

すると、全ての回答が全文表示されます。
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

C#は未経験なので違ったらごめんなさい。 >Workbook.SaveAs Workbookは宣言されているものならいい(のかな?) そうでなければExcelならわかってくれると思いますが、C#はわからないのかも。 VB2005なら Dim xlwb As Excel.Workbook = xlApp.Workbooks.Open(~ と宣言して xlwb.SaveAs(~ としてましたものですから。

masaojisan
質問者

お礼

有り難うございます 私もVBでは保存(ちょっと違いますがn-jun様と考え方は同じ)を行っていますので、分かりますが、C#はちょっと違うようで、C++のプログラミングをまねても駄目でした、どこか違うのだと思うのですがそれが分からないため、今既に保存をしている方の意見が又はそのものを頂きたいのです。

すると、全ての回答が全文表示されます。

関連するQ&A