I occasionally print out really long articles for bedtime reading. If I print directly from the browser, I end up with a TON of pages. So usually what I do is copy the text to Word, shrink the margins down to the minimum (except I go 0.6” top margin to allow room for stapling), convert to two columns with a line and 0.2” between them, and change all the text to Times New Roman 8pt. It ends up looking something like this (from this SI Andre Agassi article I’m looking forward to):

I recorded a macro and mapped it to a toolbar button so I can do it in one click. Here’s the resulting code, if you want to use it:
Sub SaveInk()
WordBasic.PageSetupMargins Tab:=0, PaperSize:=0, TopMargin:="0.6", _
BottomMargin:="0.25", LeftMargin:="0.25", RightMargin:="0.25", Gutter:= _
"0", PageWidth:="8.5", PageHeight:="11", Orientation:=0, FirstPage:=0, _
OtherPages:=0, VertAlign:=0, ApplyPropsTo:=4, FacingPages:=0, _
HeaderDistance:="0.5", FooterDistance:="0.5", SectionStart:=2, _
OddAndEvenPages:=0, DifferentFirstPage:=0, Endnotes:=0, LineNum:=0, _
CountBy:=0, TwoOnOne:=0, GutterPosition:=0, LayoutMode:=0, DocFontName:= _
"", FirstPageOnLeft:=0, SectionType:=1, FolioPrint:=0, ReverseFolio:=0, _
FolioPages:=1
If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
ActiveWindow.Panes(2).Close
End If
If ActiveWindow.ActivePane.View.Type <> wdPrintView Then
ActiveWindow.ActivePane.View.Type = wdPrintView
End If
With ActiveDocument.PageSetup.TextColumns
.SetCount NumColumns:=2
.EvenlySpaced = True
.LineBetween = True
.Width = InchesToPoints(3.9)
.Spacing = InchesToPoints(0.2)
End With
Selection.WholeStory
With Selection.ParagraphFormat
.LeftIndent = InchesToPoints(0)
.RightIndent = InchesToPoints(0)
.SpaceBefore = 0
.SpaceBeforeAuto = False
.SpaceAfter = 6
.SpaceAfterAuto = False
.LineSpacingRule = wdLineSpaceSingle
.Alignment = wdAlignParagraphLeft
.WidowControl = True
.KeepWithNext = False
.KeepTogether = False
.PageBreakBefore = False
.NoLineNumber = False
.Hyphenation = True
.FirstLineIndent = InchesToPoints(0)
.CharacterUnitLeftIndent = 0
.CharacterUnitRightIndent = 0
.CharacterUnitFirstLineIndent = 0
.LineUnitBefore = 0
.LineUnitAfter = 0
.MirrorIndents = False
.TextboxTightWrap = wdTightNone
End With
Selection.Font.Name = "Times New Roman"
Selection.Font.Size = 8
End Sub
If you are the sort of person that uses keyboard shortcut, you probably know that F3 is commonly used as the shortcut for "Find Next". And if you know that, you probably use that command a lot. And you probably still hit F3 in Microsoft Word expecting it to work, only to be disappointed. Despite making that mistake thousands of times.
Or maybe it's just me.
Anyway, here's a quick AutoHotkey script for making F3 work the way you'd expect in Word (it remaps F3 to MS's shortcut for Find Next, SHIFT+F4):
#IfWinActive ahk_class OpusApp ; only in Word
F3::+F4
#IfWinActive ; reset
I could have just remapped the keys in Word itself, but this way I can carry this behavior with me via the AHK scripts I keep on my USB key (and I keep my scripts in sync from my desktop machine to my USB key with Unison, which rocks).
A buddy of mine didn't like the way Word decided which folder he needed when opening documents:
This one has always bothered me. Again, I'm writing along, and I need to open another Word file. I have a thousand folders within folders, because I have notes and papers going back years, organized by time and within that by the course I've taught, the research project, etc. At this level my organization is actually good, I can find things when I want them very quickly.
The folder I want, most frequently, is the same one within which I'm currently writing. For example, I'm working on lecture notes for tomorrow, and I need to check the syllabus in the current course.
But when I hit CTRL + O, of course, it takes me way back up to this high level, to "AlecDox," which is how I renamed whatever uber-macro folder the machine gave me initially. Then I have to open the current semester folder, the current course folder, then the doc I want. Wasted steps. Sometimes, it goes to whatever folder I Opened most recently. But *every time* it restarts, sleeps, or auto-logs me off, which of course it does all the time, it takes me back to the big high AlecDox folder.
Can I tell my computer to respond to every Open command by opening the folder within which I'm currently working -- that is, within which the currently-open document, if there is one, resides?
This is what I ended up having him do to make Word behave this way. Give it a go if you want the same behavior:
- Open a Word doc.
- Go to "Tools" ⇒ "Macro" ⇒ "Macros..."
- Under "Macro name", type:
FileOpen
- Click Create.
- Some code representing the current FileOpen behavior will appear in a code editor. Select all of it and delete it. Replace it with this (largely stolen from a guy named Larry):
Sub FileOpen()
On Error GoTo ErrorHandler
If ActiveDocument.Path <> "" Then
ChangeTo = ActiveDocument.Path
ChangeFileOpenDirectory (ChangeTo)
SendKeys "+{TAB}"
End If
Application.Dialogs(wdDialogFileOpen).Show
Exit Sub ' Exit to avoid handler.
ErrorHandler: ' Error-handling routine.
Application.Dialogs(wdDialogFileOpen).Show
End Sub
- Close the code editor.
Seems to do the trick! And it turns out I prefer this behavior as well, so set up my own copy of Word to work this way.