settingsログイン
メニュー

【回答済み】差し込み印刷時のファイル分割と日付の表示形式

閲覧 1,669
差し込み印刷したWordファイルのファイル分割について
Word2010
Word 2010でExcelデータの差し込み印刷(レター)を作成後
のファイルを、1ページ毎にファイル分割(”.docx”形式)し
たいのですが、以下リンクと同じ状態になりました。



http://detail.chiebukuro.yahoo.co.jp/qa/question_detail
/q1184448516



回答欄にあるコードをVBEのイミディエイトウィンドウに貼り
付けましたが、何の反応も無く、ファイルも分割されません
でした。

マクロ自体を理解できていないため、解説をいただけますで
しょうか。



もしできましたら、

・差し込み印刷作成時に同時にファイル分割をする

・ファイル分割を1ページ毎ではなく、数ページ毎にする

の方法もご教示いただければと思います。

無理でしたら、上記2つについては別途質問させていただき
ます。



どうぞ宜しくお願いいたします。
匿名 2016 8/21 質問 Word(ワード)

回答 1

役立ち 0
差し込み印刷のファイル分割について
 コードをそのままイミディエイトウィンドウに貼り付けても実行はでき
ません。
 VBA画面の左側のプロジェクトウィンドーで、This Document を選択し
「コード表示」ボタンをクリック(「表示」メニューの「コード」でも可)
 → 表示されたコードウィンドーにコードを貼り付けます。

 実行は、Wordの「開発」の「マクロ」
 → マクロ名(「差し込み印刷時ファイル分割」)を選択し[実行]

 *ただし,作成したWordファイルを適当な場所に保存してから実行し
ないと、差し込みファイルの保存先が分からなくなる可能性があります。
必ず保存後に実行してください。

 ・レコードの数を指定する方法ですが、下のようにコードを書き換え
れば可能です。



Sub 差し込み印刷時ファイル分割()

Dim i As Long, LRec As Long
Dim start, last As Integer
Dim maisu As Integer
Dim rNo As Integer
Dim fName As String
Dim DocNum As Integer

fName = ”差し込み”      'ファイル名

With ThisDocument.MailMerge
    .DataSource.ActiveRecord = wdLastRecord     'データソース
    LRec = .DataSource.ActiveRecord             'レコード数


Label1:

    maisu = Val(InputBox(prompt:=”何枚ずつ?”, Title:=”枚数”, Default:=1))
    If maisu <= 0 Then MsgBox (”不正です”): GoTo Label1

    start = 1
    rNo = 1
    DocNum = 0
    
    Do While start <= LRec          '開始レコードがレコード数より小さいときはLoopまでを繰り返す
        last = start + maisu - 1    '差し込み処理の最終レコード
        If last >= LRec Then last = LRec
        
        .Destination = wdSendToNewDocument
        .SuppressBlankLines = True
        .DataSource.FirstRecord = start
        .DataSource.LastRecord = last
        '.DataSource.ActiveRecord = rNo
        .Execute Pause:=True            'start~lastまでのレコードの差し込み文書作成
        
        'ファイルの保存を自動で行うときは下の3行を有効にする。
        'DocNum = DocNum + 1
        'ActiveDocument.SaveAs ThisDocument.Path & ”\” & fName & ”_” & DocNum & ”.docx”
        'ActiveDocument.Close
        
        start = last + 1            '次の差し込み文書の開始レコード設定
        
    Loop
    
    
End With
End Sub


 上のコードを実行すると、「枚数」を聞いてきますので、枚数を指定して
[OK]で実行します。

 *「'DocNum = DocNum + 1」の行から3行の先頭の ’を消して実行すると
  自動で「差し込み_1.docx」のようなファイル名で元のWordファイルと同じ
  フォルダに保存されます。

ツボウチ塾 パソコンスクール 岐阜県 各務原市 初心者向けパソコン教室

全ての回答 ホームページへ
2016 8/21 回答

Office(オフィス)、Word(ワード) の企業/事業者/教室/プロの方のホームページの集客、アクセスアップ、SEO対策効果が期待できるリスティングサイト=Ask-itをぜひご活用ください

Ask IT にようこそ。ここではコミュニティメンバーに質問したり、回答を得ることができます。
ITについて質問したい方へ ITについてプロに質問したい方は会員登録後すぐに質問をする事ができます。

プロフェッショナルの方へ 質問に答えていただけるプロフェッショナルの方は下記をご覧下さい

お気づきの点があれば是非お知らせください
...