• ベストアンサー

既存で開いているファイルのファイル名を変更したいです

C#でWEBサーバー開発をしているものです。 C#で既存に開いているファイルに対して 名前を付けて保存をするには どうしたら良いでしょうか? 簡潔に言ってしまうと WindowsのEXCELでファイルを開いて それをcsv形式で保存する。ということを C#でやりたいと思っています。 どなたかご教授ください。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

C#でExcelを操作するにはVisual Studio Tools for Officeが必要なようですが、Professional以上でないと使えないようです。お使いのC#のEditionはなんでしょうか? Professional以上で含まれているのであれば、Workbook.SaveAsメソッドで実現できそうです。 http://msdn.microsoft.com/ja-jp/library/microsoft.office.tools.excel.workbook.saveas.aspx

k_haruhi
質問者

補足

早速のご返答ありがとうございます。 EditionはProfessionalを使用しています。 しかしVisual Studio Tools for Officeが含まれていないので Workbook.SaveAsメソッドは使うことが出来なそうです;; ちなみにツールはActive Reportというものを 使用しています。 貴重なご意見ありがとうございました。

その他の回答 (1)

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.2

ProfessionalならTools for Officeはパッケージに含まれているので、インストールすれば使えます。 http://msdn.microsoft.com/ja-jp/library/bb398242.aspx ただ、ActiveReportsでExcelを制御しているのなら、同様のことを実現するAPIがActiveReportsにもあるはずです。

