Setting Office 2010 Apps Default Font In OCT
Hi,
Does anybody know if it's possible to set the default font for all Office 2010 apps in the OCT (Office Customization Tool)?
I can't seem to find anything that relates to it being possible and when loading the OCT, there's only an option to set Excel's default font.
Thanks in advance.
Does anybody know if it's possible to set the default font for all Office 2010 apps in the OCT (Office Customization Tool)?
I can't seem to find anything that relates to it being possible and when loading the OCT, there's only an option to set Excel's default font.
Thanks in advance.
0 Comments
[ + ] Show comments
Answers (4)
Please log in to answer
Posted by:
captain_planet
13 years ago
I wrote a hefty automation script once upon a time, because the company I worked for then wanted to standardise the font to Arial (not Calibri) amongst other things, whilst not overwriting what the user already had (in case they had templated macros and custom styles etc etc)
Here's part of what I knocked up....I also did it for Powerpoint, Excel, Outlook etc. Not sure if what I have here is slightly old (untested) code (it's in my archived scripts) but feel free to have a dig through it....
Here's part of what I knocked up....I also did it for Powerpoint, Excel, Outlook etc. Not sure if what I have here is slightly old (untested) code (it's in my archived scripts) but feel free to have a dig through it....
Option Explicit
On Error Resume Next
Dim WshShell
set WshShell = CreateObject("WScript.Shell")
Dim currentUserAppData
currentUserAppData = WshShell.RegRead("HKCU\Volatile Environment\APPDATA")
Dim templateFolderPath : templateFolderPath = currentUserAppData & "\Microsoft\Templates\"
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
'***We need to create normal.dot first, otherwise creation of normal.dotm fails.
'Word 2003
generateTemplate("Normal.dot")
'Word 2007
generateTemplate("Normal.dotm")
Function generateTemplate(fname)
'Generate path to normal.dot
Dim templateFilePath : templateFilePath = templateFolderPath & fname
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
'Create Word automation object
Dim Word
Set Word = CreateObject ("word.application")
Dim wordDoc
Const wdLineSpacingSingle = 0
If fso.FileExists(templateFilePath) Then
'open template
Set wordDoc = Word.Documents.Open(templateFilePath)
Else
'create template path if not exist
If Not fso.FolderExists(templateFolderPath) Then
fso.CreateFolder(templateFolderPath)
End If
'create template
Set wordDoc = Word.Documents.Add
End If
'change font to Arial, 11
Dim objSelection
Set objSelection = Word.Selection
objSelection.Font.Name = "Arial"
objSelection.Font.Size = "11"
objSelection.Font.Bold = False
objSelection.Font.color = wdColorBlack
objSelection.ParagraphFormat.LineSpacingRule = wdLineSpacingSingle
objSelection.ParagraphFormat.SpaceAfter = 0
'-587137025 = black
With wordDoc.Styles("Heading 1").Font
.Name = "Arial"
.Size = 16
.Bold = True
.Color = wdColorBlack
End With
With wordDoc.Styles("Heading 1").ParagraphFormat
.SpaceBefore = 12
.SpaceAfter = 3
End With
With wordDoc.Styles("Heading 2").Font
.Name = "Arial"
.Size = 14
.Bold = True
.Italic = True
.Color = wdColorBlack
End With
With wordDoc.Styles("Heading 2").ParagraphFormat
.SpaceBefore = 12
.SpaceAfter = 3
End With
With wordDoc.Styles("Heading 3").Font
.Name = "Arial"
.Size = 13
.Bold = True
.Color = wdColorBlack
End With
With wordDoc.Styles("Heading 3").ParagraphFormat
.SpaceBefore = 12
.SpaceAfter = 3
End With
Const wdFormatTemplate = 1
Const wdFormatXMLTemplateMacroEnabled = 15
'get template type
Dim templateType : templateType = Right(templateFilePath, Len(templateFilePath) - InStrRev(templateFilePath, "."))
'save .dot file
Select Case templateType
Case("dot")
wordDoc.SaveAs templateFilePath, wdFormatTemplate
Case("dotm")
wordDoc.SaveAs templateFilePath, wdFormatXMLTemplateMacroEnabled
End Select
'close word document
wordDoc.close
'quit automation object
Word.Quit
'release object
Set Word = Nothing
End Function
'release other objects
Set fso = Nothing
Set WshShell = Nothing
Posted by:
anonymous_9363
13 years ago
Default fonts are controlled by templates, e.g. NORMAL.DOT[x] in Word. Create a customised version for each app and install them. Personally, I avoid replacing the default templates and use the different start-up folders to hold customisations because the defaults get replaced during upgrades and/or re-installs.
Posted by:
cowley
13 years ago
Posted by:
anonymous_9363
13 years ago
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.