- ベストアンサー
プログラムについて
初心者なんですが、フォルダの中の文章を表示させるプログラムってVBでできるんでしょうか?参考書を見ても難しかったり、どこを見ればいいかとかがわかりません。どういう風にプログラムを作ればいいかわかる方少しでもいいんで願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
サンプルです。 必要なもの フォーム1[Form1] TextBox[Text1] DriveListBox[Drive1] DirListBox[Dir1] FileListBox[File1] それぞれツールボックスから選択して貼り付けてください。 テキストボックス[Text1]は、この時プロパティの調整が必要です。 MultiLine = True ScrollBar = 0-なし 以外だったら何でもいいです 処理内容 1.フォームロード時にテキストボックスを初期化 2.ドライブリストボックス/ディレクトリリストボックスのチェンジイベントで、フォルダを指定 3.ファイルリストボックスのダブルクリックで、そのファイルのテキスト内容を表示 Option Explicit 'フォルダリストのパスが変更されたとき、ファイルリストのパスも変更 Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub 'ドライブリストのパスが変更されたとき、フォルダリストのパスも変更 Private Sub Drive1_Change() Dir1.Path = Drive1.Drive End Sub 'ファイルリストボックスをダブルクリックで、ファイル内容を表示 Private Sub File1_DblClick() Dim wkPath As String Dim wkFile As String Dim wkFileFullPath As String 'パスを取得 wkPath = File1.Path wkPath = IIf(Right(wkPath, 1) = "\", wkPath, wkPath & "\") 'ファイル名を取得 wkFile = File1.List(File1.ListIndex) 'ファイルフルパスを取得 wkFileFullPath = wkPath & wkFile 'ファイルの中身を取得 Text1.Text = getText(wkFileFullPath) End Sub 'フォームロード時に初期化 Private Sub Form_Load() Text1.Text = "" End Sub '指定のファイル内の文字列を取得する関数 Private Function getText(inFilePath As String) As String Dim lngFile As Long 'ファイルナンバ Dim lngFileSize As Long 'ファイルサイズを取得 lngFileSize = FileLen(inFilePath) '読み込みバッファの領域確保 ReDim fileBuf(lngFileSize - 1) As Byte 'バッファを取得 lngFile = FreeFile Open inFilePath For Binary As #lngFile Get #lngFile, , fileBuf Close #lngFile '取得した文字列を返す getText = StrConv(fileBuf, vbUnicode) End Function
その他の回答 (3)
- y_herohero
- ベストアンサー率30% (72/239)
可能ですよ。フローとしては、 1.ユーザから検索するフォルダのパスを入力させる。 2.入力されたパスの配下にあるファイル名一欄を取得し、 ファイルが1つ以上存在するならば一欄を表示する。 3.ファイル名一欄の中からユーザに表示させたいファイル名を選択させる。 4.選択されたファイルを開き内容を取得し表示する。 が簡単なフローですね。(エラー処理は除く) どうでしょうか?
- y_herohero
- ベストアンサー率30% (72/239)
フォルダ内の文章とは、 1.あるフォルダにある文章ファイル(*.txt)の内容を表示したい? 2.それともあるフォルダにある文章ファイルの一覧を表示したい? 3.さらに表示はVBで作ったAP上に表示したい? 4.又はメモ帳等で表示させたい? 以上全てはVBで実現できますよ。 欲しい機能はどれでしょうか?コーディングする前に機能を明確にする方が大事ですよ。 ⇒業界ではこれを「機能仕様」なんて呼んだりもします。
- uc078
- ベストアンサー率22% (28/127)
「フォルダの中の文章」とは、フォルダ内のファイルを表示すると言うことでしょうか? windowsのエクスプローラのように。
お礼
お早い返事ありがとうございました。フォルダ内の文章とはメモ帳で書いた文章のことです。メモ帳の名前を使ってその内容を表示できるプログラムを作りたいと思っています。
お礼
すいません。フォルダ内の文章とはメモ帳に書いた文章のことで、メモ帳をフォルダに入れていたのでそう書いてしまいました。メモ帳の名前をtest.txtとしたんですけど、これをつかってVBでtest.txt内の文章を表示させることはできますか?