excel - 使用 Excel 在单独的子文档中更改 Word 文档中的默认样式
问题描述
在 Excel 控制的 word 文档中,我想对使用的默认样式进行细微的更改。当一个 word 文档已经打开时,这可以使用以下代码:
Private Sub basic_syle()
Dim objWord As Word.Application
Dim objSelection As Word.selection
Set objWord = GetObject(, "Word.application")
Set objSelection = objWord.selection
adjust_obj_style
End Sub
Sub adjust_obj_style()
ActiveDocument.Styles("Heading 1").ParagraphFormat.PageBreakBefore = False
End Sub
但是,如果我想让 Excel 创建 word 文档并调整样式,则样式不会改变。
Dim objWord As Word.Application
Dim objDoc As Word.Document
Dim objSelection As Word.selection
Private Sub basic_syle()
Set objWord = CreateObject("Word.Application")
Set objDoc = objWord.Documents.Add
Set objSelection = objWord.selection
objWord.Visible = True
adjust_obj_style
End Sub
虽然我认为它与 activeDocument 类有关,但我还没有找到正确的解决方案。激活文档对象不是解决方案。
解决方案
您需要重新定义子:
Sub adjust_obj_style(doc as Object)
然后将该文档传递给子:
adjust_obj_style objDoc
然后使用该变量而不是ActiveDocument
这样:
doc.Styles("Heading 1").ParagraphFormat.PageBreakBefore = False
推荐阅读
- arrays - 将数组的一部分传递给 BLAS Fortran
- logging - 如何关闭 log4j2 中的 Dozer 日志记录条目?
- python - ValueError:检查输入时出错:预期 input_1 的形状为 (224, 224, 3) 但得到的数组的形状为 (3, 224, 224)
- html - 为什么带有空内联块的 div 有高度?
- angularjs - 单个组件加载缓慢的多个垫表
- .net - 使用数组绑定和 CLOB 在 Oracle 表中插入非常慢
- sql - 创建包含文本列的索引视图
- reactjs - 电子问题/未捕获的类型错误:无法设置未定义的属性“标题”
- javascript - VueJs 如何每天调用一次模态?
- ruby-on-rails - Rails 在整个应用程序中明智地显示 HTTP 状态代码的方式?