Có thể đặt nội dung của ô trong công thức hay không. Theo công thức, tôi có nghĩa là trình soạn thảo công thức toán học (insert-> object-> formula).Nội dung ô bên trong công thức
Trả lời
Theo hiểu biết tốt nhất của tôi, không có cách nào để tham chiếu ô từ công thức. Trình soạn thảo công thức toán học không có kiến thức về OO Calc. Tuy nhiên, bạn có thể tạo công thức mới bất cứ khi nào cần sử dụng macro.
theo thesse bước để làm cho nó hoạt:
Đặt công thức toán mà bạn muốn chèn vào một tế bào. Ví dụ, đặt một số con số để các tế bào A1, A2, A3 và đặt sau để ô C3:
=CONCATENATE("{";A1;"}";"over {";A2;" `+` ";A3;"}";" `=` ";A4).
này sẽ tạo ra một cái gì đó giống như
{1} over {2 `+` 3} `=
trong C3Tạo một macro từ mã dưới đây. Trong OO Calc, chọn
Tools > Macros > Organize Macros > OpenOffice.org Basic > My Macros > Standard
Tạo macro mới và dán mã bên dưới.
Bây giờ bạn có thể chạy macro bằng cách sử dụng
Tools > Macros > Run Macro
. Chạy hoặcinsertFormula
chèn công thức toán học được tạo từ ô C3 hoặcaddFormulaListener
sẽ đăng ký trình nghe và tạo lại công thức cho bạn bất cứ khi nào nội dung của thay đổi C3.
Đây là mã. Nó chứa các hằng số formulaCellFrom
và formulaCellTo
, trong đó xác định ô nào có nguồn công thức toán và đó là ô đích nơi đối tượng công thức được tạo sẽ được đặt. Lưu ý rằng ô đích phải đủ lớn cho công thức được tạo, nếu không macro sẽ không xóa nội dung cũ của ô khi tái tạo công thức.
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
Mã được điều chỉnh từ this question. Rõ ràng, macro phải được tạo trong My Macros
và không hoạt động khi được nhúng trong bảng tính (biện pháp bảo mật? Nó chỉ không hoạt động đối với tôi). Các ô nguồn và đích được mã hóa cứng nhưng bạn có thể sửa đổi macro để phù hợp với nhu cầu của mình. Tôi không có kỹ năng trong Visual Basic nhưng những sửa đổi như vậy phải dễ dàng.
Để làm theo các bước này, tôi cần thay đổi 'formulaCellFrom' thành" $ C $ 3 ". –
- 1. Không thể lấy nội dung bên trong của '' vì nội dung không phải là chữ số
- 2. Nội dung bên trong của Clipping div
- 3. nội dung bên trong tệp zip
- 4. Tại sao nội dung không điền vào ô lưới?
- 5. Chiều rộng ô phù hợp với nội dung
- 6. moveRowAtIndexPath không làm mới nội dung của ô
- 7. Công thức Excel Không cập nhật ô
- 8. Hiển thị nội dung bên trong một phần qua = yield
- 9. Sử dụng giá trị trong ô dưới dạng tham chiếu ô trong công thức?
- 10. Đặt nền của DataGridRow dựa trên nội dung của ô
- 11. Bảo vệ nội dung công khai/trong ứng dụng Rails
- 12. Công nghệ nhận dạng nội dung Youtube?
- 13. Bộ chọn jQuery: tìm ô bảng dựa trên nội dung
- 14. Thêm công thức ô trong Excel qua vba
- 15. Nội dung trung tâm CSS bên trong div
- 16. Lưu toàn bộ nội dung NSView, bên trong NSScrollView
- 17. Nội dung tràn tự động bên trong tràn bị ẩn?
- 18. Căn chỉnh nội dung bên trong một div
- 19. Nội dung UITableViewSize
- 20. Cách hiển thị nội dung: sau khi nội dung bên ngoài
- 21. Chiều cao cố định của ô bảng bất kể nội dung của ô
- 22. Cách đọc dữ liệu hiển thị của ô, không phải công thức cơ bản trong PHPExcel?
- 23. Đặt chiều cao tối đa cho nội dung của ô trong bảng
- 24. bằng cách sử dụng chế độ đơn giản, hiển thị nội dung tải trong khi nội dung bên trong khung nội tuyến tải
- 25. Nhận nội dung của một ô được cung cấp số hàng và cột
- 26. Cách nhận nội dung yêu cầu (nội dung) trong PHP?
- 27. cắt nội dung trong TextView
- 28. Nội dung [] trong [] .forEach.call()
- 29. Phương thức gọi được viết bằng C# trong Excel 2007 từ công thức ô
- 30. đọc nội dung của thẻ script bên ngoài với jquery
Không có phản ứng nào, và đây sẽ là một tính năng tuyệt vời! –