OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

 プログラムについて

  • 困ってます
  • 質問No.164712
  • 閲覧数102
  • ありがとう数2
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 46% (128/273)

初心者なんですが、フォルダの中の文章を表示させるプログラムってVBでできるんでしょうか?参考書を見ても難しかったり、どこを見ればいいかとかがわかりません。どういう風にプログラムを作ればいいかわかる方少しでもいいんで願いします。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.4
レベル12

ベストアンサー率 65% (276/422)

サンプルです。

必要なもの
フォーム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
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル10

ベストアンサー率 22% (28/127)

「フォルダの中の文章」とは、フォルダ内のファイルを表示すると言うことでしょうか? windowsのエクスプローラのように。 ...続きを読む
「フォルダの中の文章」とは、フォルダ内のファイルを表示すると言うことでしょうか?
windowsのエクスプローラのように。
お礼コメント
mos21

お礼率 46% (128/273)

 お早い返事ありがとうございました。フォルダ内の文章とはメモ帳で書いた文章のことです。メモ帳の名前を使ってその内容を表示できるプログラムを作りたいと思っています。
投稿日時 - 2001-11-08 13:31:33
  • 回答No.2
レベル11

ベストアンサー率 30% (72/239)

フォルダ内の文章とは、 1.あるフォルダにある文章ファイル(*.txt)の内容を表示したい? 2.それともあるフォルダにある文章ファイルの一覧を表示したい? 3.さらに表示はVBで作ったAP上に表示したい? 4.又はメモ帳等で表示させたい? 以上全てはVBで実現できますよ。 欲しい機能はどれでしょうか?コーディングする前に機能を明確にする方が大事ですよ。 ⇒業界ではこれを「機能仕様」なん ...続きを読む
フォルダ内の文章とは、
1.あるフォルダにある文章ファイル(*.txt)の内容を表示したい?
2.それともあるフォルダにある文章ファイルの一覧を表示したい?
3.さらに表示はVBで作ったAP上に表示したい?
4.又はメモ帳等で表示させたい?

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

お礼率 46% (128/273)

すいません。フォルダ内の文章とはメモ帳に書いた文章のことで、メモ帳をフォルダに入れていたのでそう書いてしまいました。メモ帳の名前をtest.txtとしたんですけど、これをつかってVBでtest.txt内の文章を表示させることはできますか?
投稿日時 - 2001-11-08 13:28:19
  • 回答No.3
レベル11

ベストアンサー率 30% (72/239)

可能ですよ。フローとしては、 1.ユーザから検索するフォルダのパスを入力させる。 2.入力されたパスの配下にあるファイル名一欄を取得し、  ファイルが1つ以上存在するならば一欄を表示する。 3.ファイル名一欄の中からユーザに表示させたいファイル名を選択させる。 4.選択されたファイルを開き内容を取得し表示する。 が簡単なフローですね。(エラー処理は除く) どうでしょうか?
可能ですよ。フローとしては、

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

が簡単なフローですね。(エラー処理は除く)
どうでしょうか?
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