tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^4: OpenFileDialog のmultiselectの取り扱い
投稿日: 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
ありがとうございました。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。