具有自动VBA保存的共享Powerpoint文件

时间:2013-09-13 09:43:42

标签: vba powerpoint powerpoint-vba

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

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

我已经知道如何制作测验部分,但我没有找到一个教程如何进行保存 - 将分数添加到最后一张幻灯片的列表并保存文件。 < / p>

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

我第一次想到自动通过电子邮件发送结果,但后来认为这是不可能的。

是否有Windows和Mac用户(不知道是否有任何mac用户)是否重要?

提前致谢

1 个答案:

答案 0 :(得分:2)

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

  
    

我还没有找到一个如何进行保存的教程 - 在最后一张幻灯片列表中添加分数并保存文件。

  

要保存文件,请调用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