不同的 PPT 模板对相同的宏有不同的反应

Different PPT templates reacting different on the same macros

我是新来的,所以我可能没有看到上传我的问题文件的可能性,这样可以更容易地描述问题。 编辑:这里的文件:https://drive.google.com/file/d/0B--IbmtX58h8TnVrdlRyUXZ5a2dEOVJBQkplVjFuVEVMVXhJ/view?usp=docslist_api 和:https://drive.google.com/file/d/0B--IbmtX58h8TFR6d3FkWlZpSGFVUGF5bHVhRTR5ZTlnbXAw/view?usp=docslist_api (谢谢你的想法,史蒂夫)

它是关于什么的: 我有两个具有不同主模板的文档,它们对同一组宏的反应完全不同,我不知道这种情况是如何发生的,为什么会发生,也不知道如何修复或避免它。

其中两个宏仅创建对象 - 一个是单个文本框,另一个是一组矩形和一个文本框。第一个提到的出现在一个模板中代码中定义的位置,但在另一个模板中略低于它。更奇怪的是这个群体的行为。矩形出现在两个模板中的正确位置,文本框仅出现在其中一个模板中。

接下来是一个宏,用于将文本行之间的段落增加 3 磅。它在一个模板中工作正常,但在另一个模板中它增加了 43.2 pt 的间距!

第 4 号宏用于在返回 0 后将段落 space 后退。这个在两个模板中都可以正常工作。

有趣的是,错误出现在彼此相反的地方。单个文本框和组在模板中产生错误,其中间距工具工作正常,而间距工具在单个文本框和组工作良好的模板中出现奇怪的事情。

任何想法将不胜感激!

谢谢, RG

我使用 PowerPoint 2010。

您的脚注放错地方了,因为一个演示文稿中的默认文本设置与另一个演示文稿中的不同;在这种情况下,自动调整设置。

' in this section of your FOOTNOTE routine:
With .TextFrame
    ' Add this next line and it will work as expected
    .AutoSize = ppAutoSizeNone
    .TextRange.Text = "Note: " & vbCrLf & "Source: "
    .VerticalAnchor = msoAnchorBottom

同样,在您的 SectionMarker 子例程中:

With .TextFrame
     ' add this
    .AutoSize = ppAutoSizeNone
    ' then the rest of your code

然后一切如您所愿。或者至少,它与两个模板的工作方式相同。