在Word中,我为付款优惠券簿创建了一个模板。到目前为止,我已经编写了一些代码以在打开word文件时加载输入框/用户表单。用户输入名称,付款日期,付款金额等信息。单击“提交”后,用户输入将自动输入到模板中的相应字段中。我正在使用书签来做到这一点。
我的最后一个难题是:我需要它来生成用户在我的一个输入框中定义的许多优惠券。每个优惠券将具有相同的信息。唯一的区别是优惠券ID需要自动递增才能成为唯一ID。
想到这就像制作虚拟支票簿一样。您的姓名,地址等都是一样的。支票号码不同。这个程序本质上是在询问您想要多少支票。
此外,如果这在Excel中甚至是在Adobe中创建表单会更容易,请告诉我。这是我知道如何做的唯一方法。
随时问任何问题。希望这是有道理的。
代码如下:
Private Sub Submit_Click()
Dim flName As Range
Set flName = ActiveDocument.Bookmarks("flName").Range
flName.Text = Me.firstNameTxt.Value
Dim acctNumber As Range
Set acctNumber = ActiveDocument.Bookmarks("acctNumber").Range
acctNumber.Text = Me.accountNumberTxt.Value
Dim trailerNumber As Range
Set trailerNumber = ActiveDocument.Bookmarks("trailerNumber").Range
trailerNumber.Text = Me.trailerTxt.Value
Dim DueDate As Range
Set DueDate = ActiveDocument.Bookmarks("dueDate").Range
DueDate.Text = Me.dueDateTxt.Value
Dim PaymentAmount As Range
Set PaymentAmount = ActiveDocument.Bookmarks("paymentAmount").Range
PaymentAmount.Text = Me.paymentAmountTxt.Value
Unload Me
End Sub
答案 0 :(得分:0)
一种相当普遍的方法是使用mailmerge,其中您将有一个Excel工作表作为数据源,并附加了一个Word mailmerge主文档。 Excel中的编号列可能仅包含一个单元格以供输入数字,而后续行中的单元格将使该单元格递增。完成合并后,只需选择要处理的记录数即可。您的描述表明您可能需要一个Excel工作簿,在其中可以永久记录姓名,付款日期,付款金额,优惠券编号等,所有这些都可以作为邮件合并的一部分进行处理。有关基础知识,请参见:https://support.office.com/en-us/article/use-mail-merge-for-bulk-email-letters-labels-and-envelopes-f488ed5b-b849-4c11-9cff-932c49474705
有关用于简单Word表单复制的各种基于宏的方法,请参见: http://www.msofficeforums.com/word-vba/12959-sequential-document-numbering.html#post34477 http://www.msofficeforums.com/word-vba/12641-sequential-print-numbering.html#post33829http://www.msofficeforums.com/word-vba/35106-printing-multiple-copies-docm-word-pdf-saving.html#post113655