タイトル | : Re^4: OpenFileDialog のmultiselectの取り扱い |
記事No | : 7197 |
投稿日 | : 2008/03/12(Wed) 16:17 |
投稿者 | : ひでと |
ありがとうございます。 > > OKボタンだけ押せば選択できるので、やってみようと思ったのです。 > > それなら、OpenFileDialog を使わなくてもメッセージボックスで十分では、 > メッセージボックス で OK の場合は、そのファイル名を使用し、 NO の場合は > OpenFileDialog を表示するようにすれば。
同様の方法でしょうがチェックボックスのtagを使って予めファイルを 取得する方法で実現できました。 年末調整用に給与、賞与を取得するプログラムの一部になります。 コードとしては 以下になりました。 Dim myFNames As New List(Of String) Private Sub ファイル名取得() myFNames.Clear() Dim Con As New Control Dim ChkBox As New CheckBox Dim i As Integer For Each Con In Me.Controls If TypeOf Con Is CheckBox Then ChkBox = Con Select Case ChkBox.Tag Case "冬季", "夏季" If ChkBox.Checked = True Then myFNames.Add(社員.賞与DirName & "\" & ChkBox.Text) End If Case Else If ChkBox.Checked = True Then myFNames.Add(社員.給与DirName & "\" & ChkBox.Text) End If End Select End If Next For i = 0 To Me.lb追加ファイル.Items.Count - 1 myFNames.Add(Me.lb追加ファイル.Items(i)) Next End Sub Private Sub 年末調整_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim Con As New Control Dim ChkBox As New CheckBox For Each Con In Me.Controls If TypeOf Con Is CheckBox Then ChkBox = Con Select Case ChkBox.Tag Case "冬季", "夏季" ChkBox.Text = CStr(Now.Year) & "年" & ChkBox.Tag & "賞与.syo" If System.IO.File.Exists(社員.賞与DirName & "\" & ChkBox.Text) Then ChkBox.Checked = True Else ChkBox.Checked = False End If Case Else ChkBox.Text = CStr(Now.Year) & "年" & ChkBox.Tag & "月給与.kyo" If System.IO.File.Exists(社員.給与DirName & "\" & ChkBox.Text) Then ChkBox.Checked = True Else ChkBox.Checked = False End If End Select If ChkBox.Checked = True Then ChkBox.Enabled = True Else ChkBox.Enabled = False End If End If Next End Sub
Private Sub bファイルの追加_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles bファイルの追加.Click Dim Ret As DialogResult Dim i As Integer opd年末調整.Filter = "給与ファイル(*.kyo)|*.kyo|賞与ファイル(*.syo)|*.syo" Ret = opd年末調整.ShowDialog() If Ret = Windows.Forms.DialogResult.OK Then For i = 0 To opd年末調整.FileNames.GetUpperBound(0) lb追加ファイル.Items.Add(opd年末調整.FileNames(i)) Next Else Exit Sub End If End Sub
Private Sub b追加ファイルのクリア_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles b追加ファイルのクリア.Click Me.lb追加ファイル.Items.Clear() End Sub ありがとうございました。
|