2013-04-10 74 views
0

好日子大家我有一个问题:VBA的MS Word表格行问题

我有一个表格,用户可以添加,将

  1. 当我循环传递到表在MS Word行所有窗体添加行我调用功能
  2. 我插入新行到我的MS WORD文档(从模板)
  3. 当我尝试添加文本到单元格,它只添加文本到第1行的表中!

这是我要做的事:

Dim frame As Control 
For Each frame In fillForm.MultiPage1.Pages(2).Controls 
    If TypeOf frame Is msforms.frame Then tablerowadd frame.Controls("krsName").Value, frame.Controls("krsMark").Value 
Next frame 

Public Function tablerowadd(krsName As String, krsmark As String) As Boolean 
    krsRow = krsRow + 1 
    With ActiveDocument.Tables(1) 
    .Rows.Add 
    .Cell(krsRow, 1).Range.Text = krsName 
    .Cell(krsRow, 2).Range.Text = krsmark 
    End With 
End Function 

krsRow是公共整型变量。

谁能告诉我我做错了什么?
当我调试时,我得到了krsRow = 2,3,4等。
.Cell(krsRow, 2).Range.Text = krsmark总是添加文本到第1行。
请帮忙!

回答

0

所以,这很容易,插入文本时需要引用最后一行。因此将部分功能改为:

.Cell(.Rows.Count, 1).Range.Text = krsName 
.Cell(.Rows.Count, 2).Range.Text = krsmark 

因此您输入的内容会转到表格的最后一行。 如果你改变,所以你将不需要使用你的krsRow变量

+0

谢谢,但它也没有帮助。无论如何,我foud解决方案,我可以发布在这里,如果任何人需要。 – ailmcm 2013-04-11 05:50:58

+0

@ailmcm,总是欢迎... – 2013-04-11 05:58:25

+0

的想法是通过变量使其通过链接所示:http://msdn.microsoft.com/en-us/library/office/ff838946.aspx – ailmcm 2013-04-12 05:35:27