LibreOffice 24.8 Help
វិធីសាស្ត្រនៃការពង្រីក Calc ដោយរូបមន្តបន្ថែមដែលបានពណ៌នាខាងក្រោមគឺហួសសម័យហើយ ។ ចំណុចប្រទាក់នៅតែអាចប្រើបាន និងគាំទ្រ ដើម្បីធានាសមត្ថភាពរូបមន្តបន្ថែមដែលមានស្រាប់ ប៉ុន្តែសម្រាប់ការសរសេររូបមន្តបន្ថែមថ្មីមួយ អ្នកគួរប្រើ អនុគមន៍ API ថ្មី ។
LibreOffice Calc can be expanded by Add-Ins, which are external programming modules providing additional functions for working with spreadsheets. These are listed in the Function Wizard in the Add-In category. If you would like to program an Add-In yourself, you can learn here which functions must be exported by the shared libraryexternal DLL so that the Add-In can be successfully attached.
LibreOffice searches the Add-in folder defined in the configuration for a suitable shared libraryDLL. To be recognized by LibreOffice, the shared libraryDLL must have certain properties, as explained in the following. This information allows you to program your own Add-In for Function Wizard of LibreOffice Calc.
បណ្ណាល័យរូបមន្តបន្ថែមនីមួយៗ ផ្តល់នូវអនុគមន៍ជាច្រើន ។ អនុគមន៍ខ្លះត្រូវបានប្រើសម្រាប់គោលបំណងគ្រប់គ្រង ។ អ្នកអាចជ្រើសស្ទើរតែគ្រប់ឈ្មោះ សម្រាប់អនុគមន៍ផ្ទាល់ខ្លួនរបស់អ្នក ។ ទោះយ៉ាងណា ពួកវាក៏ត្រូវតែអនុវត្តតាមក្បួនពិតប្រាកដដែរ ដោយគោរពតាមការហុចប៉ារ៉ាម៉ែត្រ ។ ការដាក់ឈ្មោះ និងការហៅសម្មតិកម្ម នឹងខុសគ្នាសម្រាប់វេទិកាផ្សេងគ្នា ។
នៅកម្រិតអប្បបរមា ត្រូវតែមានអនុគមន៍គ្រប់គ្រង GetFunctionCount និងGetFunctionData ។ ដោយប្រើទាំងនេះ អនុគមន៍ព្រមទាំងប្រភេទប៉ារ៉ាម៉ែត្រ និងតម្លៃត្រឡប់អាចត្រូវបានកំណត់ ។ ជាតម្លៃត្រឡប់ ប្រភេទទ្វេ និងខ្សែអក្សរត្រូវបានគាំទ្រ ។ ជាប៉ារ៉ាម៉ែត្រ តំបន់ក្រឡា អារេទ្វេ អារេខ្សែអក្សរ និងអារេក្រឡា ត្រូវបានគាំទ្រ ។
ប៉ារ៉ាម៉ែត្រត្រូវបានហុចដោយប្រើសេចក្តីយោង ។ ដូច្នេះ ភាពផ្លាស់ប្តូរមួយនៃតម្លៃទាំងនេះ អាចធ្វើបានជាមូលដ្ឋាន ។ ទោះយ៉ាងណា វាមិនត្រូវបានគាំទ្រក្នុង LibreOffice Calc ទេព្រោះវាមិនមានន័យក្នុងសៀវភៅបញ្ជី ។
បណ្ណាល័យអាចត្រូវបានផ្ទុកឡើងវិញអំឡុងពេលរត់ ហើយមាតិការបស់ពួកវាអាចត្រូវបានវិភាគដោយអនុគមន៍គ្រប់គ្រង ។ សម្រាប់អនុគមន៍នីមួយៗ ព័ត៌មានមានអំពីចំនួន និងប្រភេទប៉ារ៉ាម៉ែត្រ ឈ្មោះអនុគមន៍ខាងក្នុង និងខាងក្រៅ និងលេខគ្រប់គ្រង ។
អនុគមន៍ត្រូវបានហៅក្នុងពេលដំណាលគ្នា និងត្រឡប់លទ្ធផលរបស់ពួកវាភ្លាមៗ ។ អនុគមន៍ពេលពិត (អនុគមន៍អសមកាល) ក៏អាចប្រើបានដែរ ទោះយ៉ាងណា ពួកវាមិនត្រូវបានពន្យល់លម្អិតទេ ដោយសារតែភាពស្មុគ្រស្មាញពួកវា ។
ចំនួនប៉ារ៉ាម៉ែត្រច្រើនបំផុតក្នុងអនុគមន៍បន្ថែម ដែលបានភ្ជាប់នឹង LibreOffice Calc គឺ 16 ៖ មួយសម្រាប់ត្រឡប់តម្លៃ និងប៉ារ៉ាម៉ែត្រ 15 ទៀតសម្រាប់បញ្ចូលប៉ារ៉ាម៉ែត្រ ។
ប្រភេទទិន្នន័យត្រូវបានកំណត់ដូចខាងក្រោម ៖
| ប្រភេទទិន្នន័យ | ការកំណត់ | 
|---|---|
| CALLTYPE | ក្រោម Windows ៖ FAR PASCAL (_far _pascal) ផ្សេងទៀត ៖ លំនាំដើម (លំនាំដើមបញ្ជាក់លម្អិតដោយប្រព័ន្ធប្រតិបត្តិការ) | 
| USHORT | ចំនួនគត់ 2 បៃគ្មានសញ្ញា | 
| DOUBLE | ទ្រង់ទ្រាយដែលអាស្រ័យលើវេទិកា 8 បៃ | 
| Paramtype | អាស្រ័យវេទិកា ដូចជា int PTR_DOUBLE =0 អ្នកចង្អុលទៅទ្វេ PTR_STRING =1 អ្នកចង្អុលទៅខ្សែអក្សរដែលបញ្ចប់ដោយសូន្យ ។ PTR_DOUBLE_ARR =2 អ្នកចង្អុលទៅអារេទ្វេមួយ PTR_STRING_ARR =3 អ្នកចង្អុលទៅអារេខ្សែអក្សរមួយ PTR_CELL_ARR =4 អ្នកចង្អុលទៅអារេក្រឡាមួយ NONE =5 | 
Following you will find a description of those functions, which are called at the Shared Libraryexternal DLL.
For all Shared LibraryDLL functions, the following applies:
void CALLTYPE fn(out, in1, in2, ...)
Output: Resulting value
Input: Any number of types (double&, char*, double*, char**, Cell area), where the Cell area is an array of types double array, string array, or cell array.
ត្រឡប់ចំនួនអនុគមន៍ ដោយគ្មានអនុគមន៍គ្រប់គ្រងនៃប៉ារ៉ាម៉ែត្រសេចក្តីយោង ។ អនុគមន៍នីមួយៗមានតម្លៃតែមួយគត់ចន្លោះ 0 និង nCount-1 ។ លេខនេះនឹងត្រូវបានត្រូវការសម្រាប់អនុគមន៍ GetFunctionData និងGetParameterDescription នៅពេលក្រោយ ។
វាក្យសម្ពន្ធ
void CALLTYPE GetFunctionCount(USHORT& nCount)
ប៉ារ៉ាម៉ែត្រ
USHORT &nCount:
Output: Reference to a variable, which is supposed to contain the number of Add-In functions. For example: If the Add-In provides 5 functions for LibreOffice Calc, then nCount=5.
កំណត់ព័ត៌មានសំខាន់ៗទាំងអស់អំពីអនុគមន៍រូបមន្តបន្ថែម ។
វាក្យសម្ពន្ធ
void CALLTYPE GetFunctionData(USHORT& nNo, char* pFuncName, USHORT& nParamCount, Paramtype* peType, char* pInternalName)
ប៉ារ៉ាម៉ែត្រ
USHORT& nNo:
Input: Function number between 0 and nCount-1, inclusively.
char* pFuncName:
Output: Function name as seen by the programmer, as it is named in the Shared LibraryDLL. This name does not determine the name used in the Function Wizard.
USHORT& nParamCount:
Output: Number of parameters in AddIn function. This number must be greater than 0, because there is always a result value; the maximum value is 16.
Paramtype* peType:
Output: Pointer to an array of exactly 16 variables of type Paramtype. The first nParamCount entries are filled with the suitable type of parameter.
char* pInternalName:
Output: Function name as seen by the user, as it appears in the Function Wizard. May contain umlauts.
ប៉ារ៉ាម៉ែត្រ pFuncName និង pInternalName ជាអារេតួអក្សរ ដែលត្រូវបានប្រតិបត្តិជាមួយទំហំ 256 ក្នុង LibreOffice Calc ។
ផ្តល់នូវសេចក្តីពណ៌នាសង្ខេបនៃអនុគមន៍រូបមន្តបន្ថែម និងប៉ារ៉ាម៉ែត្ររបស់វា ។ ជាជម្រើស អនុគមន៍នេះអាចត្រូវបានប្រើដើម្បីបង្ហាញអនុគមន៍មួយ និងសេចក្តីពណ៌នាប៉ារ៉ាម៉ែត្រក្នុង អ្នកជំនួយការអនុគមន៍ ។
វាក្យសម្ពន្ធ
void CALLTYPE GetParameterDescription(USHORT& nNo, USHORT& nParam, char* pName, char* pDesc)
ប៉ារ៉ាម៉ែត្រ
USHORT& nNo:
Input: Number of the function in the library; between 0 and nCount-1.
USHORT& nParam:
Input: Indicates, for which parameter the description is provided; parameters start at 1. If nParam is 0, the description itself is supposed to be provided in pDesc; in this case, pName does not have any meaning.
char* pName:
Output: Takes up the parameter name or type, for example, the word "Number" or "String" or "Date", and so on. Implemented in LibreOffice Calc as char[256].
char* pDesc:
Output: Takes up the description of the parameter, for example, "Value, at which the universe is to be calculated." Implemented in LibreOffice Calc as char[256].
pName និង pDesc ជាអារេតួអក្សរ បានប្រតិបត្តិក្នុង LibreOffice Calc ដែលមានទំហំ 256 ។ សូមសម្គាល់ថា ទំហំដែលមានក្នុង អ្នកជំនួយការអនុគមន៍ ត្រូវបានកំណត់ និងមិនអាចប្រើបានទាំង 256 តួអក្សរទេ ។
តារាងខាងក្រោមមានព័ត៌មាន ដែលរចនាសម្ព័ន្ធទិន្នន័យត្រូវតែត្រូវបានផ្តល់ដោយម៉ូឌុលកម្មវិធីខាងក្រៅ ដើម្បីហុចតំបន់ក្រឡា ។ LibreOffice Calc សម្គាល់អារេបីខុសៗគ្នា អាស្រ័យលើប្រភេទទិន្នន័យ ។
ជាប៉ារ៉ាម៉ែត្រមួយ តំបន់ក្រឡាមួយដែលមានតម្លៃប្រភេទលេខ/ទ្វេ អាចត្រូវបានហុច ។ អារេទ្វេក្នុង LibreOffice Calc ត្រូវបានកំណត់ដូចខាងក្រោម ៖
| Offset | Name | Description | 
|---|---|---|
| 0 | ជួរឈរ១ | លេខជួរឈរនៅជ្រុងខាងលើឆ្វេងនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 2 | ជួរដេក១ | លេខជួរដេកនៅជ្រុងខាងលើឆ្វេងនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 4 | តារាង១ | លេខតារាងនៅជ្រុងខាងលើឆ្វេងនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 6 | ជួរឈរ២ | លេខជួរឈរនៅជ្រុងខាងក្រោមស្តាំនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 8 | ជួរដេក២ | លេខជួរដេកនៅជ្រុងខាងក្រោមស្តាំនៃតំបន់ក្រឡា លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 10 | តារាង២ | លេខតារាងនៅជ្រុងខាងក្រោមស្តាំនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 12 | រាប់ | ចំនួនធាតុខាងក្រោម ។ ក្រឡាទទេមិនត្រូវបានរាប់ ឬហុចទេ ។ | 
| 14 | ជួរឈរ | លេខជួរឈរនៃធាតុ ។ លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 16 | ជួរដេក | លេខជួរដេកនៃធាតុ លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 18 | ថេប (Tab) | លេខតារាងនៃធាតុ លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 20 | កំហុស | លេខកំហុស ដែលតម្លៃ 0 ត្រូវបានកំណត់ជា "គ្មានកំហុស" ។ បើធាតុបានមកពីក្រឡារូបមន្តមួយ នោះតម្លៃកំហុសនឹងត្រូវបានកំណត់ដោយរូបមន្ត ។ | 
| 22 | តម្លៃ | អថេរ IEEE 8 បៃនៃប្រភេទទ្វេ/ពិត | 
| 30 | ... | ធាតុបន្ទាប់ | 
តំបន់ក្រឡាមួយដែលមានតម្លៃនៃប្រភេទទិន្នន័យ អត្ថបទ ហើយត្រូវបានហុចជាអារេខ្សែអក្សរមួយ ។ អារេខ្សែអក្សរមួយក្នុង LibreOffice Calc ត្រូវបានកំណត់ដូចខាងក្រោម ៖
| Offset | Name | Description | 
|---|---|---|
| 0 | ជួរឈរ១ | លេខជួរឈរនៅជ្រុងខាងលើឆ្វេងនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 2 | ជួរដេក១ | លេខជួរដេកនៅជ្រុងខាងលើឆ្វេងនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 4 | តារាង១ | លេខតារាងនៅជ្រុងខាងលើឆ្វេងនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 6 | ជួរឈរ២ | លេខជួរឈរនៅជ្រុងខាងក្រោមស្តាំនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 8 | ជួរដេក២ | លេខជួរដេកនៅជ្រុងខាងក្រោមស្តាំនៃតំបន់ក្រឡា លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 10 | តារាង២ | លេខតារាងនៅជ្រុងខាងក្រោមស្តាំនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 12 | រាប់ | ចំនួនធាតុខាងក្រោម ។ ក្រឡាទទេមិនត្រូវបានរាប់ ឬហុចទេ ។ | 
| 14 | ជួរឈរ | លេខជួរឈរនៃធាតុ ។ លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 16 | ជួរដេក | លេខជួរដេកនៃធាតុ លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 18 | ថេប (Tab) | លេខតារាងនៃធាតុ លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 20 | កំហុស | លេខកំហុស ដែលតម្លៃ 0 ត្រូវបានកំណត់ជា "គ្មានកំហុស" ។ បើធាតុបានមកពីក្រឡារូបមន្តមួយ នោះតម្លៃកំហុសនឹងត្រូវបានកំណត់ដោយរូបមន្ត ។ | 
| 22 | Len | ប្រវែងនៃខ្សែអក្សរខាងក្រោម រួមទាំងបៃសូន្យដែលនៅជិត ។ បើប្រវែងរួមទាំងបៃសូន្យដែលនៅជិតស្មើនឹងតម្លៃសេស នោះបៃសូន្យទីពីរត្រូវបានបន្ថែមទៅខ្សែអក្សរ ដូច្នេះទទួលបានតម្លៃគូ ។ ដូច្នេះ Len ត្រូវបានគណនាដោយប្រើ ((StrLen+2)&~1) ។ | 
| 24 | ខ្សែអក្សរ | ខ្សែអក្សរដែលមានបៃសូន្យនៅជិត | 
| 24+Len | ... | ធាតុបន្ទាប់ | 
អារេក្រឡាត្រូវបានប្រើសម្រាប់ហៅតំបន់ក្រឡាដែលមានអត្ថបទ ព្រមទាំងលេខ ។ អារេក្រឡាមួយក្នុង LibreOffice Calc ត្រូវបានកំណត់ដូចខាងក្រោម ៖
| Offset | Name | Description | 
|---|---|---|
| 0 | ជួរឈរ១ | លេខជួរឈរនៅជ្រុងខាងលើឆ្វេងនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 2 | ជួរដេក១ | លេខជួរដេកនៅជ្រុងខាងលើឆ្វេងនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 4 | តារាង១ | លេខតារាងនៅជ្រុងខាងលើឆ្វេងនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 6 | ជួរឈរ២ | លេខជួរឈរនៅជ្រុងខាងក្រោមស្តាំនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 8 | ជួរដេក២ | លេខជួរដេកនៅជ្រុងខាងក្រោមស្តាំនៃតំបន់ក្រឡា លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 10 | តារាង២ | លេខតារាងនៅជ្រុងខាងក្រោមស្តាំនៃតំបន់ក្រឡា ។ លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 12 | រាប់ | ចំនួនធាតុខាងក្រោម ។ ក្រឡាទទេមិនត្រូវបានរាប់ ឬហុចទេ ។ | 
| 14 | ជួរឈរ | លេខជួរឈរនៃធាតុ ។ លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 16 | ជួរដេក | លេខជួរដេកនៃធាតុ លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 18 | ថេប (Tab) | លេខតារាងនៃធាតុ លេខរៀងចាប់ផ្តើមពី 0 ។ | 
| 20 | កំហុស | លេខកំហុស ដែលតម្លៃ 0 ត្រូវបានកំណត់ជា "គ្មានកំហុស" ។ បើធាតុបានមកពីក្រឡារូបមន្តមួយ នោះតម្លៃកំហុសនឹងត្រូវបានកំណត់ដោយរូបមន្ត ។ | 
| 22 | ប្រភេទ | ប្រភេទនៃមាតិកាក្រឡា 0 == ទ្វេ 1 == ខ្សែអក្សរ | 
| 24 | តម្លៃ ឬ Len | បើប្រភេទ == 0 ៖ អថេរ IEEE 8 បៃ នៃប្រភេទ ទ្វេ/ពិត បើ ប្រភេទ == 1 ៖ ប្រវែងនៃខ្សែអក្សរខាងក្រោម រួមទាំងបៃសូន្យដែលនៅជិត ។ បើប្រវែងរួមមានបៃសូន្យដែលនៅជិតស្មើនឹងតម្លៃសេសមួយ នោះបៃសូន្យទីពីរត្រូវបានបន្ថែមទៅខ្សែអក្សរ ដូច្នេះទទួលបានតម្លៃគូ ។ ដូច្នេះ Len ត្រូវបានគណនាដោយប្រើ ((StrLen+2)&~1) ។ | 
| 26 បើប្រភេទ==1 | ខ្សែអក្សរ | បើ ប្រភេទ == 1 ៖ ខ្សែអក្សរដែលមានបៃសូន្យនៅជិត | 
| 32 ឬ 26+Len | ... | ធាតុបន្ទាប់ |