「解決」「並べ替え範囲」の確認ダイアログについて

スプレッドシート (Calc) について
返信する
h-taka
記事: 6
登録日時: 5月 10, 2011, 10:51 pm

「解決」「並べ替え範囲」の確認ダイアログについて

投稿記事 by h-taka »

並べ替えで「隣接する空でないセル」がある場合には、「範囲の拡張」or「現在の範囲」の選択を促すダイアログが表示されますが、
これを表示させず「現在の範囲」で実行させることは出来ないでしょうか?

特にマクロ(”マクロの記録”で作成)で繰り返し実行させる場合に既定値を設定できれば良いのですが
なお、ツール-オプション等の設定を見ても既定値なりの設定は見当たらず。
ex.
 列A 列B ・・・
 1  5
 4  2
 5  6
 :  :
上記の様に単純に、列A列B毎に降順or昇順に並べ替えしたいのです。
なお、列数は手作業でする量を超えていますので、マクロで繰り返しているのですが、上述のダイアログが表示されて
毎回応えています。

何卒、よろしくお願いいたします。
最後に編集したユーザー h-taka [ 5月 12, 2011, 4:51 pm ], 累計 1 回
OpenOffice.org 3.3.0 WindowsXP pro(SP3)
MoIshihara
記事: 337
登録日時: 6月 21, 2010, 6:52 am

Re: 「並べ替え範囲」の確認ダイアログについて

投稿記事 by MoIshihara »

h-taka さん こんにちは

・こんな感じでしょうか?

コード: 全て選択

Sub Sample
	Const Sheet = 0
	Const StartRow = 0
	Const EndRow = 5
	Const StartCol = 0
	Const EndCol = 7

	Dim oDoc  As Object
	oDoc = ThisComponent
	if not oDoc.supportsService("com.sun.star.sheet.SpreadsheetDocument") then Exit Sub
	Dim oSheet As Object
	oSheet = ThisComponent.Sheets.getByIndex(Sheet)
	Dim oCellRange As Object
	Dim aSortFields(0) As New com.sun.star.util.SortField
	aSortFields(0).Field = 0
	aSortFields(0).SortAscending = True
	Dim aPropertyValues(0) As New com.sun.star.beans.PropertyValue
	aPropertyValues(0).Name = "SortFields"
	aPropertyValues(0).Value = aSortFields
	Dim i As Integer
	for i = StartCol to EndCol
		oCellRange = oSheet.getCellRangeByPosition(i, StartRow, i, EndRow)
		oCellRange.sort(aPropertyValues)
	next
End Sub  
h-taka
記事: 6
登録日時: 5月 10, 2011, 10:51 pm

「解決」 「並べ替え範囲」の確認ダイアログについて

投稿記事 by h-taka »

MoIshihara さん 早速の返信(解答)ありがとうございます。m(__)m

行、列の有効範囲指定等きめ細かな(Const)記述で本当に助かりました。 (*^_^*)
マクロについてまだまだ勉強不足なのですが、Const指定の変数はわかりました。

汎用的に使えるすばらしいマクロです。感謝!!

投稿前は”マクロの記録”の内容を何とかループ処理に替えたのですが、例のダイアログが毎度出現!(悲)
unoとかいうAPIが英語のドキュメントしか見つけられず、時間が掛かるなぁーと思ってました。
また、OOo Basicについても本体ヘルプではsortメッソドとかの説明を見つけられず困ってました。

本当にありがとうございました。

※ 少しずつでも英語のページも見て勉強します。
OpenOffice.org 3.3.0 WindowsXP pro(SP3)
MoIshihara
記事: 337
登録日時: 6月 21, 2010, 6:52 am

Re: 「解決」「並べ替え範囲」の確認ダイアログについて

投稿記事 by MoIshihara »

h-taka さん こんにちは

・日本語でのsortメソッドの説明はこちらにあります。
http://hermione.s41.xrea.com/pukiwiki/p ... alc%2Fsort
・BASICガイドは参照されましたでしょうか?
http://wiki.services.openoffice.org/wik ... ASIC_Guide
http://wiki.services.openoffice.org/w/i ... .1.0jp.pdf
http://wiki.services.openoffice.org/w/i ... .1.0jp.odt
h-taka
記事: 6
登録日時: 5月 10, 2011, 10:51 pm

Re: 「解決」「並べ替え範囲」の確認ダイアログについて

投稿記事 by h-taka »

MoIshihara さん、情報ありがとうございます。甘えてしまいました。

夕方に本屋さんに立ち寄って「OOo マクロ・・・」何とかの本を見てきたのですが、やはり基本的なプログラミング構造とかの
事しかなく残念でしたが、本の最後にhttp://hermione・・・とhttp://wiki.services・・・とい参照があったのを頭に入れて
帰って着ました(笑)

・返信頂いたURLバッチリです。

http://ja.openoffice.org/ ページの support から見ていったのですが、すぐに英語ページだったので・・・
※ 今見ると左ペインの「案内」のDocument さらにその下にある「他の言語」の日本語を見落としてました。
※ 英語をページを突き進んで、そこで「他の言語」でしたね。突込みが足りませんでした(反省)。
OpenOffice.org 3.3.0 WindowsXP pro(SP3)
返信する

“Calc”に戻る