今回は特定のエクセルファイルにシート追加、名称変更をするがテーマ!

 

■前提
 今回はMicrosoft.Office.Interop.Excelを使用するので参照設定を
 追加する必要があります。

 

※注意!
COMオブジェクト解放(ReleaseComObject)の処理とかしてないので、
途中終了とかするとプロセスが残り続けます。
取り敢えず動かしてみたい!って人向けの簡単なコードです。

 

■17~20行目
 →EXCELの起動および指定ファイルを開く処理を行います。
  「ExcelApp.Visible = (  )」はtrue、falseにすることが出来ますが
  エクセルの画面が見えるか見えないかだけの違いかと思います。
  ここは実際に試してみた方が分かりやすいです。
  
  この時点でなんかエラーで起動できない!とかあったら以下の記事内容も
  お試しください。(Office修復、再インストール、レジストリチェック、ビルド変更)

【C#】EXCEL起動 エラー回避

 

■23~24行目
 →シートの追加にはAddメソッドを使います。
  「After:~~」の箇所が、どこのシートの後に追加するかって感じです。
  なので、シートの最大数(bef_totalSheets)を設定してあげることで
  末尾に新規シートを追加することが可能です。
   ※この時点では追加されるシート名はデフォルトの「Sheet~」

■27~30行目
 →ここではさっき追加したシート名の名称変更を行います。

  1.まずはシート追加後のシート数の取得を行います。
  23行目と同じくシートの最大数を取得するのですが、
  シート追加した後の値が欲しいので新しく変数を設定します。(aft_totalSheets)

  2.次に末尾シート名の取得です。
  ここはそのままな感じですね、(aft_totalSheets)番目の名称です。

  3.ここで名称変更です。
  2.で設定したシート名を変更する処理ですね。
  31文字より多い文字列に設定するとエラーになるので注意しましょう。
   ※EXCEL自体も32文字以上のシート名に出来なかったかと思います。