|
このごろは、朝夕の気温が下がってきました。さて、
「テキストデータの連結」ということですが、
Word文書上でファイルの挿入の操作をマクロですると解釈して、話を進めます。
ダイアログボックスでファイルを選び、
Word文書上に挿入するマクロが既にありますので、
これにファイル操作の処理を継ぎ足して、
載せておきます。
いきなりファイルの削除をお考えのようですが、
ファイル名の変更で処理するようにしています。
問題がないのであれば、Remを付け替えれば、
ファイル削除に変更できるようにしましたが、
このマクロを実行する前に、ファイルのバックアップをして下さい。
Sub myTxtInsert()
Rem テキストファイルの挿入
Dim myDlgPick As FileDialog
Dim mySelectedItem As Variant
Dim myWord As Word.Application
'
Dim myFso As Variant
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 myDlgPick = Application.FileDialog(msoFileDialogFilePicker)
With myDlgPick
.AllowMultiSelect = True
.InitialFileName = "C:\Documents and Settings\User\My Documents\Zzz"
.Filters.Add "テキストファイル", "*.txt", 1
If .Show = 0 Then
Rem [キャンセル]
Set myDlgPick = Nothing
Set myWord = Nothing
Application.Documents.Add
Exit Sub
End If
End With
'
' ファイルの挿入
Set myFso = CreateObject("Scripting.FileSystemObject")
Set myWord = GetObject(, "Word.Application")
Application.Documents.Add
'
For Each mySelectedItem In myDlgPick.SelectedItems
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
'
' 後処理
Set myDlgPick = Nothing
Set myWord = Nothing
Set myFso = Nothing
Set myFile = Nothing
End Sub ' myTxtInsert
|
|