Access VBA質問箱 IV

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

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


5865 / 9994 ←次へ | 前へ→

【7341】Re:Excelに改ページを挿入したい
回答  小僧  - 06/2/21(火) 13:25 -

引用なし
パスワード
   ▼nn さん:
こんにちは。

>        '↓ココで、「アプリケーション定義エラー」が発生する
>        Debug.Print Err.Description

エラーが発生するのはその行で間違いありませんでしょうか。


>      .HPageBreaks.Add Before:=Cells(arrPgBreakRow(i), 1)
                        ^^^^^
Cells オブジェクトが上位のオブジェクトから参照されていないのが
エラーの原因だと思われるのですがいかがでしょう。
(「.」がついていませんよね)


>データが縮小されて、印刷紙の左上に小さく印刷されます。

こちらについては もう ExcelVBA の問題ですね^^
当方も余り詳しくないので以下は外しているかもしれません。

行については改ページを解除した後、再設定されていますが、
列については解除されたままですよね。

例えば 100% の状態でA〜G 列までが印刷されるとしてデータが H 列まであったとすると、
ご提示されたコードですと、縮小印刷されてしまいませんでしょうか。
縮小して1枚に納めるか、それとも列も考慮して改ページを設けるかは
nn さんの仕様次第だと思います。


>自分が作成したコードは冗長で、あまり良いコードだと思えません。
>上記のことをうまく実現するロジック等、教えていただけませんでしょうか。

Private Sub setpgBreak2()
'要参照 Microsoft Excel x.x Object Library
Dim xlsApp As Excel.Application
Dim xlsWkb As Excel.Workbook
Dim aryPgBreakRow() As Variant
Dim aryPgBreakCol() As Variant
Dim i As Long
Dim j As Long

    aryPgBreakRow = Array(10, 20, 30, 40)
    aryPgBreakCol = Array(5, 10)
  
  Set xlsApp = CreateObject("Excel.Application")
  Set xlsWbk = xlsApp.WorkBooks.Open("D:\test.xls")
  'xlsApp.Visible = True
    
'改ページプレビュー表示
  xlsApp.Windows(1).View = xlPageBreakPreview
    
  With xlsWkb.Sheets("シート名")
'シートのすべてを印刷範囲に設定する
    .PageSetup.PrintArea = ""
  
'すべての改ページを解除
    .ResetAllPageBreaks
 
'改ページ設定
    For i = 0 To UBound(aryPgBreakRow)
      .HPageBreaks.Add Before:=.Cells(aryPgBreakRow(i), 1)
    Next
      
    For j = 0 To UBound(aryPgBreakCol)
      .VPageBreaks.Add Before:=.Cells(1, aryPgBreakCol(j))
    Next
  
  End With

  xlsWkb.Close True: Set xlsWkb = Nothing
  xlsApp.Quit: Set xlsApp = Nothing
End Sub

1,096 hits

【7331】Excelに改ページを挿入したい nn 06/2/20(月) 19:55 質問
【7336】Re:Excelに改ページを挿入したい 小僧 06/2/21(火) 9:31 発言
【7339】Re:Excelに改ページを挿入したい nn 06/2/21(火) 11:44 お礼
【7340】Re:Excelに改ページを挿入したい nn 06/2/21(火) 12:02 質問
【7341】Re:Excelに改ページを挿入したい 小僧 06/2/21(火) 13:25 回答
【7345】Re:Excelに改ページを挿入したい nn 06/2/21(火) 14:22 発言
【7349】四苦八苦した結果・・。 nn 06/2/21(火) 19:25 回答

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