这个问题我已经困扰我一年了。当我重新启动 Word 时(无论是因为断电、Word 崩溃还是无响应),我的样式都会丢失,因为 Word 无法打开 normal.dotm 文件。如果我定义了任何样式,我必须重新定义它们。我学会了保存一个我称之为 Style Master 的文档,并将样式从中复制到 Normal,只要我打开 Word,样式就会保留在那里,但重新启动 Word 时样式就会丢失。
我在 2017 年的台式电脑上使用 Windows 10。我的 2021 年笔记本电脑没有出现这种情况,该电脑可以安装 Windows 11。我尝试重新安装 Office,但问题没有解决。
- - Robert McClenon
答案1
这是对应该提出的问题的回答:如何防止那些编辑问题。
对于功率损失,甚至小型UPS可以实现正常关机。这也可以避免损坏驱动器。
Word 崩溃了?这很不寻常!MS单词是一个成熟的产品,它不应该崩溃,也不会变得无响应(除非文档对于可用 RAM 来说太大,在这种情况下它使用慢得多 页面文件)。
要解决该问题,请重新安装并更新 MS Word(如果它崩溃了),或者尝试其他文档编辑器,例如免费的 LibreOffice Writer,它可以打开和保存 Word 文档 - 当前版本和 Word 本身不再支持的旧版本。
如果它没有响应大的文件,获取更多 RAM,或使用更快的 PC。如果您在公司环境中,请向决策者解释频繁的减速或崩溃会影响工作效率并可能导致文档丢失。
答案2
答案3
这些样式存储在您的普通模板:Normal.dotm。有一些东西正在干扰您保存对该模板的更改。
这可能是由于插件编写不当造成的。您可能想找出原因。但是,您可以使用解决方法。
这是一个强制 Normal 模板保存的宏:
Sub NormalTemplateSave()
' Charles Kenyon
' 16 March 2022
' Save the Normal Template
Application.NormalTemplate.Saved = False
Application.NormalTemplate.Save
End Sub
对样式进行任何更改后,只需运行宏即可。
以下是有关如何使用论坛中找到的宏的 Word MVP 建议的链接。
- Greg Maxey 的安装/使用 vba 程序
- 格雷厄姆市长安装宏的说明
以下是链接我在 Microsoft 网站上发表的有关备份 Normal 模板的文章。这是该宏的 Windows 版本:
Sub NormalBackup()
' Run to Backup Normal template to dated backup
' Charles Kenyon 10 Jan 2020
' https://www.addbalance.com/word/normal-backup.htm
' Appends date to "Normal Backup" when saving, saves in special folder,
' then returns save path to current - thanks to Jay Freedman for that
' This code must be in the Normal template to work - not in another global
'
On Error Resume Next
Dim strName As String
Dim intLenPath As Integer ' length of path to templates folder without name of folder
Dim strPath As String 'Holder for current path
Dim strStorePath As String
'
Let intLenPath = InStrRev(Application.Options.DefaultFilePath(wdUserTemplatesPath), "\")
Let strStorePath = Left(Application.Options.DefaultFilePath(wdUserTemplatesPath), intLenPath)
Let strStorePath = strStorePath & "Normal Backups"
'
' Check if folder exists, if not, create it
If Dir(strStorePath) = vbNullString Then MkDir (strStorePath)
'
Let strPath = Application.Options.DefaultFilePath(wdDocumentsPath)
Let strName = "Normal Backup"
' add date & Time
Let strName = strName & " " & Format((Year(Now() + 1) Mod 100), "20##") & "-" & _
Format((Month(Now() + 1) Mod 100), "0#") & "-" & _
Format((Day(Now()) Mod 100), "0#") & "-" & _
Format(Now(), "HH_mm") 'add date & time
'
' Do the save
' MsgBox strStorePath & strName & ".dotm"
ThisDocument.Save 'save normal template (code holder) itself
ThisDocument.SaveAs2 FileName:=strStorePath & "\" & strName & ".dotm", Addtorecentfiles:=False
' Reset save path
Let Application.Options.DefaultFilePath(wdDocumentsPath) = strPath
'
' reset error message
On Error GoTo -1
End Sub
以下是我的章节链接了解 Microsoft Word 中的样式。