【问题标题】:Shared Powerpoint file with an automatic VBA saving具有自动 VBA 保存功能的共享 Powerpoint 文件
【发布时间】:2013-09-13 23:05:23
【问题描述】:

我正在尝试为一家公司进行 Powerpoint 测验,该公司将在其网络驱动器上共享它,每个人都应该可以访问。

这个想法是每个员工都可以参加测验,在回答完所有问题后,分数会保存到最后一张幻灯片,并列出当前员工的所有分数。

我已经知道如何将测验作为其中的一部分,但我还没有找到一个教程如何保存 - 将分数添加到最后一张幻灯片的列表并保存文件。

这可行吗?是否可以更新网络驱动器中的文件,使用 VBA 保存,以便下一个打开文件的人将看到最后一张幻灯片上的所有分数?

我一开始想自动通过电子邮件发送结果,但后来发现这是不可能的。

有Windows和Mac用户有关系吗(不知道有没有mac用户)?

提前致谢

【问题讨论】:

  • 似乎更容易自动通过电子邮件发送结果...
  • @DavidZemens 如何自动通过电子邮件发送这些结果,以便用户无法更改正在发送的文本?
  • 我需要更多信息......你可能应该开始一个新问题:“如何使用 VBA 从 PPT 发送电子邮件”或类似的东西。确保包含您要发送的数据的示例/屏幕截​​图,并描述它在演示文稿中的位置(例如,在文本框中、幻灯片的内容占位符等)。

标签: vba powerpoint


【解决方案1】:

首先,您需要确保一次只有一个用户打开演示文稿。或者想办法将演示文稿的副本分发给每个用户,并让每个副本将分数写入网络上的公共文件。

我还没有找到一个如何保存的教程——将乐谱添加到最后一张幻灯片的列表中并保存文件。

要保存文件,请调用 Presentation 的 .Save 方法

ActivePresentation.Save

要将文本框和文本添加到演示文稿的最后一张幻灯片,如下所示:

Dim oSl As Slide
Dim oSh As Shape

Set oSl = ActivePresentation.Slides(ActivePresentation.Slides.Count)
Set oSh = oSl.Shapes.AddTextbox(msoTextOrientationHorizontal, 100, 100, 500, 200)
With oSh.TextFrame.TextRange
    .Text = "YOUR SCORE HERE"
End With

或者如果您已经添加了形状并想要更改文本:

Dim oSh As Shape

With ActivePresentation.Slides(ActivePresentation.Slides.Count)
    Set oSh = .Shapes("ShapeName")  ' substitute the actual shape name
    With oSh.TextFrame.TextRange
        .Text = "YOUR SCORE HERE"
    End With
End With    ' Last Slide

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多