這個很復雜!
有兩個思路供你參考:
一是:用標記,代表公式的一些特殊字元。
二是:用第三方的公式編輯器所使用的公式存儲格式(好像微軟就有),然後作為二進制數據存儲到資料庫中去。
詳細的會很復雜!
㈡ VB中如何在文本框中輸入自定義的公式並保存在資料庫中
用ScriptControl控制項
好像不能加鏈接了?你在網上搜下
Private Sub Form_Click()
Dim vbs As Object
Set vbs = CreateObject("ScriptControl")
vbs.Language = "vbs"
vbs.ExecuteStatement "a1=3:a2=5:d=7:b=6:c=3"
MsgBox vbs.Eval("a1+a2*d-b/c")
Set vbs = Nothing
End Sub
ScriptControl介面
屬性名稱
類型
備注
AllowUI
BOOL
檢測是否允許運行用戶的介面元素。如果為False,則諸如消息框之類的界面元素不可見。
CodeObject
Object
腳本暴露給宿主調用的對象。只讀。
Moles
Moles
宿主提供給腳本的組件庫模塊。只讀。(COM組件通常都是以對象收集的形式向用戶提供可以留給用戶二次開發的對象集合,每一個收集即一個Moles)
Language
String
設置或獲取腳本引擎解釋的語言,例如:VBScript、JScript。
Name
String
腳本引擎的名稱。只讀。
Proceres
Proceres
返回模塊中定義的過程的集合
SitehWnd
HWND
在腳本中顯示UI的父窗口句柄
State
Enum
設置或返回控制項的狀態,如果為0,控制項只執行語句但不轉發事件,為1則為加入的本控制項接受的對象轉發事件。
Timeout
Long
控制項的執行腳本的超時值,-1表示不超時
UseSafeSubset
BOOL
設置或返回宿主程序是否關心安全。宿主程序的安全級別可以從此屬性設置
Error
Error
錯誤對象,發生錯誤時,此屬性返回一個錯誤對象
方法名稱
參數
功能
AddCode
Code As String
往腳本引擎中加入要執行的腳本
AddObject
Name As String, Object As Object, [AddMembers As Boolean = False]
往腳本引擎加入一個對象,以便在腳本中可以使用該對象提供的方法等。
Eval
Expression As String
表達式求值
ExecuteStatement
Statement As String
解釋並執行腳本語句
Reset
丟棄所有的對象和代碼,將State屬性置0。
Run
ProcereName As String, ParamArray Parameters() As Variant
運行一個指定的過程
事件名稱
功能
Error
有錯誤發生時激發該事件
TimeOut
執行過程超時時發生
㈢ 如何使用C#提取WORD文檔中的數學公式,並保存到資料庫。
在word文檔中,用公式編輯器編輯的公式是inlinshape對象,只是用for eahc gs in inlineshapes循環來遍歷就可以找到所有的公式了。保存要資料庫就看你用什麼格式了。一般可以考慮轉化為圖片,不想損失原格式,就用ole對象,轉化為二進制流