• ベストアンサー

VB.NETで.xlsファイル読み取り

dataGridViewにあるフォルダ内の複数.xlsファイルを読み取りして表示したいです。一件の固定パスだったら、できましたけど、複数件は。。。? イメージ図も添付いたします。 よろしくお願いします。 環境: Windows XP Visual studio 2005 VB.NET

この投稿のマルチメディアは削除されているためご覧いただけません。

質問者が選んだベストアンサー

  • ベストアンサー
  • rk_les
  • ベストアンサー率63% (23/36)
回答No.4

こんにちは。 そういうことでしたか^^; Sub SetDGV() For Each strFilePath As String In System.IO.Directory.GetFiles("C:\hoge\hogehoge\hoge", "*.xls") '//****** '*ここにxlsをDataGridViewに読み込む処理を記述 '* '*xlsファイルパス:strFilePath '* '*DataGridViewの一番最後の行番号からAddするようにしてください。 '******// Next strFilePath End Sub コメント部分に表示処理を入れるだけで完成です。

vs2005
質問者

お礼

(ToT)ありがとうございます。 早速やってみます。

その他の回答 (3)

  • rk_les
  • ベストアンサー率63% (23/36)
回答No.3

こんにちは。 現在実行環境がないのと時間がないので参考サイトを紹介させて頂きます。 どぼん様 http://dobon.net/vb/dotnet/form/openfiledialog.html openFileDialogを使えばファイルを簡単に指定することができます。 複数指定することもできますので参考にしてください。 前回記述したDragDrop,DragEnterイベントは不必要になります。 参考までに

vs2005
質問者

お礼

有難うございました。

vs2005
質問者

補足

ごめなさい、僕の説明が良くないです。 フォルダは固定パスで、画面を開くと自動的にその固定パスのフォルダから各.xlsファイルを読み取りし全部一覧表示したかったです。

  • rk_les
  • ベストアンサー率63% (23/36)
回答No.2

