gpt4 book ai didi

vba - 工作文档中的 Word VBA ActiveDocument.PageWidth = 9999999

转载 作者:行者123 更新时间:2023-12-04 02:57:11 24 4
gpt4 key购买 nike

我正在尝试计算 Word 文档中图片形状的左侧位置,以便我可以使图像在页面上居中。为此,我需要知道左边距值以及左右边距之间可用页面的宽度。

我的问题是,当我的宏运行时,出现错误,因为 ActiveDocument.PageSetup.PageWidth 的值为 9999999(我假设是某种 MaxValue)。

我想这可能是因为我的文档有多个部分,其中一些是 2 或 4 列部分,一些是横向部分(因此 PageSetup 值将从正常的仅纵向文档样式发生变化).

有没有人有一些建议:

1) 如何在我的宏中从这种情况中正确恢复?例如,我可以测试这些值并根据文档最开始的纵向部分之一的 PageSetup 值重置它们吗?

2) 如何在我编写文档时管理文档以避免使 PageSetup 值从我最初为文档设置的值以及当我手动设置横向边距时的值“未定义”(不是正确的词)部分?

谢谢。

一些代码,给有兴趣的人。当我在调试器中将鼠标悬停在 PageWidth 上时,我的宏会在 PageWidth 值上触发类似“.PageWidth = < Object variable or With block variable not set.>”的错误。

Dim usablewidth As Single
With ActiveDocument.PageSetup
usablewidth = .PageWidth - .leftmargin - .RightMargin
End With

最佳答案

999999(undefined) 当您查询的对象有多个可能的值时出现。正如您所描述的,当文档包含多个页面宽度不同的部分时就是这种情况。

要解决此问题,请查询 Section 属性,而不是文档的属性。例如获取第一节的页面宽度:

ActiveDocument.Sections(1).PageWidth

也就是说,应该可以将图像的相对水平位置设置为在页面上居中...最简单的方法是使用 InlineShape 并将其 Range.ParagraphAlignment 设置为居中。

关于vba - 工作文档中的 Word VBA ActiveDocument.PageWidth = 9999999,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52471564/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com