A 回答 (10件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
可能ですが、その仕様を満たすアプリを作ってくれ、と言っているように感じます。
その仕様を把握されているなら、それを順次コードしていけばいいだけの話です。
例えば
txtファイルを書き出すにはどうすればできるか?
指定したディレクトリから、特定の形式にマッチするファイルだけを抽出するにはどうすればできるか?
などと、コードする上で求めている一部のことが不明だから教えてくれ、とならないと、このサイトではコードの回答はしづらいので、答え方に悩みます。
No.2
- 回答日時:
>履歴ボタンを押すとListboxで一覧表示し、過去のtxtファイルも一覧表示させるには、可能でしょうか
履歴と何に対してでしょうか?
まさか過去全てのファイル名って訳ではないですよね。
それとも絞り込む別フォームが出てくるとか。
>履歴フォームには西暦年のComboboxと月のComboboxとがあります。
日のフォルダはどうやって決めるのでしょう。
質問の度に仕様が変わるのか、回答を受けてそれに流され仕様を変えようかな?と思われるのかふめいですが、一度きちんと流れを作るべきでしょうね。
その後は既出ですから割愛しますけど。
No.4
- 回答日時:
こんにちは
>過去のtxtファイルも一覧表示させるには、可能でしょうか
想像するところ、そのディレクトリには日記のtxtだけが入れられていると考えてよいものと思います。
であるなら、「過去のtxtファイル」=「存在する全txtファイル」と考えて良いのではないでしょうか?
(未来の日記が入れられているのなら別だけれど、多分それは無いと想像しますので)
ですので、ご質問の内容を「指定ディレクトリ内のファイル一覧を作成する」と読み替えることができるので、そういう内容で検索すれば、サンプルはたくさん見つかることと思います。
No.5
- 回答日時:
個人的にですが。
フォルダを何回層にも分けてテキストファイルを保存し扱うのなら、データ量次第かもですがデータベースに書き込んで抽出条件に年・月・日を用いるとかでは無理なのでしょうか?、と感じちゃいます。
No.6
- 回答日時:
No.5です。
>データベースが所有できないので、厳しいですね
VisualStudioをインストしているならSQLServerがインスト可能とも思えますし、小規模でも可能と言うならSQLite
https://products.sint.co.jp/topsic/blog/sqlite
もありますよ。
>過去の西暦年月日のディレクトリです
ここは具体的に書かれた方が良いかと。
・過去に検索した(作業中若しくはそれまでに起動した際の全部?)ファイルorフォルダを追加する
とかね。
No.7
- 回答日時:
>指定ディレクトリ内のファイル一覧を作成するで、検索すると
『VB.NET フォルダ内のファイル取得』でググってみたら
https://dobon.net/vb/dotnet/file/getfiles.html
などがヒットした。
.NETってVB2002以降をそれ以前の物と分ける際に付いたと思います。
なのでVB2010でも使える時もありますが、バージョンによって機能の追加や削除がありますから確実とは言い切れないかと。
No.8
- 回答日時:
画像(補足日時:2021/12/01 20:45)を見る限り『履歴』ではなく従来の質問の『検索』にしか思えないのですが、『何についての履歴を取りたいのか?』ですかね。
まさか『過去の記事一覧(Comboboxで条件を絞って)』ですか?
VB2010が初めてって、他に何を経験されたのか不明ですがVBAを経験していると言うならまずはそこから離れるべきかも。
そしてVB2010を基本からやっていく。
No.9
- 回答日時:
これから二度にわたって記載するざっくりしたコードを参考に、ご自身の希望を満たすように考えてみてください。
Visual Studio 2019, .NET Framework 4.8 でコードしたものになるので、あなたの環境でも問題なく動作するかは確認していません。
(極力古いコードの仕方をしたので、動くとは思う・・・)
【DiaryManager.vb】
Imports System.IO
Public Class DiaryManager
Private Shared ReadOnly RootDirectory As String = "G:\日記"
Private Sub New()
End Sub
Public Shared Function NewDiary() As Diary
Return New Diary()
End Function
Public Shared Function CreateDiaryFilePath() As String
Dim now As DateTime = DateTime.Now
Dim directory As String = Path.Combine(RootDirectory, String.Format("{0:yyyyMM}", now))
Dim fileName As String = String.Format("{0:yyyyMMdd}{0:ddd}{0:HHmmssfff}.txt", now)
Return Path.Combine(directory, fileName)
End Function
Public Shared Function GetDiaries(year As Integer, month As Integer) As List(Of Diary)
Dim scanDirectory As String = Path.Combine(RootDirectory, String.Format("{0}{1:00}", year, month))
Dim diaries As List(Of Diary) = New List(Of Diary)()
For Each file As String In Directory.GetFiles(scanDirectory, "*", SearchOption.TopDirectoryOnly)
diaries.Add(New Diary(file))
Next
Return diaries
End Function
End Class
【Diary.vb】
Imports System.IO
Public Class Diary
Private _filePath As String = String.Empty
Public Property FilePath As String
Get
Return _filePath
End Get
Private Set(value As String)
_filePath = value
End Set
End Property
Public Property Contents As String = String.Empty
Public ReadOnly Property FileName As String
Get
Return Path.GetFileName(FilePath)
End Get
End Property
Public Sub New()
End Sub
Public Sub New(filePath As String)
Me.FilePath = filePath
End Sub
Public Sub LoadContents()
Contents = IO.File.ReadAllText(FilePath)
End Sub
Public Sub Save()
If FilePath = String.Empty Then
FilePath = DiaryManager.CreateDiaryFilePath()
End If
Dim fileDirectory As String = Path.GetDirectoryName(FilePath)
If Not Directory.Exists(fileDirectory) Then
Directory.CreateDirectory(fileDirectory)
End If
File.WriteAllText(FilePath, Contents)
End Sub
End Class
No.10
- 回答日時:
【Form1.vb】
Public Class Form1
Private diary As Diary
Private diaryBindingSource As New BindingSource()
Public Sub New()
InitializeComponent()
contentsTextBox.DataBindings.Add(NameOf(contentsTextBox.Text), diaryBindingSource, NameOf(diary.Contents))
BindDiary()
End Sub
Private Sub newButton_Click(sender As Object, e As EventArgs) Handles newButton.Click
BindDiary()
End Sub
Private Sub saveButton_Click(sender As Object, e As EventArgs) Handles saveButton.Click
diary.Save()
End Sub
Private Sub quitButton_Click(sender As Object, e As EventArgs) Handles quitButton.Click
Application.Exit()
End Sub
Private Sub historyButton_Click(sender As Object, e As EventArgs) Handles historyButton.Click
Dim form As New Form2()
If form.ShowDialog() = DialogResult.Cancel Then
Return
End If
BindDiary(form.Response)
End Sub
Private Sub BindDiary(Optional diary As Diary = Nothing)
Me.diary = diary
If Me.diary Is Nothing Then
Me.diary = DiaryManager.NewDiary()
Else
Me.diary.LoadContents()
End If
diaryBindingSource.DataSource = Me.diary
End Sub
End Class
【Form2.vb】
Public Class Form2
Private _response As Diary = Nothing
Public Property Response As Diary
Get
Return _response
End Get
Private Set(value As Diary)
_response = value
End Set
End Property
Private Sub executeButton_Click(sender As Object, e As EventArgs) Handles findButton.Click
If Nen.SelectedIndex = -1 OrElse Tuki.SelectedIndex = -1 Then
MessageBox.Show("選択されてません。" & vbCrLf & "西暦と月を選択して下さい。", "結果")
Return
End If
Dim year As Integer = Integer.Parse(Nen.Text)
Dim month As Integer = Integer.Parse(Tuki.Text)
Try
Dim diaries As List(Of Diary) = DiaryManager.GetDiaries(year, month)
historyFilesListBox.DataSource = diaries
historyFilesListBox.DisplayMember = NameOf(Diary.FileName)
Catch
MessageBox.Show("指定されたディレクトリは存在しません。" & vbCrLf & "西暦と月を選択して下さい。", "結果")
End Try
End Sub
Private Sub historyFilesListBox_DoubleClick(sender As Object, e As EventArgs) Handles historyFilesListBox.DoubleClick
Response = historyFilesListBox.SelectedItem
DialogResult = DialogResult.OK
End Sub
End Class
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/16 14:36
- その他(プログラミング・Web制作) テキストデータ変換(プログラミング、linux、python) 8 2023/08/08 16:39
- Excel(エクセル) excel 別のフォルダから列コピーする方法 8 2022/12/17 16:24
- アプリ Edgeを操作するアプリについて 4 2023/05/11 22:48
- Visual Basic(VBA) VBA 毎日取得するデータを順番に反映していく方法 6 2023/08/26 16:22
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Windows 10 Windows10のメタデータの「メディアの作成日時」は、タイムゾーンによって表示が変わりますか? 3 2022/06/21 02:30
- Excel(エクセル) EXCEL マクロで 同じフォルダ内の複数ファイルの複数行全体を選択して1つのファイルに集約 4 2022/09/27 18:41
- その他(IT・Webサービス) サイト上のフォルダ階層一覧、ファイル一覧を閲覧する方法は? 1 2022/11/11 15:49
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フルパスから最後のディレクト...
-
GetPrivateProfileStringでini...
-
windows.hがincludeされない
-
どんなプログラムを書いても指...
-
フォルダの物が増えたら、自動...
-
ShellExecute、エクスプローラ...
-
マイクラでPythonのプログラミ...
-
「UNCパスはサポートされません...
-
ExcelVBAでカレントディレクト...
-
[VC]VCのデバッグ実行で落ちる...
-
テキストファイルからApp.Path...
-
圧縮(Zip)について
-
ファイルのパスを動的に取得
-
#include fileを絶対パスで指定...
-
FTPでリモートのファイル一覧取得
-
iphone5アルバム写真を番号順に...
-
ファイルやディレクトリの存在...
-
FTPでputすると空ファイルが出...
-
ファイルダイアログのカレント...
-
C言語初心者の質問失礼します。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
どんなプログラムを書いても指...
-
フルパスから最後のディレクト...
-
FTPでputすると空ファイルが出...
-
windows.hがincludeされない
-
ExcelVBAでカレントディレクト...
-
「UNCパスはサポートされません...
-
マイクラでPythonのプログラミ...
-
C言語を用いたファイルの一括削...
-
fopenで別ディレクトリにファイ...
-
GetPrivateProfileStringでini...
-
ファイルやディレクトリの存在...
-
ネットワーク上のコンピュータ...
-
ExcelVBA サーバーの(共有フォ...
-
エクセルVBAで相対パスでファイ...
-
pythonでの日本語操作
-
VBAで自身のファイル名を取得す...
-
webアプリケーションでの画像フ...
-
絶対パスの絶対て英語で何でし...
-
FTPでリモートのファイル一覧取得
-
ファイルダイアログのカレント...
おすすめ情報
履歴フォームには西暦年のComboboxと月のComboboxとがあります。
過去のtxtファイルも一覧表示とは、過去の西暦年月日のディレクトリです
ブラウザ表示とかのコードでも書いてあるの?
書いていません。
日のフォルダはどうやって決めるのでしょう。
これは、日にち+曜日+時間+分+秒+ミリ秒.TXTファイルにしています。
過去に検索した(作業中若しくはそれまでに起動した際の全部?)ファイルorフォルダを追加する
を実行するには、どのようにすればいいですか
>日のフォルダはどうやって決めるのでしょう。
は、月フォルダーの中にファイル保存時に日にち+曜日+時間+秒+ミリ秒.TXTファイルにしています。
指定ディレクトリ内のファイル一覧を作成するで、検索すると、vb.netのプログラムしか出てきません。
このプログラムでもvb2010で動作しますか?
自分は、vb2010が初めてなので。
履歴フォームは、こうなっています。