Word VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


551 / 886 ←次へ | 前へ→

【344】Re:フォルダー内のテキストファイルを連結...
回答  H. C. Shinopy  - 05/9/16(金) 23:58 -

引用なし
パスワード
   このごろは、朝夕の気温が下がってきました。さて、

「テキストデータの連結」ということですが、
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
2,344 hits

【343】フォルダー内のテキストファイルを連結する tootsie 05/9/16(金) 18:11 質問
【344】Re:フォルダー内のテキストファイルを連結... H. C. Shinopy 05/9/16(金) 23:58 回答
【348】Re:フォルダー内のテキストファイルを連結... tootsie 05/9/21(水) 17:21 お礼
【349】Re:フォルダー内のテキストファイルを連結... H. C. Shinopy 05/9/21(水) 23:29 回答
【355】Re:フォルダー内のテキストファイルを連結... tootsie 05/9/30(金) 16:58 お礼
【356】Re:フォルダー内のテキストファイルを連結... H. C. Shinopy 05/10/1(土) 22:30 回答
【357】Re:フォルダー内のテキストファイルを連結... tootsie 05/10/17(月) 17:50 お礼

551 / 886 ←次へ | 前へ→
ページ:  ┃  記事番号:
207138
(SS)C-BOARD v3.8 is Free