初心者なんですが、フォルダの中の文章を表示させるプログラムってVBでできるんでしょうか?参考書を見ても難しかったり、どこを見ればいいかとかがわかりません。どういう風にプログラムを作ればいいかわかる方少しでもいいんで願いします。

A 回答 (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
    • good
    • 0

可能ですよ。

フローとしては、

1.ユーザから検索するフォルダのパスを入力させる。
2.入力されたパスの配下にあるファイル名一欄を取得し、
 ファイルが1つ以上存在するならば一欄を表示する。
3.ファイル名一欄の中からユーザに表示させたいファイル名を選択させる。
4.選択されたファイルを開き内容を取得し表示する。

が簡単なフローですね。(エラー処理は除く)
どうでしょうか?
    • good
    • 0

フォルダ内の文章とは、


1.あるフォルダにある文章ファイル(*.txt)の内容を表示したい?
2.それともあるフォルダにある文章ファイルの一覧を表示したい?
3.さらに表示はVBで作ったAP上に表示したい?
4.又はメモ帳等で表示させたい?

以上全てはVBで実現できますよ。
欲しい機能はどれでしょうか?コーディングする前に機能を明確にする方が大事ですよ。
⇒業界ではこれを「機能仕様」なんて呼んだりもします。
    • good
    • 0
この回答へのお礼

すいません。フォルダ内の文章とはメモ帳に書いた文章のことで、メモ帳をフォルダに入れていたのでそう書いてしまいました。メモ帳の名前をtest.txtとしたんですけど、これをつかってVBでtest.txt内の文章を表示させることはできますか?

お礼日時:2001/11/08 13:28

「フォルダの中の文章」とは、フォルダ内のファイルを表示すると言うことでしょうか?


windowsのエクスプローラのように。
    • good
    • 0
この回答へのお礼

 お早い返事ありがとうございました。フォルダ内の文章とはメモ帳で書いた文章のことです。メモ帳の名前を使ってその内容を表示できるプログラムを作りたいと思っています。

お礼日時:2001/11/08 13:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