This is quite tedious for the first symbol font, but for any other, all
you have to do is change the font in the even-numbered columns.
And if you have used a style, you only need to change that.
Below's a macro for creating such a table...
It shows the symbol characters, the corresponding "regular" character, decimal
and hexadecimal code.
You'd need to change the "symbol font" character style to some font (like
Wingdings, Zapf Dingbats, European Pi...).
Regards,
Klaus
Sub CharTable()
Dim i As Long
On Error Resume Next
ActiveDocument.Styles.Add Name:="symbol font", _
Type:=wdStyleTypeCharacter
On Error GoTo 0
With ActiveDocument.Styles("symbol font").Font
.Name = "Symbol"
.Size = 8
End With
With ActiveDocument.Styles(wdStyleNormal).Font
.Name = "Times New Roman"
.Size = 8
End With
ActiveDocument.Tables.Add Range:=Selection.Range, _
NumRows:=56, NumColumns:=16, _
DefaultTableBehavior:=wdWord9TableBehavior, _
AutoFitBehavior:=wdAutoFitFixed
Selection.Tables(1).AutoFitBehavior (wdAutoFitWindow)
Selection.Cells.DistributeWidth
With Selection.Tables(1)
.TopPadding = CentimetersToPoints(0)
.BottomPadding = CentimetersToPoints(0)
.LeftPadding = CentimetersToPoints(0)
.RightPadding = CentimetersToPoints(0)
.Spacing = 0
.AllowPageBreaks = True
.AllowAutoFit = True
End With
Selection.Tables(1).Cell(1, 1).Select
For i = 32 To 255
Selection.InsertAfter Chr(i)
Selection.Style = ActiveDocument.Styles("symbol font")
With Selection.Cells(1).Shading
.Texture = wdTextureNone
.ForegroundPatternColor = wdColorAutomatic
.BackgroundPatternColor = wdColorLightYellow
End With
With Selection.Cells(1).Borders(wdBorderRight)
.LineStyle = wdLineStyleNone
End With
With Selection.Cells(1).Borders(wdBorderBottom)
.LineStyle = wdLineStyleNone
End With
Selection.Move Unit:=wdCell, Count:=1
Selection.Style = ActiveDocument.Styles(wdStyleNormal)
Selection.InsertAfter Chr(i)
With Selection.Cells(1).Shading
.Texture = wdTextureNone
.ForegroundPatternColor = wdColorAutomatic
.BackgroundPatternColor = wdColorGray10
End With
With Selection.Cells(1).Borders(wdBorderLeft)
.LineStyle = wdLineStyleNone
End With
With Selection.Cells(1).Borders(wdBorderBottom)
.LineStyle = wdLineStyleNone
End With
If i < 255 Then
Selection.Move Unit:=wdCell
End If
If i Mod 8 = 7 Then
Selection.Move Unit:=wdRow
End If
Next i
Selection.Tables(1).Cell(2, 1).Select
For i = 32 To 255
If i > 127 Then
Selection.InsertAfter "0"
End If
Selection.InsertAfter str(i)
With Selection.Cells(1).Borders(wdBorderRight)
.LineStyle = wdLineStyleNone
End With
Selection.Move Unit:=wdCell
Selection.InsertAfter "H" & Hex(i)
If i < 255 Then
Selection.Move Unit:=wdCell
End If
If i Mod 8 = 7 Then
Selection.Move Unit:=wdRow
End If
Next i
Selection.Tables(1).Select
Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
End Sub