数式の中にセルの内容を配置することは可能ですか?式は、数式エディタ(挿入 - >オブジェクト - >数式)を意味します。数式内のセル内容
数式内のセル内容
答えて
私の知る限りでは、式からセルを参照する方法はありません。数式エディタにはOO Calcに関する知識がありません。ただし、必要に応じてマクロを使用して新しい式を作成することができます。
それを動作させるためにthesseの手順に従ってください。
はあなたがセルに挿入する数学の公式を入れてください。例えば、セルC3に次のセルA1、A2、A3にいくつかの数字を入れて置く:
は=CONCATENATE("{";A1;"}";"over {";A2;" `+` ";A3;"}";" `=` ";A4).
これは、以下のコードからマクロを作成します
C3
に{1} over {2 `+` 3} `=
のようなものを生成します。 OO Calcで選択します。Tools > Macros > Organize Macros > OpenOffice.org Basic > My Macros > Standard
新しいマクロを作成し、以下のコードを貼り付けます。
Tools > Macros > Run Macro
を使用してマクロを実行できます。セルC3から生成された数式を挿入するinsertFormula
、またはC3の内容が変更されたときにリスナーを登録して式を再生成するaddFormulaListener
のいずれかを実行します。
ここにコードがあります。これには、計算式ソースを持つセルと生成された式オブジェクトを配置するターゲットセルを指定する定数formulaCellFrom
とformulaCellTo
が含まれています。 ターゲットセルは、生成された数式に十分な大きさでなければなりません。そうでないと、式を再生成するときに、セルの古い内容が削除されません。
const formulaCellFrom As String = "$C$1"
const formulaCellTo As String = "$C$10"
rem ----------------------------------------------------------------------
rem Adds listener for changes of the math formula
sub addFormulaListener
dim oSheet as Object
dim oCell as Object
rem go to cell containing markup
oSheet = ThisComponent.CurrentController.ActiveSheet
oCell = oSheet.getCellRangeByName(formulaCellFrom)
rem add listener
oListener = CreateUnoListener("formulaListener_", "com.sun.star.chart.XChartDataChangeEventListener")
oCell.addChartDataChangeEventListener(oListener)
end sub
rem ----------------------------------------------------------------------
rem Listener for cell changes
sub formulaListener_chartDataChanged
dim oCell as Object
rem remember current cursor position
oCell = ThisComponent.CurrentSelection
rem call insertFormula
call insertFormula
rem restore cursor position
ThisComponent.CurrentController.select(oCell)
end sub
rem ----------------------------------------------------------------------
rem Creates a math formula from text in cell C1 and inserts it into cell C10
sub insertFormula
dim document as object
dim dispatcher as object
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem go to cell containing markup and copy it
dim fromCellArgs(0) as new com.sun.star.beans.PropertyValue
fromCellArgs(0).Name = "ToPoint"
fromCellArgs(0).Value = formulaCellFrom
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, fromCellArgs())
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
rem go to cell where I want the formula displayed
dim toCellArgs(0) as new com.sun.star.beans.PropertyValue
toCellArgs(0).Name = "ToPoint"
toCellArgs(0).Value = formulaCellTo
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, toCellArgs())
rem delete previous content
dim deleteArgs(0) as new com.sun.star.beans.PropertyValue
deleteArgs(0).Name = "Flags"
rem flags: A = All, S = String, V = Value, D = DateTeim, F = Formula, ...
rem ... N = Notes, T = Formats, O = Objects
deleteArgs(0).Value = "AO"
dispatcher.executeDispatch(document, ".uno:Delete", "", 0, deleteArgs())
rem open Star.Math
oDesk = createUnoService ("com.sun.star.frame.Desktop")
dispatcher.executeDispatch(document, ".uno:InsertObjectStarMath", "", 0, Array())
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem paste clipboard using Array() as place-holder for variable name
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
rem exit Star.Math
dispatcher.executeDispatch(document, ".uno:TerminateInplaceActivation", "", 0, Array())
end sub
コードはthis questionに適合しています。明らかに、マクロはMy Macros
で作成されなければならず、スプレッドシートに埋め込まれていると機能しません(セキュリティ対策?私にとってはうまく機能しませんでした)。ソースセルとターゲットセルはハードコードされていますが、必要に応じてマクロを変更できます。私はVisual Basicに熟練していませんが、そのような変更は簡単に行うべきです。
これらの手順を実行するには、 'formulaCellFrom'を「$ C $ 3」に変更する必要がありました。 –
- 1. 'リセット'テーブルビューのセルの内容
- 2. tableViewセルの内容が大きい
- 3. リッチなセルの内容を持つWPFの複数列のリスト
- 4. セル内のテーブルセンターの内容 - 反対が欲しい
- 5. セルの内容を関数に設定しますか?
- 6. セルの内容を別のセルから変更する
- 7. UITableViewセルの内容に基づいたセルの色
- 8. CSSの書式文字列の内容
- 9. ページの内容、内容の内容の問題
- 10. マクロを使用してセル内の数式をリセットする
- 11. 関数内の数式エラー
- 12. CSS "テーブルレイアウト:固定"と内部の内容で自動幅を持つセル
- 13. UITextViewの内容によるテーブルビューのセルの高さ
- 14. セルの内容を制限するラジオボタンのスタイル
- 15. HTMLテーブルのセルの内容を取得する方法は?
- 16. 削除セルの内容の削除キーが
- 17. 内容の表の行セルを確認する
- 18. DataGridのDataTemplateColumnのセルと内容をスキップします
- 19. javafx GridPaneは特定のセルの内容を取得します
- 20. セルの内容に基づいてテーブル行のリンクを選択
- 21. DevExpressグリッドのヒントにセルの内容を表示
- 22. gwt CellTableのセルの内容にCSSクラス名を追加する
- 23. セルに元の内容を削除せずに変数を割り当てる
- 24. コントロールオブジェクトの内容
- 25. 内容のバージョン
- 26. カスタムオーダーリストの内容
- 27. インターフェイスの内容
- 28. セルの内容がマージン、パディング、ボーダーであふれている
- 29. UITableViewセルの内容を編集するには
- 30. セルの内容を一様にリンクします
まだ反応がありません。これは素晴らしい機能です! –