convert a pdf to a Word document

I teach OCR at A level and like to use AQA and Edexcel exam questions. I convert the exam papers to Word and then I can change AQA’s halogenoalkanes to haloalkanes and Edexcel’s ionization energy to ionisation energy.

1.Open Word in a window and have a list of pdfs in a different window:

2. Select the pdf you want and slide it into the Word window. It will convert to a Word document.

3. The formatting is often a bit of a mess so I usually copy the text and save it as text only in a new document:

4. I then run a macro or two over it to get the formatting correct, as described in my Macros section above.

write above an arrow

For years I used to write my ‘heat under reflux’ in a text box and group it with an arrow. However, if you use an arrow from Insert>Equation you will have an annotated arrow which is treated as a Word symbol.

1. Insert>Equation>Operator

2. Type into the box ‘heat under reflux / H+’. The font will be italic so change that.

3. The + sign of Hcan’t be a superscript so raise it by 1.5 points:


4. You will now have this:

The font will be Cambria Math (sic) which can be changed using this macro.

add formatted textbox with no border

I like to write next to pictures or diagrams and put the writing into a textbox so that it can be moved around easily and is justified.

Adding a textbox needs several clicks to remove the border, remove the fill, set the font to Arial 11 and justify it. The code below will produce such a textbox with one click on the Quick Access Toolbar.

Sub TextBoxNoFillNoBorder()Dim Box As Shape
Set Box = ActiveDocument.Shapes.AddTextbox( _
Orientation:=msoTextOrientationHorizontal, _
Left:=50, Top:=50, Width:=100, Height:=100)With Box
.TextFrame.TextRange.Text = “text box here”
.Line.Visible = msoFalse
.Fill.Visible = msoFalse
.TextFrame.TextRange.Font.Name = “Arial”
.TextFrame.TextRange.Font.Size = “11”
.TextFrame.TextRange.Font.Color = wdColorBlack
.TextFrame.TextRange.ParagraphFormat.Alignment = wdAlignParagraphJustify
.TextFrame.TextRange.ParagraphFormat.LineSpacingRule = wdLineSpaceSingle
.TextFrame.TextRange.ParagraphFormat.SpaceBefore = 0
.TextFrame.TextRange.ParagraphFormat.SpaceBeforeAuto = False
.TextFrame.TextRange.ParagraphFormat.SpaceAfter = 0
.TextFrame.TextRange.ParagraphFormat.SpaceAfterAuto = False
End With
End Sub