adjust page breaks based on row heights, export to pdf
This commit is contained in:
parent
48670f9ca7
commit
24b91e4fb5
@ -490,6 +490,8 @@ Sub build_customer_files()
|
||||
Dim plev As String
|
||||
Dim effdate As Date
|
||||
Dim segment_regex As String
|
||||
Dim curr As String
|
||||
Dim fname As String
|
||||
|
||||
'----------------------pick price level---------------------------------------------------------------------
|
||||
login.Caption = "PostgreSQL Login"
|
||||
@ -595,7 +597,7 @@ Sub build_customer_files()
|
||||
segment_regex = "^F|^G|^P"
|
||||
Set nnws = nwb.Sheets.Add(, nws)
|
||||
nnws.Name = "Price List - Nursery"
|
||||
Call paste_pretty(pln, nnws, effdate)
|
||||
Call paste_pretty(pln, nnws, effdate, curr)
|
||||
End If
|
||||
End If
|
||||
|
||||
@ -613,7 +615,7 @@ Sub build_customer_files()
|
||||
End If
|
||||
Set nfws = nwb.Sheets.Add(, nws)
|
||||
nfws.Name = "Price List - Fiber"
|
||||
Call paste_pretty(plf, nfws, effdate)
|
||||
Call paste_pretty(plf, nfws, effdate, curr)
|
||||
End If
|
||||
End If
|
||||
|
||||
@ -624,7 +626,7 @@ Sub build_customer_files()
|
||||
End If
|
||||
If UBound(pl, 2) > 21 Then
|
||||
nws.Name = "Price list"
|
||||
Call paste_pretty(pl, nws, effdate)
|
||||
Call paste_pretty(pl, nws, effdate, curr)
|
||||
Else
|
||||
nws.Delete
|
||||
End If
|
||||
@ -642,11 +644,13 @@ Sub build_customer_files()
|
||||
Application.DisplayAlerts = True
|
||||
nwb.Activate
|
||||
|
||||
fname = "HC Companies Distributor Price List " & curr & ".xlsx"
|
||||
|
||||
Dim wb As Workbook
|
||||
For Each wb In Workbooks
|
||||
If wb.Name = "HC Companies Distributor Price List.xlsx" Then
|
||||
If wb.Name = fname Then
|
||||
If MsgBox("already have a price list open, close it?", vbOKCancel) Then
|
||||
Workbooks("HC Companies Distributor Price List.xlsx").Close
|
||||
Workbooks(fname).Close
|
||||
Exit For
|
||||
Else
|
||||
Exit Sub
|
||||
@ -654,8 +658,11 @@ Sub build_customer_files()
|
||||
End If
|
||||
Next wb
|
||||
|
||||
If pricelevel.tbPATH.text <> "" Then nwb.SaveAs Filename:=filepath & "\HC Companies Distributor Price List.xlsx"
|
||||
If pricelevel.tbPATH.text <> "" Then nwb.SaveAs Filename:=filepath & "\" & fname
|
||||
|
||||
fname = Replace(fname, "xlsx", "pdf")
|
||||
nwb.ExportAsFixedFormat Type:=xlTypePDF, Filename:=filepath & "\" & fname, Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=False
|
||||
|
||||
For Each wb In Workbooks
|
||||
If wb.Name = "HC FullCode List.xlsx" Then
|
||||
If MsgBox("already have a full code list open, close it?", vbOKCancel) Then
|
||||
@ -674,14 +681,13 @@ Sub build_customer_files()
|
||||
|
||||
End Sub
|
||||
|
||||
Sub paste_pretty(ByRef pl() As String, ByRef nws As Worksheet, ByVal effdate As Date)
|
||||
Sub paste_pretty(ByRef pl() As String, ByRef nws As Worksheet, ByVal effdate As Date, ByRef curr As String)
|
||||
|
||||
Dim c As Range
|
||||
Dim i As Long
|
||||
Dim last As Long
|
||||
Dim lastcol As Long
|
||||
Dim j As Long
|
||||
Dim curr As String
|
||||
|
||||
nws.Activate
|
||||
nws.Cells.NumberFormat = "@"
|
||||
@ -739,7 +745,7 @@ Sub paste_pretty(ByRef pl() As String, ByRef nws As Worksheet, ByVal effdate As
|
||||
nws.Columns(15).WrapText = True
|
||||
nws.Columns(11).ColumnWidth = 11.71
|
||||
nws.Columns(14).ColumnWidth = 11.71
|
||||
nws.Columns(17).ColumnWidth = 11.71
|
||||
nws.Columns(17).ColumnWidth = 13
|
||||
ActiveWindow.DisplayGridlines = False
|
||||
'nws.Cells.Font.Name = "Cascadia Code Light"
|
||||
nws.Cells.Font.Name = "Courier New"
|
||||
@ -1077,11 +1083,11 @@ Sub print_setup(sheet As Worksheet, last_row As Long)
|
||||
'-------------------force a page break on color codes----------
|
||||
j = 1
|
||||
For i = 5 To last_row
|
||||
If j = 60 Then
|
||||
If j >= 810 Then
|
||||
sheet.HPageBreaks.Add before:=sheet.Rows(i + 1)
|
||||
j = 1
|
||||
End If
|
||||
'every 73 rows is a page break for current font
|
||||
'every 73 rows is a page break for current font, but if a row is taller this needs accounted for
|
||||
If sheet.Cells(i, 18) = "colors" And sheet.Cells(i - 1, 18) <> "colors" Then
|
||||
sheet.HPageBreaks.Add before:=sheet.Rows(i)
|
||||
j = 1
|
||||
@ -1090,7 +1096,7 @@ Sub print_setup(sheet As Worksheet, last_row As Long)
|
||||
sheet.HPageBreaks.Add before:=sheet.Rows(i)
|
||||
j = 1
|
||||
End If
|
||||
j = j + 1
|
||||
j = j + sheet.Rows(i).RowHeight
|
||||
Next i
|
||||
|
||||
sheet.DisplayPageBreaks = False
|
||||
|
Loading…
Reference in New Issue
Block a user