関連するQ&A

  • txtファイルを「,」で区切ったcsvにしたい

    txtファイルをcsvに変換しようとしています。 要はカンマ「,」でtxtファイルの中の文字を区切りたいのです 「excelで名前を付けて保存」→「保存するファイル形式」でCSVを選択すればできるのですが、excelを持っておらず困っています。 無料でできる簡単ないい方法はありますか? ちなみに、open officeやkingsoftの無料officeで「名前を付けて保存」→「保存するファイル形式」でCSVを試してみたのですが、ダメでした。OSはwin7とMacOS10.8を使っています。winでできればベストですが、ダメならMacでも大丈夫です。

  • エクセル Web上のExcelファイルをCSV形式で保存したい!

    WEB上のエクセルファイルをファイルのダウンロードで保存を選択します。 すると、「名前をつけて保存」画面になるので、ファイル形式をCSVにしたいのですが、[Microsoft Excelワークシート][すべてのファイル]の2種類しか選択できません。 どのようにしたらファイルの種類にCSVを表示できるのでしょうか?? おわかりの方教えてくださーい!

  • エクセルで保存時のファイル名

    エクセルでファイルを書き込む(「ファイル」-「名前を付けて保存」) 時に、セル内にあるテキストをファイル名として自動的に書き込み時に 指定する事はできるでしょうか。 例えば A1セルに"名古屋"、A2セルに"10月"と入っている時に 「名前を付けて保存」で、ファイル名=名古屋10月.csv (ファイルの種類はCSV)としたいのですが。 ご教授、よろしくお願いいたします。

  • エクセルで既存のファイル名で保存。

    エクセルで、新規作成でデータを打ち込んでいたのですが、誤って既存のファイル名で保存してしまいました。おかげで大事なファイルが壊れてしまい、復元もできません。どうしたらいいでしょうか?誰か大至急教えて下さい。

  • csvファイルの保存

    名前を付けて保存でcsvファイル形式で保存した後、 ブックを閉じるともう一度「保存しますか?」というメッセージが必ず出ます。 普通のエクセルファイルだと出ないし、csvファイルを保存後、編集していない時も必ず出ます。 なぜこのようなメッセージが出るのでしょうか?

  • 【Excel】Excelで作ったファイルをCSVで保存するには?

    超初心者な質問ですみません。(>_<) Excelで作成したファイルをCSVで保存したいんです。 (1)Excelファイルを開く。 (2)「名前をつけて保存」を選択し、ファイル名のお尻にYYYYMMDDをつけ(Product_20050901.csv)、「ファイルの種類」を「CSV(カンマ区切り)」にして保存する。 (3)指定フォルダにCSVファイルが作成される。 (4)出来上がったCSVファイルを開こうとすると、「SYLK:ファイル形式が正しくありません」という警告が出てファイルが開かない。 という現象が起きてしまいます。 何がいけなかったんでしょう? どうしたらCSVで保存できますか?教えてください!

  • CSV形式のファイルについて

    私の家のofficeは2007を使用しています。 それでデータをCSV形式で保存して『ArcMap9.2』で読み込む予定です。 しかし、CSV形式で保存したファイルをEXCELで開こうとすると 『開こうとしているファイル'○○○○.csv'の形式は、ファイル拡張子が示す形式と異なります。このファイルを開く前に、ファイルが破損していないこと、信頼できる発行元からのファイルであることを確認してください。ファイルを今すぐ開きますか? [はい(Y)][いいえ(N)][ヘルプ(H)]』 という、ウィンドウが出てきます。 とりあえず、それで開いても見れることは見れるのですが、ArcMapで読み込むことができないんです。 どなたか、ご存知の方教えてください。

  • ファイル名がファイルというファイル

    windows7です。 他のPCと共有しているHDのフォルダ内に ファイルの種類がファイルというファイルが どんどん出来て困っています。 共有しているのはWindows XPです。 このフォルダにはマクロを使用した[A]というエクセルファイルが 含まれており、だいたい同じ大きさのサイズです。 ちなみに不明のファイルをエクセルで開くと その[A]のエクセルファイルの数値が入っていないものが立ち上がります。 自動保存が上手くいってないのでしょうか? 名前は 082EC000 317DC200 など8文字のファイル名です。 どなたかご教授下さい。

  • EXCEL VBAでのCSVファイルの編集

    CSVファイル(ダブルクォーテーション)形式のファイルをEXCEL VBAにて行の編集(削除)をした後、上書き保存をしたらダブルクォーテーション区切りではなくカンマ区切りのCSVファイルの形式になってしまいます。 ダブルクォーテーション区切りのCSVファイルで上書き保存する記述があれば教えて下さい。おそらくEXCELでCSV形式の上書きはCSV2の形式で保存されるみたいです。 困っています。どなたかお助け下さい。

  • Excel CSVファイル セル名を名前として保存

    いつもありがとうございます。エクセル2003XPです。 毎回USBメモリーに上書きされてくる、同名のCSVファイルを別エクセルファイルに読み込む作業をしております。 その作業は外部データの読み込みを記憶マクロとして問題ないのですが、エクセルに読み込んだCSVファイルは、かぶらないようにそのつど、Kill を使い削除しております。 ただ完全に削除なので対策として、 読み込んだCSVファイルの1行目のセル名をファイル名として名前を変えて保存、 PCの"C:\Documents and Settings\元データ に毎回CSVもしくは、エクセルファイルに名前を変更して保存する処理をボタンひとつで出来ないか、考えております。 ネットで色々と検索をしておりますが、勉強不足です。 参考でサンプルマクロは見つけましたが、どのように変更すれば良いか分かりません。ご享受いただければ助かります。 CSVファイル名 : log001.csv(毎回、USB) 保存したいファイル名 : CSVファイルを開いた時のA1のセル名(日付です) 保存場所 : PCのマイドキュメントの元データファイル 保存したいファイル形式 : CSVもしくはExcelファイル Sub THSFILE_SAVE() Dim myFname0 As String Dim myFname As String On Error GoTo ERRH '現在のファイル名取得 myFname0 = ThisWorkbook.Name '新しいファイル名をセルA1の値とする myFname = Sheets(1).Range("A1").Value '同じ階層に保存 ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & myFname If myFname0 <> myFname & ".xls" Then '前の名前のファイルを削除する場合は下の一行を有効にしてください 'Kill ThisWorkbook.Path & "\" & myFname0 End If Exit Sub ERRH: End Sub この処理はCSVファイルの読み込み先のエクセルファイルから、行いたいと考えております。 よろしくお願致します。