Vba 通过VBS在Word中设置字体大小仅适用于某些文档
我试图通过VBScript以编程方式修改一组单词标题 我采取的步骤如下(在psuedocode中): 我遇到的问题是,一个小而一致的文档组应用了除字体更改之外的所有步骤 我专门用于执行字体更改的代码如下:Vba 通过VBS在Word中设置字体大小仅适用于某些文档,vba,vbscript,ms-word,formatting,ms-office,Vba,Vbscript,Ms Word,Formatting,Ms Office,我试图通过VBScript以编程方式修改一组单词标题 我采取的步骤如下(在psuedocode中): 我遇到的问题是,一个小而一致的文档组应用了除字体更改之外的所有步骤 我专门用于执行字体更改的代码如下: Sub setFont ' Select the header view WordApp.ActiveWindow.ActivePane.View.SeekView = 9 ' Set the font to 9 WordApp.ActiveWindow.Se
Sub setFont
' Select the header view
WordApp.ActiveWindow.ActivePane.View.SeekView = 9
' Set the font to 9
WordApp.ActiveWindow.Selection.Font.Size = "9"
' Go back the the main body view
WordApp.ActiveWindow.ActivePane.View.SeekView = 0
End Sub
据我所知,脚本失败的那批文档没有任何独特之处。文档集包含各种字体大小和制表位,脚本在该集中的70多个其他文档上运行良好
如果有人能帮我确定为什么该代码在某些文档上不起作用,我将不胜感激。您可能需要设置
选项
,使其包含整个标题。这是添加了代码行的代码。警告:未测试
Sub setFont()
' Select the header view
WordApp.ActiveWindow.ActivePane.View.SeekView = 9
' Make the selection the entire header
WordApp.ActiveWindow.Selection.WholeStory
' Set the font to 9
WordApp.ActiveWindow.Selection.Font.Size = "9"
' Go back the the main body view
WordApp.ActiveWindow.ActivePane.View.SeekView = 0
End Sub
您可能可以将与。。。在此代码中以
块结尾:
Sub setFont()
With WordApp.ActiveWindow
' Select the header view
.ActivePane.View.SeekView = 9
' Make the selection the entire header
.Selection.WholeStory
' Set the font to 9
.Selection.Font.Size = "9"
' Go back the the main body view
.ActivePane.View.SeekView = 0
End With
End Sub
您可能需要设置
选择
,使其包含整个标题。这是添加了代码行的代码。警告:未测试
Sub setFont()
' Select the header view
WordApp.ActiveWindow.ActivePane.View.SeekView = 9
' Make the selection the entire header
WordApp.ActiveWindow.Selection.WholeStory
' Set the font to 9
WordApp.ActiveWindow.Selection.Font.Size = "9"
' Go back the the main body view
WordApp.ActiveWindow.ActivePane.View.SeekView = 0
End Sub
您可能可以将与。。。在此代码中以
块结尾:
Sub setFont()
With WordApp.ActiveWindow
' Select the header view
.ActivePane.View.SeekView = 9
' Make the selection the entire header
.Selection.WholeStory
' Set the font to 9
.Selection.Font.Size = "9"
' Go back the the main body view
.ActivePane.View.SeekView = 0
End With
End Sub
您可以手动更改其中一个文档中的字体大小吗?使用宏录制器在一个问题文件中手动记录更改字体的情况,并查看是否有任何显示。@ChipsLetten这样做会产生以下VBA:'Selection.wholetory Selection.font.Size=9'您对如何将其集成到我的子文件中有何建议?我承认,在从VBA迁移到VBS的过程中,我有点迷失了方向。(编辑:发布得太早。)能否手动更改其中一个文档中的字体大小?使用宏录制器在一个问题文件中手动记录更改字体的情况,并查看是否有任何显示。@ChipsLetten这样做会产生以下VBA:'Selection.wholetory Selection.font.Size=9'您对如何将其集成到我的子文件中有何建议?我承认,在从VBA迁移到VBS的过程中,我有点迷失了方向。(编辑:发布得太早。)按照您的建议修改的脚本运行时没有错误,但仍然不会更改问题文档上的字体。(感谢您提供的With…End With示例。这是一个有用的表示法!)编辑:我可以提供有关问题文档的更多信息吗?如果在VBA中运行代码,字体大小是否会更改?不知道我还能建议什么。你能在某处发布问题文档样本吗?它能。这里有一个拒绝更改的文档:该文档的标题中没有任何内容。有关选择语言的文本和可用选项位于文档的主文本中。我的浏览器没有获得正确的文件。现在更有意义了。按照您的建议修改的脚本运行时没有错误,但仍然不会更改问题文档上的字体。(感谢您提供的With…End With示例。这是一个有用的表示法!)编辑:我可以提供有关问题文档的更多信息吗?如果在VBA中运行代码,字体大小是否会更改?不知道我还能建议什么。你能在某处发布问题文档样本吗?它能。这里有一个拒绝更改的文档:该文档的标题中没有任何内容。有关选择语言的文本和可用选项位于文档的主文本中。我的浏览器没有获得正确的文件。现在更有意义了。