#1
|
|||
|
|||
Macro for page setup
I need to work on multiple files on a daily basis so I need a macro to run where it should ask me to select the page setup from the list that should popup when I run the macro and when I select the option it should apply that to the entire document below are required page steups that I want to include in macro.
1. 5.5x8.5" 2. 6x9" 3. 6.14x9.21" 4. 7X10" 5. 8.25X11" I receive these documents from my publisher so I just want to change the page setup. |
#2
|
|||
|
|||
Try this:
Code:
Sub PageSize_SetVarious() ' 01/26/2022 Dim strPageSize As String Dim strPageWidth As String, strPageHeight As String, strTopMargin As String, _ strBottomMargin As String, strLeftMargin As String, strRightMargin As String, _ strHeaderDistance As String, strFooterDistance As String ' Prompt user for page size: strPageSize = InputBox("Enter the page size you want (enter the numeral):" & _ vbCrLf & vbCrLf & " 1. 5.5 x 8.5" & vbCrLf & " 2. 6 x 9" & _ vbCrLf & " 3. 6.14 x 9.21" & vbCrLf & " 4. 7 x 10" & _ vbCrLf & " 5. 8.25 x 11" & vbCrLf & _ vbCrLf & "Specify Page Size:") ' If user cancels, exit sub: If strPageSize = vbNullString Then Exit Sub End If Select Case strPageSize ' Modify the margin and header/footer values to your needs. ' If you don't need to, delete these lines from each Case, ' and as noted below. Case 1 ' 5.5 x 8.5 strPageWidth = "5.5" strPageHeight = "8.5" strTopMargin = "0.3" strBottomMargin = "0.3" strLeftMargin = "0.3" strRightMargin = "0.3" strHeaderDistance = "0.2" strFooterDistance = "0.2" Case 2 ' 6 x 9 strPageWidth = "6" strPageHeight = "9" strTopMargin = "0.3" strBottomMargin = "0.3" strLeftMargin = "0.3" strRightMargin = "0.3" strHeaderDistance = "0.2" strFooterDistance = "0.2" Case 3 ' 6.14 x 9.21 strPageWidth = "6.14" strPageHeight = "9.21" strTopMargin = "0.3" strBottomMargin = "0.3" strLeftMargin = "0.3" strRightMargin = "0.3" strHeaderDistance = "0.2" strFooterDistance = "0.2" Case 4 ' 7 x 10 strPageWidth = "7" strPageHeight = "10" strTopMargin = "0.3" strBottomMargin = "0.3" strLeftMargin = "0.3" strRightMargin = "0.3" strHeaderDistance = "0.2" strFooterDistance = "0.2" Case 5 ' 8.25 x 11 strPageWidth = "8.25" strPageHeight = "11" strTopMargin = "0.3" strBottomMargin = "0.3" strLeftMargin = "0.3" strRightMargin = "0.3" strHeaderDistance = "0.2" strFooterDistance = "0.2" End Select Selection.WholeStory ' If you don't need to set margins/headers/footers, ' then delete those lines below: With ActiveDocument.PageSetup .PageWidth = InchesToPoints(strPageWidth) .PageHeight = InchesToPoints(strPageHeight) .TopMargin = InchesToPoints(strTopMargin) .BottomMargin = InchesToPoints(strBottomMargin) .LeftMargin = InchesToPoints(strLeftMargin) .RightMargin = InchesToPoints(strRightMargin) .HeaderDistance = InchesToPoints(strHeaderDistance) .FooterDistance = InchesToPoints(strFooterDistance) End With End Sub |
Tags |
vba code, word 16 page layout |
Thread Tools | |
Display Modes | |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
documents print setup defined in page setup, but overriden by printer settings. macro required? | Rosemary | Word VBA | 6 | 02-18-2021 11:10 PM |
Page setup before working | luca155 | PowerPoint | 1 | 08-30-2012 12:06 PM |
Page setup problem | glenvern | Word | 1 | 09-19-2011 05:01 AM |
Page Setup | gus | PowerPoint | 0 | 03-09-2010 09:51 PM |
Page Setup | Ryan | Word | 0 | 01-24-2007 10:42 AM |