Word中利用VBA导入样式
由于经常编辑文本资料,需要导入自己定义的样式,比较麻烦。我利用宏录制了一些VBA程序。下面是一个示例。
Sub 导入样式表集()
'
' 导入样式表集 宏
'
'
Application.OrganizerCopy Source:="E:\样式表集合模板.doc", _
Destination:="E:\待编辑文档.doc", Name:="诗词标题样式", _
Object:=wdOrganizerObjectStyles
Application.OrganizerCopy Source:="E:\样式表集合模板.doc", _
Destination:="E:\待编辑文档.doc", Name:="诗词样式", _
Object:=wdOrganizerObjectStyles
Application.OrganizerCopy Source:="E:\样式表集合模板.doc", _
Destination:="E:\待编辑文档.doc", Name:="诗词大义样式", _
Object:=wdOrganizerObjectStyles
Application.OrganizerCopy Source:="E:\样式表集合模板.doc", _
Destination:="E:\待编辑文档.doc", Name:="总结样式", _
Object:=wdOrganizerObjectStyles
End Sub
但是问题来了,如果是新的编辑文档到来,需要导入,这个代码运行没有效果。仔细检查原因。是录制时候,只是针对具体的文档。要通用化,必须修改Destination:="E:\待编辑文档.doc"
为Destination:=ActiveDocument
,如下。
Sub 导入样式表集()
'
' 导入样式表集 宏
'
'
Application.OrganizerCopy Source:="E:\样式表集合模板.doc", _
Destination:=ActiveDocument, Name:="诗词标题样式", _
Object:=wdOrganizerObjectStyles
Application.OrganizerCopy Source:="E:\样式表集合模板.doc", _
Destination:=ActiveDocument, Name:="诗词样式", _
Object:=wdOrganizerObjectStyles
Application.OrganizerCopy Source:="E:\样式表集合模板.doc", _
Destination:=ActiveDocument, Name:="诗词大义样式", _
Object:=wdOrganizerObjectStyles
Application.OrganizerCopy Source:="E:\样式表集合模板.doc", _
Destination:=ActiveDocument, Name:="总结样式", _
Object:=wdOrganizerObjectStyles
End Sub
大功告成!