ファイルの存在チェックにおいて
ファイルがある場合に上書き保存をしてファイルを開き、
ファイルがない場合に、用意しておいたファイルをコピーして別名で保存しファイルを開くようにする
ということをしているのですが、
上書き保存してファイルを開く方法が分かりません。
以下はファイルチェックのコードです。
// ファイル存在チェック if (System.IO.File.Exists(fpath) == true) { // ファイルあり } else { // ファイル無し // テンプレートファイルをコピーして別名ファイルで開く System.IO.File.Copy(@"用意しておいたファイルの格納場所\ファイル", fpath); } // ファイルチェック if (System.IO.File.Exists(fpath) == true) { //ファイルがある場合の処理 Application xlsApp = new Application(); //指定したパスのExcelを起動 Workbook wb = xlsApp.Workbooks.Open(Filename: fpath); //シートを指定 Worksheet sheet = wb.Sheets[1]; sheet.Select(); #region ===セルへの入力=== //省略 #endregion ===セルへの入力=== //Excelを開く xlsApp.Visible = true; // エクセル終了時の処理 xlsApp.Quit(); //シートオブジェクト開放 System.Runtime.InteropServices.Marshal.ReleaseComObject(sheet); //ブックオブジェクト開放 System.Runtime.InteropServices.Marshal.ReleaseComObject(wb); //エクセルオブジェクト開放 System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsApp); } else { //ファイルがない場合の処理 return; } }
fpathはコピー後のファイルパスを変数に代入したものとなっています。
このままだとコピーして作られたファイルがそのまま開かれるようになっています。
順序としてはもとからあるファイルにプログラムでセルの中身を書き、データを渡し、開く。
このとき、もとからあるファイルをコピーして別名で保存するようにしてあります。
そのファイルが作成済みの場合に上書きという形にしたいのです。
ファイルがない場合は、あるコードを取得してきて、そのコードをテキストとして
ファイル名に追加するようにしています。
回答2件
あなたの回答
tips
プレビュー