キーボードを使用して行を別の場所に移動するにはどうすればよいですか?私は マウス用のこのガイド を見つけましたが、障害のためにこれにマウスを使用するのに問題があります。
「手動でソート」するつもりはなく、追加の「序数でソート」列を使用することは実行可能な回避策ではないことに注意してください。しかし、私はCalcの優れたソート機能を知っています。
キーボードを使用して行を「移動」する方法があるかどうかはわかりませんが、c&pを使用し、キーボードを使用して行を挿入/削除すると、同じ機能が提供されます。
Insert
メニューを開きます。切り取りと貼り付けの操作は非常に煩わしい場合があるため、セルを切り取って貼り付けるための単純なマクロを作成し、既存のコンテンツを下に移動することができます。
選択したセルを「移動」するための非常に簡単なコードを次に示します。
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+C、InsertWithMoveDown
to、例: Alt+V、およびInsertWithMoveRight
to、例: Alt+R (これらのショートカットはすべてデフォルトで空です)。
これで、マウスまたはキーボードを使用してセルまたは行を選択し、を使用してそれらを切り取ることができます Alt+C、ターゲットセルに移動し、を使用して貼り付けます Alt+V または Alt+R。
Open Office Calcで行を移動するには:
ターゲットの場所を上書きして破棄する場合は、Altキーを押したままにしないでください。ハイライトされた行をクリックして、新しい場所にドラッグするだけです。ターゲットの場所のデータは破棄され、移動される行のデータに置き換えられます。