Excel VBA質問箱 IV

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

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


69112 / 76734 ←次へ | 前へ→

【12142】Re:同じ様式のファイルを一括で印刷したい
発言  ichinose  - 04/3/24(水) 21:46 -

引用なし
パスワード
   ▼やまと さん:
こんばんは。

>お世話になっております。
>
>ファイルが200こあります。
>特定の複数シートを200こ一括で印刷したいのですがよろしくお願いします。
>ファイルは全て同じ様式になっています。
>
>ファイル名をae10:ae210を入力し、そのセルにハイパーリンクでジャンプするようにしました。そこで、1.ae10をクリック、2.そのファイル上で複数シートを選択、3.印刷、4.ファイルを閉じる という作業を自動記録でとりました。

ということは、ae10〜ae210のセルにはファイル名が入っていない可能性もありますね?


>それを、繰り返し次のファイルを印刷するためにfor..nextをくわえたのですが
>うまく動きません。
>2日前からVBAを勉強し始めた素人なのですがよろしくお願いいたします。
>
>Sub Macro2()
>
>Dim これは変数 As Long
>For これは変数 = 1 To 200
>  
>  Cells(39, これは変数 + 9).Select
'  ちなみに↑だとae10〜ae210を取得しませんよ!!
>  Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
>  Sheets(Array("表紙", "様式1-1", "様式2-1")).Select
>  Sheets("様式2-1").Activate
>  ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
>  ActiveWindow.Close
>Next これは変数
>End Sub


私は、こんな風にしてみました。
ae10〜ae210のセルにリンクされたブックを 開いて、印刷、閉じる
を繰り返します。
一覧シートをアクティブにした状態でmainを実行してみてください


'==============================================================
Sub main()
  Dim 一覧表シート As Worksheet
  Dim 印刷ブック As Workbook
  Dim これは変数 As Long
  Application.ScreenUpdating = False
  Set 一覧表シート = ActiveSheet
  With 一覧表シート
   For これは変数 = 10 To 210
     If .Cells(これは変数, 31).Hyperlinks.Count > 0 Then
      Set 印刷ブック = bk_open(.Cells(これは変数, 31).Hyperlinks(1).Address)
      If Not 印刷ブック Is Nothing Then
        Call bk_print(印刷ブック, Array("表紙", "様式1-1", "様式2-1"))
        印刷ブック.Close False
        End If
      End If
     DoEvents
     Next
   End With
  Application.ScreenUpdating = True
End Sub
'==================================================
Function bk_open(flnm) As Workbook
'指定されたブックをオープン
  On Error Resume Next
  Set bk_open = Workbooks.Open(flnm)
  If Err.Number <> 0 Then
   Set bk_open = Nothing
   End If
  On Error GoTo 0
End Function
'==================================================
Function bk_print(bk As Workbook, pr_sheets) As Long
'指定ブックの指定されたシートを印刷
  On Error Resume Next
  bk.Sheets(pr_sheets).PrintOut
  bk_print = Err.Number
  On Error GoTo 0
End Function


200ファイルではテストしてませんが・・・。

0 hits

【12135】同じ様式のファイルを一括で印刷したい やまと 04/3/24(水) 18:12 質問
【12136】Re:同じ様式のファイルを一括で印刷したい ichinose 04/3/24(水) 18:27 発言
【12137】Re:同じ様式のファイルを一括で印刷したい やまと 04/3/24(水) 18:49 お礼
【12139】Re:同じ様式のファイルを一括で印刷したい やまと 04/3/24(水) 19:46 質問
【12142】Re:同じ様式のファイルを一括で印刷したい ichinose 04/3/24(水) 21:46 発言
【12147】Re:同じ様式のファイルを一括で印刷したい やまと 04/3/25(木) 1:15 お礼
【12148】Re:同じ様式のファイルを一括で印刷したい ichinose 04/3/25(木) 8:16 発言
【12169】Re:同じ様式のファイルを一括で印刷したい ichinose 04/3/25(木) 16:57 発言
【12191】Re:同じ様式のファイルを一括で印刷したい やまと 04/3/26(金) 12:22 お礼

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