其实是年前遇到的破事,现在终于有时间记录一下是怎么解决的了。
遇到的问题:一大堆的.docx文件用了莫名其妙的中文字体,造成所有中文字都挤在一起,根本没法看。
处理方法:设定文件字体为宋体,并且将字体嵌入到文件中。顺便调整一下章节前后的空白。
由于文件数量比较多,实在是懒得一个一个去手工处理,于是想起了很多年前玩过的“宏/macro”。以下是代码,如果有需要随意拿走用。这段宏代码会处理目录下所有的文件,将正文、页眉页脚字体都设置为宋体,并且去掉段落前后的空白。
Sub Macro1()
Dim vDirectory As String
Dim oDoc As Document
vDirectory = "C:\some_dir\"
vFile = Dir(vDirectory & "*.*", vbNormal)
Do While vFile <> ""
Set oDoc = Documents.Open(FileName:=vDirectory & vFile)
ActiveDocument.SetCompatibilityMode (wdWord2010)
ActiveDocument.BuiltInDocumentProperties("Author") = "liukang"
ActiveDocument.Range.Font.Name = "宋体"
With ActiveDocument.Sections(1)
.Footers(wdHeaderFooterPrimary).Range.Font.Name = "宋体"
.Headers(wdHeaderFooterPrimary).Range.Font.Name = "宋体"
.Footers(wdHeaderFooterFirstPage).Range.Font.Name = "宋体"
.Headers(wdHeaderFooterFirstPage).Range.Font.Name = "宋体"
End With
With ActiveDocument.Sections(1).Range.ParagraphFormat
.SpaceBeforeAuto = False
.SpaceAfterAuto = False
.WordWrap = True
End With
ActiveDocument.EmbedTrueTypeFonts = True
ActiveDocument.SaveSubsetFonts = True
ActiveDocument.DoNotEmbedSystemFonts = False
ActiveDocument.Save
ActiveDocument.Close
vFile = Dir
Loop
End Sub