VB Excel操作テクニック.NET

VBでExcelを読込み、操作するテクニック集。貼付だけで機能するソースコードも公開。
シート名や番号を指定してExcelシートを削除する
シート名や番号を指定してExcelシートを削除する

シート名や番号を指定してExcelシートを削除する

指定したシート番号のSheetを削除する処理です。

以下のコードではシートインデックスを指定していますが、番号の部分をシート名にしても同様の削除処理を行うことが可能です。


' Excelアプリケーション
Dim xlApp As Application = Nothing

' ワークブック
Dim xlBooks As Workbooks = Nothing
Dim xlBook As Workbook = Nothing

' シート
Dim xlSheets As Sheets = Nothing
Dim xlSheet As Worksheet = Nothing

' Excelを開く
xlApp = New Application
xlApp.DisplayAlerts = False
xlBooks = xlApp.Workbooks
xlBook = xlBooks.Open("対象Excelまでのパス")
xlSheets = xlBook.Worksheets
xlSheet = DirectCast(xlSheets(1), Worksheet)   ' 1シート目を操作対象に設定

' 選択中のシート(1シート目)を削除
xlSheet.Delete()

' Excelを表示して3秒間表示
xlApp.Visible = True
System.Threading.Thread.Sleep(3000)

' ■■■以下、COMオブジェクトの解放■■■

' Sheetのクローズ処理
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheet)
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheets)

' Excelのクローズ処理
xlBook.Close()
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBook)
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBooks)

' アラートを戻す
xlApp.DisplayAlerts = True

' ExcelApplicationを閉じる
xlApp.Quit()
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp)

'

※ COMオブジェクトの解放をまとめたい方は、こちらでメソッドの紹介をしています。

« »