シートを削除

ExcelCreatorでシートを削除するには、DelSheetメソッドを使います。

書式 : Public Sub DelSheet(ByVal sheetno As Integer, ByVal count As Integer)
引数 : sheetno 削除するシート番号 (0 ~ ) を設定
     count  削除するシート数 (1 ~ ) を設定

説明 : 引数 count に全シート数を超える値を設定すると、存在する全てのシートを削除 
注意 : マクロ、VBA が設定された Excel ファイルのシートは削除できません

サンプル1

サンプルプログラム

シートを追加する、で追加したシートを削除します。

    ''' 
    ''' シート削除
    ''' 
    ''' 対象のExcelファイル名
    ''' 開始シートNo
    ''' 削除するシート数
    ''' 
    Private Sub xlsDeleteSheet(ByVal FileName As String, ByVal StartSheetNo As Integer, ByVal deleteSheetCount As Integer)
        Dim xlsCr As New ExcelCreator.XlsCreator

        Try

            'ファイルの存在チェック
            If Not System.IO.File.Exists(FileName) Then
                MessageBox.Show("指定のファイルがありません..", "ファイルを確認して下さい", _
                                MessageBoxButtons.OK, MessageBoxIcon.Information)
                Exit Try
            End If


            'ExcelFileを開く
            If xlsCr.OpenBook(FileName, "") > -1 Then

                '指定数のシートを削除します
                xlsCr.DelSheet(StartSheetNo, deleteSheetCount)

                'ファイルを保存して閉じます
                xlsCr.CloseBook(True)
            Else
                MessageBox.Show("指定のExcelファイルが読めません..", "ファイルを確認して下さい", _
                                MessageBoxButtons.OK, MessageBoxIcon.Information)
            End If

        Catch ex As Exception
            Throw ex
        Finally
            xlsCr.Dispose()
        End Try
    End Sub

サンプル2 シート名を指定してシートを削除

シート名を指定してシートを削除する時は、SheetNo2プロパティでシート番号を取得してからDelSheetメソッドを使います。

SheetNo2 プロパティ
書式 : Public Function SheetNo2(ByVal sheetname As String) As Integer
引数 : sheetname シート名
     count  削除するシート数 (1 ~ ) を設定
戻り値: シート番号(integer)

説明 : シート番号は左端から 0 から数えた番号が取得されます。
     設定したシート名が Excel ファイルに存在しない場合、戻り値は -1 となります。

シート名を指定してシートを削除

    ''' 
    ''' シート名でシート削除
    ''' 
    ''' 対象のExcelファイル名
    ''' シート名
    ''' 
    Private Sub xlsDeleteSheetByName(ByVal FileName As String, ByVal SheetName As String)
        Dim xlsCr As New ExcelCreator.XlsCreator
        Dim Msg As String = ""
        Dim MsgTitle As String = ""

        Try

            'ファイルの存在チェック
            If Not System.IO.File.Exists(FileName) Then
                Msg = "指定のファイルがありません.."
                MsgTitle = "ファイルを確認して下さい"
                MessageBox.Show(Msg, MsgTitle, MessageBoxButtons.OK, MessageBoxIcon.Information)
                Exit Try
            End If


            'ExcelFileを開く
            If xlsCr.OpenBook(FileName, "") > -1 Then

                'シート名からシート番号を取得します
                Dim SheetNo As Integer = xlsCr.SheetNo2(SheetName)
                If SheetNo > 0 Then
                    '指定数のシートを削除します
                    xlsCr.DelSheet(SheetNo, 1)
                Else
                    Msg = "指定されたシートが見つかりませんでした.."
                    MsgTitle = "シート名を確認して下さい"
                    MessageBox.Show(Msg, MsgTitle, MessageBoxButtons.OK, MessageBoxIcon.Information)
                End If

                'ファイルを保存して閉じます
                xlsCr.CloseBook(True)
            Else
                Msg = "指定のExcelファイルが読めません.."
                MsgTitle = "ファイルを確認して下さい"
                MessageBox.Show(Msg, MsgTitle, MessageBoxButtons.OK, MessageBoxIcon.Information)
            End If

        Catch ex As Exception
            Throw ex
        Finally
            xlsCr.Dispose()
        End Try
    End Sub

履歴

2011/11/30
「シート名を指定してシートを削除」を追記
2011/11/30
公開
Loading