在Calc中使用键盘移动行

多坦科恩

如何用键盘将一行移到其他位置?我已经找到了适用于鼠标的指南,但是由于残障,我在使用鼠标时遇到了麻烦。

请注意,我不希望“手动排序”,并且使用额外的“排序顺序”列不是可行的解决方法。我知道Calc的出色排序能力。

Tohuwawohu

我不确定是否可以使用键盘“移动”行,但是使用c&p以及使用键盘插入/删除行应该提供相同的功能:

  • 导航到要移动的行的第一个(最左侧)单元格;
  • 点击SHIFT+SPACE选择整行;
  • 点击CTRL+C复制行;
  • 点击CTRL+-删除当前行;
  • 导航到目标行;
  • 点击ALT+I打开Insert菜单;
  • 点击R以插入新行(当前行将向下移动);
  • 点击CTRL+V将行粘贴到新位置。

由于剪切和粘贴操作有时很烦人,因此您可以创建一个简单的宏来剪切单元格,然后创建另一个宏来粘贴它们,从而将现有内容向下移动。

这是一个非常简单的代码,可以“移动”选定的单元格:

Option Explicit

Sub CopyAndCut
    ' ---------------------------------------------------------
    ' define variables
    Dim document   as object
    Dim dispatcher as Object
    Dim oSelections As Object
    ' ---------------------------------------------------------
    ' get access to the document and selections (if any)
    document    = ThisComponent.CurrentController.Frame
    oSelections = ThisComponent.getCurrentSelection()
    If IsNull(oSelections) Then Exit Sub        
    ' ---------------------------------------------------------
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
    dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
    dispatcher.executeDispatch(document, ".uno:Cut", "", 0, Array())
    ' -------------------------------------------------------------
    ' Check the width of the selection - if 1024 columns, we assume
    ' the complete row was selected and should get deleted
    If 1024 = oSelections.Columns.getCount() Then
        dispatcher.executeDispatch(document, ".uno:DeleteRows", "", 0, Array())
    End If
End Sub

Sub InsertWithMoveDown
    ' ---------------------------------------------------------
    ' define variables
    Dim document   as object
    Dim dispatcher as object
    ' ---------------------------------------------------------
    ' get access to the document
    document   = ThisComponent.CurrentController.Frame
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
    ' ---------------------------------------------------------
    ' Paste contents with "Move Down" option
    Dim args1(5) as New com.sun.star.beans.PropertyValue
    args1(0).Name = "Flags"
    args1(0).Value = "A"
    args1(1).Name = "FormulaCommand"
    args1(1).Value = 0
    args1(2).Name = "SkipEmptyCells"
    args1(2).Value = false
    args1(3).Name = "Transpose"
    args1(3).Value = false
    args1(4).Name = "AsLink"
    args1(4).Value = false
    args1(5).Name = "MoveMode"
    args1(5).Value = 0
    dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args1())
End Sub

Sub InsertWithMoveRight
    ' ---------------------------------------------------------
    ' define variables
    Dim document   as object
    Dim dispatcher as object
    ' ---------------------------------------------------------
    ' get access to the document
    document   = ThisComponent.CurrentController.Frame
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
    ' ---------------------------------------------------------
    ' Paste contents with "Move Right" option
    Dim args1(5) as New com.sun.star.beans.PropertyValue
    args1(0).Name = "Flags"
    args1(0).Value = "A"
    args1(1).Name = "FormulaCommand"
    args1(1).Value = 0
    args1(2).Name = "SkipEmptyCells"
    args1(2).Value = false
    args1(3).Name = "Transpose"
    args1(3).Value = false
    args1(4).Name = "AsLink"
    args1(4).Value = false
    args1(5).Name = "MoveMode"
    args1(5).Value = 1
    dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args1())
End Sub

复制代码到你的用户库,只是分配后CopyAndCut到,例如,Alt+ CInsertWithMoveDown以便例如,Alt+ V,及InsertWithMoveRight到,例如,Alt+ R(所有这些快捷键默认为空)。

现在,您可以使用鼠标或键盘选择单元格或行,使用Alt+剪切它们C,移动到目标单元格,然后使用Alt+VAlt+粘贴它们R

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Kivy中使用键盘移动图像?

来自分类Dev

是否可以在Notepad ++中使用键盘移动选项卡

来自分类Dev

在Javafx中使用键盘移动两个矩形

来自分类Dev

使用键盘移动精灵

来自分类Dev

在calc中使用n

来自分类Dev

使用C ++在OpenGL中使用键盘移动3D形状

来自分类Dev

使用键盘快速移动视图

来自分类Dev

在CSS Calc中使用自动

来自分类Dev

在步骤中使用css calc()

来自分类Dev

在jQuery中使用css calc()

来自分类Dev

在Vim中使用Ctrl-E移动显示行?

来自分类Dev

xterm中的键盘绑定,可使用shift + up键向上移动一行

来自分类Dev

使用键盘键缓慢移动鼠标箭头

来自分类Dev

崇高的文字,使用键盘移动标签

来自分类Dev

如何使用键盘移动RemoteApp窗口?

来自分类Dev

使用键盘iOS8移动UIToolbar

来自分类Dev

使用键盘向上移动文本字段

来自分类Dev

Angular 5 + 如何在 IE 11 中使用键盘向左/向右选项逐个字符地移动光标

来自分类Dev

在CSS Calc函数中使用模数

来自分类Dev

在视口单位中使用CSS Calc

来自分类Dev

是否可以在transform:scale()中使用calc()?

来自分类Dev

如何在顺风CSS中使用calc()?

来自分类Dev

在宏中使用libreOffice Calc函数

来自分类Dev

在Openoffice Calc中使用地址功能

来自分类Dev

如何在macOS终端中使用键盘快捷键选择一行?

来自分类Dev

在移动应用中使用ApiController

来自分类Dev

在函数中使用“移动”值

来自分类Dev

在Ruby中使用键盘诅咒数组浏览

来自分类Dev

如何在iOS中使用硬件键盘?