| 
    
     |  | あわわ、調べてみたところ、「FileDialog」は、2002以降の機能でした! その対策をしたのが下のマクロです。
 
 Wordと共にExcelが、パソコンにインストールされていることが前提になりますが、
 ファイルを選ぶ部分については、Excelの機能を借りることにしました。
 しかし、フォルダの指定が一発でうまくいかず、「DefaultFilePath」を利かせるため、
 (不細工ですが)Excelを裏方で二度起動しています。
 
 それから、前回の回答にあった「myWord」は余計なオブジェクトでしたので削除。
 取り敢えず、参照設定なしで動作するようにしています。
 
 Sub myTxtInsertU2000()
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Rem 複数テキストファイルの挿入
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Rem 参照設定の場合...
 Rem  Microsoft Excel 10.0 Object Library
 Rem  Microsoft Scripting Runtime
 Rem *----*----*  *----*----*  *----*----*  *----*----*
 Dim myExcel As Variant ' Excel.Application
 Dim myDlgPick As Variant
 Dim mySelectedItem As Variant
 '
 Dim myFso As Variant ' Scripting.FileSystemObject
 Dim myFile As Variant
 Dim myNewFile As String
 '
 ' 前処理
 If Documents.Count >= 2 Then
 MsgBox "文書を閉じて下さい。"
 Exit Sub
 End If
 If Documents.Count = 1 Then
 If ActiveDocument.Characters.Count > 1 Then
 MsgBox "文書を閉じて下さい。"
 Exit Sub
 Else
 If ActiveDocument.Words(1).Text <> vbCr Then
 MsgBox "文書を閉じて下さい。"
 Exit Sub
 Else
 ActiveDocument.Close
 End If
 End If
 End If
 '
 ' フォルダの指定
 Set myExcel = CreateObject("Excel.Application")
 myExcel.DefaultFilePath = "C:\Documents and Settings\User\My Documents\Zzz"
 myExcel.Quit
 Set myExcel = Nothing
 '
 'myExcel.DefaultFilePath = "C:\Documents and Settings\User\My Documents\Esperanto"
 ' ↑フォルダ指定は、2回目実行時から有効。
 ' ↓フォルダ指定の効き目なし。
 'ChDrive "C:"
 'ChDir "C:\Documents and Settings\User\My Documents\Zzz"
 '
 ' ファイルの指定
 Set myExcel = CreateObject("Excel.Application")
 myDlgPick = myExcel.Application.GetOpenFilename(filefilter:="テキスト,*.txt,文書,*.doc", _
 Title:="ファイルを選ぶ", _
 MultiSelect:=True)
 If TypeName(myDlgPick) = "Boolean" Then
 Rem [キャンセル]ボタン時
 myExcel.Quit
 Set myExcel = Nothing
 Set myDlgPick = Nothing
 Exit Sub
 End If
 '
 ' ファイルの挿入
 Set myFso = CreateObject("Scripting.FileSystemObject")
 Application.Documents.Add
 '
 For Each mySelectedItem In myDlgPick
 With Selection
 .HomeKey Unit:=wdStory, Extend:=wdMove
 .InsertFile FileName:=mySelectedItem, Range:="", ConfirmConversions:=False, _
 Link:=False, Attachment:=False
 .InsertBreak Type:=wdPageBreak ' 改ページ
 '
 Set myFile = myFso.GetFile(mySelectedItem)
 Rem *----*----*
 Rem myNewFile = myFso.GetFileName(mySelectedItem)
 Rem myFso.DeleteFile myNewFile ' ファイル削除
 Rem *----*----*
 myNewFile = "Zzz" & myFso.GetFileName(mySelectedItem)
 myFile.Name = myNewFile ' ファイル名を「Zzz〜」に変更
 Rem *----*----*
 End With
 Next ' mySelectedItem
 '
 ' 後処理
 myExcel.Quit
 Set myDlgPick = Nothing
 Set myFso = Nothing
 Set myFile = Nothing
 Set myExcel = Nothing
 End Sub ' myTxtInsertU2000
 
 
 |  |