VBA产生相同页面“ x”的次数

时间:2019-04-30 17:57:38

标签: vba ms-word

在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

1 个答案:

答案 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