You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Outlook 2016默认字体?VBS脚本报错求助

如何将非365版Microsoft Office的默认Arial字体改为Montserrat?

我尝试用VBScript修改,但双击运行.vbs文件时出错,错误截图如下:
错误截图

我编写的脚本如下:

Sub ChangeFont()
    Dim objOLApp As Outlook.Application
    Dim NewTask As Outlook.TaskItem 
    Set objOLApp = New Outlook.Application
    Set NewTask = objOLApp.CreateItem(0)

    with Newtask
        .DefaultFont = "Montserrat"
    End With

    On Error Resume Next
END Sub

WScript.Echo "Done!"

pause

exit

我查过相关资料,有人建议用PowerShell运行,但不知道具体操作方法。


问题分析与解决步骤

你的脚本存在几个核心问题:

  • VBScript不支持VBA的Sub/End Sub语法,也不能用As声明变量类型
  • 脚本仅修改了临时创建的单个任务项字体,而非Office全局默认设置
  • pause和exit不是VBScript的合法命令

Office各组件(Word/Excel/Outlook等)的默认字体设置相互独立,需要分别处理,以下是对应PowerShell解决方案:

1. 修改Word默认字体

右键以管理员身份打开PowerShell,执行:

$word = New-Object -ComObject Word.Application
$normalTemplate = $word.NormalTemplate
$defaultFont = $normalTemplate.Styles.Item("Normal").Font
$defaultFont.Name = "Montserrat"
$normalTemplate.Save()
$word.Quit()

2. 修改Outlook邮件默认字体

同样以管理员身份运行PowerShell,执行:

$outlook = New-Object -ComObject Outlook.Application
$mailItem = $outlook.CreateItem(0)
$inspector = $mailItem.GetInspector
$wordEditor = $inspector.WordEditor
$defaultStyle = $wordEditor.Styles.Item("Normal")
$defaultStyle.Font.Name = "Montserrat"
$mailItem.Close(1)
$outlook.Quit()

3. 修改Excel默认字体

管理员权限下执行PowerShell命令:

$excel = New-Object -ComObject Excel.Application
$workbook = $excel.Workbooks.Add()
$excel.DefaultFont.Name = "Montserrat"
$excel.SaveSettings()
$workbook.Close($false)
$excel.Quit()

注意事项

  • 运行前关闭所有对应Office程序,避免进程冲突
  • 确保系统已安装Montserrat字体
  • PowerShell需以管理员身份运行,否则可能无法保存模板设置

内容的提问来源于stack exchange,提问作者Hallow_Worlds

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 07:41:35