Word VBA質問箱 IV

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

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


49 / 306 ツリー ←次へ | 前へ→

【491】Word VBAを用いたファイル分割及び結合について. コルトレーン 06/9/12(火) 21:11 質問[未読]
【754】Re:Word VBAを用いたファイル分割及び結合に... マナ 13/5/6(月) 10:06 発言[未読]

【491】Word VBAを用いたファイル分割及び結合につ...
質問  コルトレーン  - 06/9/12(火) 21:11 -

引用なし
パスワード
   初めて発言させていただきます.宜しくお願いします.

既に存在するWord文書中から,あるキーワードともう一つの
キーワードにはさまれた範囲(このような部分がたくさんあ
ることを想定します)を切り出して,別のファイル(ファイ
ル名称は,随時適切な名前をつけます)へ書き出します.
この操作を繰り返すことにより,もとのファイルがちぎれち
ぎれになって,いくつもの,小さなファイルとして存在する
ことになります.
次に,Excelシート上の,ある縦一列に書かれた数値(小さな
ファイルの名称と関連付いています)を参照することにより,
小さなファイルを,もともととは異なる順番に結合させてゆき
,大きなひとつのファイルを形成します.

このようなファイル分割及び結合操作を,Word VBAマクロ記述
により,行うことは可能でしょうか?

以上,よろしくご教示ください.

【754】Re:Word VBAを用いたファイル分割及び結合...
発言  マナ  - 13/5/6(月) 10:06 -

引用なし
パスワード
   回答がつかず、今更ですが、自分の勉強として書いてみました。

直接、新規ファイルに抽出しています。

キーワードに挟まれた部分にブックマークをつけ
エクセルA列セルの値の順番通りに、コピペです。

Sub test()
  Dim myDoc As Document
  Dim b As Bookmark
  Dim myRng As Range
  Dim n As Long
  Const myKey1 As String = "【はじめ】"
  Const myKey2 As String = "【おわり】"


  Set myDoc = ActiveDocument
  
  Set myRng = myDoc.Range(0, 0)
  With myRng.Find
    .Text = myKey1 & "*" & myKey2
    .MatchWildcards = True
    Do While .Execute
      n = n + 1
      myRng.Bookmarks.Add Name:="BM" & n
    Loop
  End With
  

  Dim xlApp As New Excel.Application
  Dim myBook As Excel.Workbook
  Dim c As Excel.Range
  Dim s As String

  xlApp.Visible = True
  Set myBook = xlApp.Workbooks.Open("C:\****\****\****.xls")

  Application.Documents.Add
  
  With myBook.worksheets("Sheet1")
    For Each c In .Range("A1", .Range("A" & .Rows.Count).End(xlUp))
      If myDoc.Bookmarks.Exists(c.Value) Then
        myDoc.Bookmarks(c.Value).Range.Copy
        Selection.Paste
        Selection.TypeParagraph
      End If
    Next
    For Each b In ActiveDocument.Bookmarks
      b.Delete
    Next
  End With
  myBook.Close False
  xlApp.Quit
  Set myBook = Nothing
  Set xlApp = Nothing
  
  For Each b In myDoc.Bookmarks
    b.Delete
  Next

End Sub

49 / 306 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
206491
(SS)C-BOARD v3.8 is Free