Powerpoint 另存为文本框表单条目

Powerpoint SaveAs textbox form entry

您好,我在下面编写了以下代码,可以自动发送一封电子邮件,确认用户已填写表格。目前我有一个带有一个提交按钮的 powerpoint,它会自动发送一封电子邮件。我还有一个名为序列号的文本框,用户可以在其中输入零件序列号。

我希望能够发送一份已填写的 powerpoint 表格,并以序列号命名。我正在努力将文本框信息保存为变量。有谁知道如何使下面的功能。我很抱歉,因为我是 VBA.

的新手
Private Sub CommandButton1_Click()
Dim OL              As Object
Dim EmailItem       As Object
Dim Powerpoint      As Presentation
Dim SerialNumtext   As String
Dim FinalName       As String

SerialNumtext = ActivePresentation.SelectContentControlsByTitle("SerialNumber")(1).Range.Text
FinalName = "Part Number" & SerialNumtext

Set OL = CreateObject("Outlook.Application")
Set EmailItem = OL.CreateItem(olMailItem)
Set Powerpoint = ActivePresentation
Powerpoint.Save


With EmailItem
.Subject = "SUBJECT LINE"
.Body = "BODY MESSAGE" & vbCrLf & _
"SECOND LINE BODY MESSAGE" & vbCrLf & _
"THIRD LINE BODY MESSAGE"
.To = "enduseremail"
.Importance = olImportanceNormal
'send the email with the powerpoint named after the serial number
.Attachments.Add Powerpoint.FinalName
.Send
 End With

 Set Powerpoint = Nothing
 Set OL = Nothing
 Set EmailItem = Nothing
 End Sub

Powerpoint 没有 SelectContentControlsByTitle 方法;相反,您将访问控件及其文本,如:

SerialNumtext = ActivePresentation.Slides(1).Shapes("SerialNumber").OLEFormat.Object.Text

这假定控件在幻灯片 1 上。

如果您不想做出这样的假设,但可以假设“提交”按钮和文本框在同一张幻灯片上:

SerialNumText = Me.Shapes("SerialNumber").OLEFormat.Object.Text

我在这种情况下 returns 对包含控件的幻灯片对象的引用。