1

OpenOfficeCalcで使用するOpenOfficeBasicでカスタム関数を記述し、値の配列を返す方法を教えてもらえますか。そのような組み込み関数の例はMINVERSEです。ほぼ同じ方法でセルの範囲にデータを入力するカスタム関数を作成する必要があります。助けていただければ幸いです。

4

2 に答える 2

1

わかりました。マクロから配列を返すだけですがCtrl+Shift+Enter、セル数式を入力して関数を呼び出すときにも押す必要があります (これは、calc で他の配列を操作する場合にも当てはまります)。次に例を示します。

Function MakeArray
  Dim ret(2,2)
  ret(0,0) = 1
  ret(1,0) = 2
  ret(0,1) = 3
  ret(1,1) = 4
  MakeArray = ret
End Function
于 2011-07-18T08:58:51.103 に答える
0

FWIW、damjan の MakeArray 関数は、配列を含む Variant を返すと思います。( MakeArray によって返される型は指定されていないため、デフォルトで Variant になります。Variant は、説明的なヘッダーを持つコンテナーであり、明らかにインタープリターによって必要に応じてキャストされます。)

完全ではありませんが、配列を返すのとほとんど同じです。http://www.cpearson.com/excel/passingandreturningarrays.htmによると、Microsoft は 2000 年まで配列を返す機能を導入しませんでした。彼の例 [ LoadNumbers(Low As Long, High As Long) As Long()] はOO でコンパイルせず、Lo​​ng に続く括弧で構文エラーをフラグします。OO の Basic は 2k より前の VBA をエミュレートしているようです。

于 2013-05-22T23:37:21.733 に答える