gpt4 book ai didi

vba - 通用 Powerpoint 开发人员控制 VBA 中的值(value)节省

转载 作者:行者123 更新时间:2023-12-04 05:49:08 29 4
gpt4 key购买 nike

我希望使用 Powerpoint 创建一种测验,我想保存用户提供的输入。

例如:如果我问这个问题:你最喜欢什么颜色?当他们回答问题并单击下一步按钮时,我想保存文本框的值并将其附加到输出文件中。

我已经知道如何获取值并将值写入文件。

我想做的是一种循环。

这是伪代码:

foreach(Control c in CurrentSlide.Controls)
{
File.Append(c.Value);
}

这样,无论表单上有什么控件,我都想保存每个控件的值。

这在VBA中可能吗?如果没有,您是否有针对这种情况的通用解决方案?

最佳答案

这是检查幻灯片上每个控件的更通用的方法,无需事先知道会有多少个。这假定您保留了分配给控件形状(TextBox1、CheckBox1 等)的默认名称。如果您想更改这些,您需要确保每个 TextBox 的名称至少包含一位唯一的字符串,并相应地更改代码。 Siddarth 已经提供了写入文件的代码,你说你可以控制它,所以我只是调试。在这里打印值以保持示例简单。

Sub TestIt()
' Run this to test the shapes on slide 1
ProcessTheSlide ActivePresentation.Slides(1)
End Sub

Sub ProcessTheSlide(oSl As Slide)

Dim oSh As Shape

For Each oSh In oSl.Shapes
' Is it a control?
If oSh.Type = 12 Then ' msoOLEControlObject
On Error Resume Next
With oSh.OLEFormat.Object
If InStr(.Name, "TextBox") > 0 Then
Debug.Print .Text
End If
If InStr(.Name, "CheckBox") > 0 Then
Debug.Print .Value
End If

End With
End If
Next

End Sub

关于vba - 通用 Powerpoint 开发人员控制 VBA 中的值(value)节省,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10292962/

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