となりのセルを選択

アクティブセルの1つ上下左右のセルを選択するマクロを作成しました。

Sub GoUp
ma0050_UnoSe("GoUp")
End Sub

Sub GoDown
ma0050_UnoSe("GoDown")
End Sub

Sub GoLeft
ma0050_UnoSe("GoLeft")
End Sub

Sub GoRight
ma0050_UnoSe("GoRight")
End Sub

sub ma0050_UnoSe(maunostr as String)
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object

Dim maCurrentC as Object
Dim maCurrentS as Object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

maCurrentC = ThisComponent.CurrentController
rem ----------------------------------------------------------------------
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "By"
args1(0).Value = 1
args1(1).Name = "Sel"
args1(1).Value = false
dispatcher.executeDispatch(document,".uno:" & maunostr, "", 0, args1())

maCurrentS = ThisComponent.CurrentSelection
maCurrentC.Select(maCurrentS)
end sub




マクロの機能
 GoUp :アクティブセルの1つ上のセルを選択します。
 GoDown :アクティブセルの1つ下のセルを選択します。
 GoLeft :アクティブセルの1つ左のセルを選択します。
 GoRight:アクティブセルの1つ右のセルを選択します。

マクロの説明
 上矢印、下矢印、左矢印、右矢印のマクロ記録を編集して作成しました。

 UNO コマンド名については、StarSuite 8 管理ガイド(P67)
 を参考にして下さい。


Excelでは、下記のようになります。
Sub XGoUp()
If ActiveCell.Row > 1 Then
 ActiveCell.Cells(0, 1).Select
End If
End Sub

Sub XGoDown()
If ActiveCell.Row < Cells(Rows.Count, 1).Row Then
 ActiveCell.Cells(2, 1).Select
End If
End Sub

Sub XGoLeft()
If ActiveCell.Column > 1 Then
 ActiveCell.Cells(1, 0).Select
End If
End Sub

Sub XGoRight()
If ActiveCell.Column < Cells(1, Columns.Count).Column Then
 ActiveCell.Cells(1, 2).Select
End If
End Sub



サンプルマクロ(Calc)
「ファイルのダウンロード」について 一旦ファイルを保存して
「ma0050_unose.zip」を「ma0050_unose.sxc」に変更後、実行して下さい。
2006年11月03日(金) 10:55:30 Modified by zizidai_3373




スマートフォン版で見る