'=========================================================== ' SelectBook Macro By 1994/x/x Ryn '=========================================================== ' ' リストボックスからブック名を選択します (マイドキュメントのみ) ' 「Dialog_ブック選択」というダイアログボックスが有る事が前提になっています。 ' これは、Excel5/95バージョンです。 Function SelectBook(OpenBookName, Massage) Dim BookName As String Dim MyName As Object Dim Counters As Integer ' Application.DialogSheets("Dialog_ブック選択").DialogFrame.Caption = Massage Set MyName = ThisWorkbookCounters = 0 ' BookName = Dir("*.xls") Do While BookName <> "" If BookName <> MyName.Name Then Counters = Counters + 1 Application.DialogSheets("Dialog_ブック選択").ListBoxes(1).List(Counters) = BookName If Counters > 1 Then For x = Counters To 2 Step -1 If BookName < Application.DialogSheets("Dialog_ブック選択").ListBoxes(1).List(x - 1) Then Application.DialogSheets("Dialog_ブック選択").ListBoxes(1).List(x) = _ Application.DialogSheets("Dialog_ブック選択").ListBoxes(1).List(x - 1) Else Exit For End If Next x Else x = Counters End If Application.DialogSheets("Dialog_ブック選択").ListBoxes(1).List(x) = BookName End If BookName = Dir() Loop SelectBook = False If Counters = 0 Then MsgBox "ファイルがありません", vbExclamation, "メッセージ" End If Do While Counters If Application.DialogSheets("Dialog_ブック選択").Show Then If DialogSheets("Dialog_ブック選択").ListBoxes(1).ListIndex > 0 Then OpenBookName = DialogSheets("Dialog_ブック選択").ListBoxes(1).List _ (DialogSheets("Dialog_ブック選択").ListBoxes(1).ListIndex) SelectBook = True Counters = 0 Else Counters = 1 End If Else Counters = 0 End If If Counters = 1 Then MsgBox "ファイルを選択してください", vbExclamation, "メッセージ" End If Loop Application.DialogSheets("Dialog_ブック選択").ListBoxes(1).List = Array("") End Function