Dim strFolderPass As String = "" Private Sub ListBox1_DragEnter(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox1.DragEnter If e.Data.GetDataPresent(DataFormats.FileDrop) = False Then Return End If 'ドラッグしているファイル/フォルダの取得 Dim FilePath() As String = CType(e.Data.GetData(DataFormats.FileDrop), String()) For i As Integer = 0 To FilePath.Length - 1 Step 1 strFolderPass += FilePath(i) Next i e.Effect = DragDropEffects.Copy End Sub Private Sub ListBox1_DragDrop(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles ListBox1.DragDrop For Each strFilePath As String In System.IO.Directory.GetFiles(strFolderPass, "*.xls") ListBox1.Items.Add(strFilePath) Next strFilePath End Sub Private Sub ListBox1_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.DoubleClick If ListBox1.SelectedIndex >= 0 Then '//****** '*ここにxlsをDataGridViewに読み込む処理を記述 '* '*xlsファイルパス取得方法:ListBox1.SelectedItem.ToString() '* '*DataGridViewに読み込む際For文で回してAddしていく。 '* '******// End If End Sub //********** **********// の中に処理を記述してください。 For文で回す際0から始めると上書きされるのでDataGridView1.Rows.Countを使ってDataGridViewの一番最後の行番号から始めてください。

vs2005
質問者

補足

いつもありがとうございます。 (*人(エ)<)感謝(>(エ)人*)感謝 ListBoxを使わない場合の書き方も教えていただけませんでしょうか お願いします。

  • rk_les
  • ベストアンサー率63% (23/36)
回答No.1

こんにちは。 1件の固定パスで出来たということなのでそこの部分は省かせていただきますね。 ListBoxかなにかにフォルダに入っているxlsファイルを読み取りAddします。フォルダ内ファイルの読み取りはSystem.IO.DirectoryクラスのGetFiles メソッドなどを使用してください。 追加されたItemをDoubleClickなどのイベントでDataGridViewに追加するイベントを書けば大丈夫です。 手が空いたらサンプルでも乗せたいと思います。

vs2005
質問者

補足

はい、有難うございます。 お願いします。

関連するQ&A

  • VB.NET DataGridViewについて

    VB.NET DataGridViewで表示した4行のデータを1つとして結合したいです。 ご存知の方、教えてください。 環境: Windows XP Visual Studio2005 VB.NET

  • VB.NETでメール送信

    いまVB.NETで入力Formにある送信ボタンの押下イベントで特定した場所にある.xlsファイルをメールに添付して送信したいです。 初心者にはちょっとレベルが高いです。 細かく教えていただければ感謝いたします。 環境: Windows XP Visual studio 2005 VB.NET よろしくお願いします。

  • VBで固定フォルダ内の *.xls を開く

    VBで固定フォルダ内の *.xls (複数ファイル) を順番に(LOOPさせて)開く方法を教えてください!!! EXCELファイルの開き方などは分るのですが、 ・順番に開く ・ファイル名が可変 という2点が分りません>< 宜しくお願いします

  • VB ファイル一覧表示について

    VB初心者です。 現在、指定したフォルダのサブフォルダを含むファイル名一覧を表示したものを作りたいと思い、試行錯誤しております。 ファイル名は、指定したフォルダ以下のパスで表示したものを作りたいと思っているのですが、どうしてもフルパスで表示されてしまいます。 現在、自分が書いているプログラムに拘ろうと思っていませんので、どなたかフルパスではないファイル名一覧表示方法を教えていただけないでしょうか。 環境は、Windows XP 、Microsoft Visual Studio 2008 Express Editionです。 ファイル名一覧表示は、ListViewかListBoxで考えています。 よろしくお願いいたします。

  • xlsファイルのバージョンを取得したい(by VB6)

    仕事でVB6を使っていますので、 どうしてもVB6でやりたいんです。 Excel 2007 で作成されたxlsファイル、 Excel 2003 で作成されたxlsファイル、 Excel 2002(Office XP) で作成されたxlsファイル、 Excel 2000 で作成されたxlsファイル、 Excel 97 で作成されたxlsファイル、 を区別したく、 xlsファイルのExcelバージョンを取得したいです。 しかし、どうやって取得したらいいのか分からないので、 ここに質問させていただきます。 やりたいアルゴリズム : 1 . xls ファイルのフルパスを受け取る。 2 . ファイル情報として、作成されたExcel バージョンを知りたい 3 . バージョンによって分岐させて、処理。 調べて、ヒントになったURLを書きます。 http://support.microsoft.com/kb/178605/ja ==> BIFF8 や BIFF5 など BIFFのバージョン取得なので、やりたい事と違います。 http://excel.geo.jp/tips/vba_153.html ==> この識別を VB6 上でしたいです。 よろしくお願いします。

  • VB6の後継って何ですか?

    Visual Studio 2010 Professional のVB(?)を使ってみましたが、VB6と結構違っていました。 VB6に慣れた人が今後使える開発環境が他にあれば教えてください。 Visual Studio 2010 Professional は使用期限が30日となっていますが、 VBっぽい開発環境で機能は少なくてもよいのですが、無償でずっと使えるものが あれば教えてください。 よろしくお願いします。

  • VB.NETでCD-Rにファイルのバックアップ

    VB.NETでCD-Rにファイルのバックアップを行うアプリを 作成しようと考えているのですが、可能でしょうか? 環境は以下の通りです Windows2000Pro Visual Studio2003

  • xlsファイルのファイル内検索についてです。

    xlsファイルのファイル内検索についてです。 あるフォルダに.xlsファイルが複数個あります。 その中に含まれている6208という数値を Ctrl+F のファイル内検索で検索をかけると 数件はhitしますがhitしないものがあります。 どうしてでしょうか? 尚、中身は同一形式でセルの書式設定も一般になっており hitするものとしないものの差は無いように見えます。 ちなみにhitしないものもファイルを開いた状態で検索するとhitします。

  • WIN8のVB2012で編集できるようにしたい

    win7のVB2012で作成したプロジェクト丸ごとを、 WIN8のVB2012で編集できるようにしたいのですが どのような手続きが必要でしょうか? WIN8二は既にVB2012はインストール済みです。 その後の方法を教えてください。 C:\Users\win7\Documents\Visual Studio 2012\Projects に入っているフォルダを C:\Users\win8\Documents\Visual Studio 2012\Projects に移動させればいいのでしょうか?

  • VB.netで初めてレポートを作成するのに役立つサイト

     WindowsXP Visual Studio の環境下です。  VB.netで初めてレポートを作成する際に、役立つ情報が載っているサイト等 はありますでしょうか。 webを検索しましたが、レポートでは良い情報が見つかりませんでした。  よろしくお願いします。