シートの一覧を取得する
よく使いそうなので載せておきます
サンプル
指定されたファイルのシート一覧を取得して、コンボボックスにセットします。
Dim dtSheets As DataTable = Nothing Private Sub frmXlsCreator6_SheetsCount_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Edit1.Text = My.Computer.FileSystem.SpecialDirectories.MyDocuments & "\vbnetdb_ExcelCreatorSample.xls" End Sub Private Sub btnGetSheetName_Click(sender As System.Object, e As System.EventArgs) Handles btnGetSheetName.Click getSheetList(Edit1.Text) setSheetsCombo() End Sub '''''' シート名を取得してデータテーブルにセットします ''' '''Private Sub getSheetList(ExcelFileNmae As String) Try 'とりあえずDataTableにセットするため、DataTableの用意 dtSheets = New DataTable dtSheets.Columns.Add("SheetNo", GetType(Integer)) dtSheets.Columns.Add("SheetName", GetType(String)) 'ExcelCreator でファイルを開きます XlsCr1.OpenBook(ExcelFileNmae, "") 'シート名を取得してDataTableに入れておきます。 For i As Integer = 0 To XlsCr1.SheetCount - 1 Dim drow As DataRow = dtSheets.NewRow drow.Item("SheetNo") = i drow.Item("SheetName") = XlsCr1.SheetName2(i).TrimEnd dtSheets.Rows.Add(drow) Next 'Excelファイルを閉じます。 XlsCr1.CloseBook(False) Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub ''' ''' シート名コンボボックスにセットします ''' '''Private Sub setSheetsCombo() Try If Not IsNothing(dtSheets) Then Combo1.Items.Clear() For Each drow As DataRow In dtSheets.Rows Combo1.Items.Add(drow.Item("SheetName")) Next Combo1.SelectedIndex = 0 End If Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub
<画面>
こんな感じです。
履歴
- 2015/01/12
- 公開