掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
起動時にExcelから読込み (ID:115268)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
レスありがとうございます。 VBレスキュー(花ちゃん)のページでExcelファイルを読み込んで TextBoxに表示というのを見つけたのですが、 これはTextBoxではなく、ListViewに表示というのは 可能ですか? http://www.bcap.co.jp/hanafusa/ (DAOを使ってExcelデータを読み込みテキストボックスに表示・他) もし可能でしたらどのようにしたらいいのか 参考にヒントを頂けないでしょうか? Option Explicit '1.DAOでExcelファイルを読み込みテキストボックスに表示 Private Sub Command1_Click() Dim DB As DAO.Database Dim RS As DAO.Recordset Dim xlFileName As String Dim xlSheetName As String Dim MyData As String '読込用のExcelファイル(パスを間違えないように) xlFileName = App.Path & "\Sample.xls" xlSheetName = "Sheet1" & "$" 'データベース(xlFileName)のオープン(HDR=NO で項目を読込まない) Set DB = OpenDatabase(xlFileName, False, False, "Excel 8.0;HDR=NO;") 'Recordsetオブジェクトのオープン Set RS = DB.OpenRecordset(xlSheetName) '末尾レコードまでのデータを読込 Do Until RS.EOF With RS 'A列・B列・C列のデータを取得 MyData = MyData & .Fields(0) & vbTab & .Fields(1) & _ vbTab & .Fields(2) & vbCrLf .MoveNext '次のレコードに移動 End With Loop '取得したデータをテキストボックスに表示 Text1.Text = MyData RS.Close DB.Close Set RS = Nothing Set DB = Nothing End Sub '2.DAOによるExcel用データの編集 Private Sub Command2_Click() 'B列の3行目のセルの内容を書換 Dim DB As DAO.Database Dim RS As DAO.Recordset Dim xlFileName As String Dim xlSheetName As String xlFileName = App.Path & "\Sample.xls" xlSheetName = "Sheet1" & "$" Set DB = OpenDatabase(xlFileName, False, False, "Excel 8.0;HDR=NO;") Set RS = DB.OpenRecordset(xlSheetName) With RS .MoveFirst .Move CLng(2) '3行目に移動 .Edit '現在ポイントされている行の編集開始 .Fields(1) = Text2.Text 'B列を編集 .Update '編集終了 .Close End With DB.Close Set RS = Nothing Set DB = Nothing Command1.Value = True End Sub '3.DAOによるExcelファイルのシート名の読込 Private Sub Command3_Click() 'Excelのシート名及びシート数を高速に取得 Dim DB As DAO.Database Dim Tbl As DAO.TableDef Dim xlFileName As String Dim nCount As Long List1.Clear List1.Visible = False xlFileName = App.Path & "\Sample.xls" Set DB = OpenDatabase(xlFileName, True, True, "Excel 8.0;") For Each Tbl In DB.TableDefs ' Debug.Print Tbl.Name 'If (Tbl.Attributes And dbSystemObject) Then If Right$(Tbl.Name, 1) = "$" Or Right$(Tbl.Name, 2) = "$'" Then '名前ボックス等に表示される範囲名等を除く 'ワークシート名には自動的にシート名の後ろに $ が付くので List1.AddItem Tbl.Name nCount = nCount + 1 'シート数を取得する場合 End If Next Tbl List1.Visible = True List1.Move 150, 270, 2445, 2040 DB.Close Set DB = Nothing MsgBox "合計 " & nCount & " 個のシートがありました。" End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.