以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  窗口Table表中,Ctrl+D重复填充无效吗?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=97951)

--  作者:feixianzhi
--  发布时间:2017/3/21 16:15:00
--  窗口Table表中,Ctrl+D重复填充无效吗?
麻烦问一下各位老师,在窗口Table表中,Ctrl+D重复填充无效吗。
--  作者:有点色
--  发布时间:2017/3/21 17:37:00
--  

要自己做一个 Ctrl+Q 的快捷键处理

 

编写 keyDown 事件

 

If e.keycode = Keys.Q AndAlso e.control = True Then
    For i As Integer = e.Table.topposition + 1 To e.Table.bottomposition
        e.Table.rows(i)("第二列") = e.Table.rows(i-1)("第二列")
    Next
    e.cancel = True
End If


--  作者:feixianzhi
--  发布时间:2017/3/22 7:49:00
--  
非常感谢有点色老师的帮忙。
--  作者:feixianzhi
--  发布时间:2017/4/17 11:02:00
--  

    以下这段代码是在窗口KeyDown事件中,按Ctrl+Q 键进行重复填充


\'按Ctrl+Q 键进行重复填充
If e.keycode = Keys.Q AndAlso e.control = True Then
    For i As Integer = e.Table.topposition + 1 To e.Table.bottomposition
        e.Table.rows(i)("返利编号") = e.Table.rows(i-1)("返利编号")
        e.Table.rows(i)("高开编号") = e.Table.rows(i-1)("高开编号")
        e.Table.rows(i)("相关说明") = e.Table.rows(i-1)("相关说明")
    Next
    e.cancel = True
End If

  以上代码重复填充必须是选定的行进行填充。
  
   我想实现,如返利编号列,我第一行已经有值,我想按Ctrl+Q键,对此列筛选出来的行不选定,直接填充到最后一行,能不能实现,请有点色老师帮忙。其他的列也是如此。

--  作者:有点色
--  发布时间:2017/4/17 11:04:00
--  
If e.keycode = Keys.Q AndAlso e.control = True Then
    For i As Integer = 1 To e.Table.rows.count-1
        e.Table.rows(i)("返利编号") = e.Table.rows(i-1)("返利编号")
        e.Table.rows(i)("高开编号") = e.Table.rows(i-1)("高开编号")
        e.Table.rows(i)("相关说明") = e.Table.rows(i-1)("相关说明")
    Next
    e.cancel = True
End If

--  作者:feixianzhi
--  发布时间:2017/4/17 12:10:00
--  
非常感谢有点色老师。


--  作者:feixianzhi
--  发布时间:2017/4/17 14:09:00
--  

有点色老师,我想在下面的代码加上粘贴的代码,怎么写:

If e.keycode = Keys.Q AndAlso e.control = True Then
    For i As Integer = 1 To e.Table.rows.count-1
        e.Table.rows(i)("返利编号") = e.Table.rows(i-1)("返利编号")
        e.Table.rows(i)("高开编号") = e.Table.rows(i-1)("高开编号")
        e.Table.rows(i)("相关说明") = e.Table.rows(i-1)("相关说明")
    Next
    e.cancel = True
End If

我已经用Ctrl+C复制了内容,上面这段代码,我得选按Ctrl+V将内容粘贴到单元格里,而后再按Ctrl+Q进行重复复制,我现在想按Ctrl+Q直接粘贴并复制,代码怎么改,请有点色老师帮忙。


--  作者:feixianzhi
--  发布时间:2017/4/17 14:23:00
--  
请有点色老师帮忙呀。
--  作者:有点色
--  发布时间:2017/4/17 15:19:00
--  

 

If e.keycode = Keys.Q AndAlso e.control = True Then
    Sendkeys.SendWait("^V")
    For i As Integer = 1 To e.Table.rows.count-1
        e.Table.rows(i)("返利编号") = e.Table.rows(i-1)("返利编号")
        e.Table.rows(i)("高开编号") = e.Table.rows(i-1)("高开编号")
        e.Table.rows(i)("相关说明") = e.Table.rows(i-1)("相关说明")
    Next
    e.cancel = True
End If

--  作者:feixianzhi
--  发布时间:2017/4/17 15:21:00
--  
有点色老师,问题已解决,我将代码改成以下这样,不知道对不对,能用。

If e.keycode = Keys.Q AndAlso e.control = True Then
    CurrentTable.EditPaste()

    For i As Integer = 1 To e.Table.rows.count-1
        e.Table.rows(i)("返利编号") = e.Table.rows(i-1)("返利编号")
        e.Table.rows(i)("高开编号") = e.Table.rows(i-1)("高开编号")
        e.Table.rows(i)("相关说明") = e.Table.rows(i-1)("相关说明")
    Next
    e.cancel = True
End If


我增加了红颜色代码,不知道对不对。