【问题标题】:Powerpoint SaveAs textbox form entryPowerpoint SaveAs 文本框表单条目
【发布时间】:2018-02-13 14:51:05
【问题描述】:

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

我希望能够发送一份已填写的 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

【问题讨论】:

    标签: vba forms powerpoint save-as


    【解决方案1】:

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

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-17
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 2020-09-07
      • 1970-01-01
      相关资源
      最近更新 更多