Contents

# Document Event-Driven Macros

This section describes how to assign scripts to application, document or form events.

You can automatically execute a macro when a specified software event occurs by assigning the desired macro to the event. The following table provides an overview of document events and at what point an assigned macro is executed.

ព្រឹត្តិការណ៍ | ម៉ាក្រូ​ដែល​បាន​ផ្តល់​តម្លៃ​ត្រូវ​បាន​ប្រតិបត្តិ... | routine
--- | --- | ---
ចាប់​ផ្តើម​កម្មវិធី | ...after a LibreOffice application is started. | OnStartApp
បិទ​កម្មវិធី | ...មុន​ពេល​បញ្ចប់​​​​កម្មវិធី LibreOffice ។ | OnCloseApp
បាន​បង្កើត​ឯកសារ | ...New document created with File - New or with the New icon. Note that this event also fires when Basic IDE opens. | OnCreate
ឯកសារ​ថ្មី | ... បន្ទាប់​ពី​ឯកសារ​ថ្មី​ត្រូវ​បាន​បង្កើត ដោយ​ប្រើ ឯកសារ - ថ្មី ឬ​ដោយ​ប្រើ​រូប​តំណាង ថ្មី ។ | OnNew
បាន​បញ្ចប់​ការ​ផ្ទុក​ឯកសារ | ...before a document is opened with File - Open or with the Open icon. | OnLoadFinished
បើក​ឯកសារ | ...បន្ទាប់​ពី​ឯកសារ​ត្រូវ​បាន​បើក ដោយ​ប្រើ ឯកសារ - បើក ឬ​ដោយ​ប្រើ​រូប​តំណាង បើក ។ | OnLoad
ឯកសារ​នឹង​ត្រូវបិទ | ...មុន​ពេល​ឯកសារ​​មួយ​ត្រូវ​បាន​បិទ ។ | OnPrepareUnload
បានបិទ​ឯកសារ | ...បន្ទាប់​ពី​ឯកសារ​ត្រូវ​បាន​បិទ ។ ចំណាំ​ថា​ព្រឹត្តិការណ៍ "រក្សាទុក​ឯកសារ" ក៏​អាច​កើត​ឡើង​ផង​ដែរ នៅ​ពេល​ឯកសារ​ត្រូវ​បាន​រក្សាទុក​មុន​ពេល​បិទ ។ | OnUnload
-no UI- |  | OnLayoutFinished
បាន​បង្កើត​ទិដ្ឋភាព | Document is displayed. Note that this event also happens when a document is duplicated. | OnViewCreated
ទិដ្ឋភាព​នឹង​ត្រូវ​បិទ | Document layout is getting removed. | OnPrepareViewClosing
បាន​បិទ​ទិដ្ឋភាព | Document layout is cleared prior to the document closure. | OnViewClosed
ធ្វើ​ឲ្យ​ឯកសារ​សកម្ម | ...បន្ទាប់​ពី​ឯកសារ​ត្រូវ​បាន​នាំ​ទៅ​ផ្ទៃ​ខាង​មុខ ។ | OnFocus
ធ្វើ​ឲ្យ​ឯកសារ​អសកម្ម | ...បន្ទាប់​​ពី​ឯកសារ​ផ្សេង​ទៀត ត្រូវ​បាន​នាំ​ទៅ​ផ្ទៃ​ខាង​មុខ ។ | OnUnfocus
រក្សាទុក​​​ឯកសារ | ... មុន​ពេល​ឯកសារ​ត្រូវ​បាន​រក្សា​ទុក ដោយ​ប្រើ ឯកសារ - រក្សា​ទុក ឬ​រូប​តំណាង រក្សា​ទុក ឲ្យ​តែ​ឈ្មោះ​ឯកសារ​នោះ​ត្រូវ​បាន​បញ្ជាក់​រួច ។ | OnSaveAs
ឯកសារ​ត្រូវ​បាន​រក្សាទុក | ...បន្ទាប់​ពី​ឯកសារ​ត្រូវ​បាន​រក្សា​ទុក​ដោយ​ប្រើ ឯកសារ - រក្សា​ទុក ឬ​រូប​តំណាង រក្សា​ទុក ឲ្យ​តែ​ឈ្មោះ​ឯកសារ​មួយ​ត្រូវ​បាន​បញ្ជាក់​​លម្អិត​រួចហើយ​ ។ | OnSaveDone
បាន​បរាជ័យ​នៅ​ក្នុង​ការផ្ទុក​ឯកសារ | Document could not be saved. | OnSaveFailed
រក្សាទុក​ឯកសារ​ជា | ...មុន​ពេល​ឯកសារ​ត្រូវ​បាន​រក្សា​ទុក ដោយ​ឈ្មោះ​ជាក់លាក់​មួយ (ដោយ​ប្រើ ឯកសារ - រក្សា​ទុក​ជា ឬ​ដោយ​ប្រើ ឯកសារ - រក្សា​ទុក ឬ​រូប​តំណាង រក្សា​ទុក ប្រសិន​បើ​ឈ្មោះ​ឯកសារ​មិន​ទាន់​ត្រូវ​បាន​​បញ្ជាក់) ។ | OnSaveAs
ឯកសារ​ត្រូវ​បាន​រក្សាទុក​ជា | ...​បន្ទាប់​ពី​ឯកសារ​ត្រូវ​បាន​រក្សា​ទុក ដោយ​ឈ្មោះ​ជាក់លាក់​មួយ (ដោយ​ប្រើ ឯកសារ - រក្សា​ទុក​ជា ឬ​ដោយ​ប្រើ ឯកសារ - រក្សា​ទុក ឬ​ដោយ​ប្រើ​រូប​តំណាង រក្សា​ទុក ប្រសិន​បើ​ឈ្មោះ​ឯកសារ​មិន​ទាន់​ត្រូវ​បាន​បញ្ជាក់​​) ។ | OnSaveAsDone
'Save As' has failed | Document could not be saved. | OnSaveAsFailed
-no UI- | When the document disk location has changed, for example after a File - Save As action. | OnStorageChanged
ការរក្សា​ទុក​ ឬ​ការនាំចេញ​ច្បាប់​ចម្លង​ឯកសារ | ...before a document is saved with File - Save a Copy, File - Export, File - Export as PDF or the Save icons. | OnCopyTo
បាន​បង្កើត​ច្បាប់​ចម្លង​ឯកសារ | ...after a document is saved with File - Save a Copy, File - Export, File - Export as PDF or the Save icons. | OnCopyToDone
បាន​បរាជ័យ​ក្នុង​ការ​បង្កើត​ច្បាប់​ចម្លង​ឯកសារ | Document could not be copied or exported. | OnCopyToFailed
បោះពុម្ព​ឯកសារ | ...after the Print dialog is closed, but before the actual print process begins. This event occurs for each copy printed. | OnPrint
-no UI- | ...after document security settings have changed. | OnModeChanged
បានផ្លាស់​ប្តូរស្ថានភាព​ 'ដែល​បាន​កែប្រែ' | Modified state of a document has changed. | OnModifyChanged
បាន​ផ្លាស់​ប្តូរ​ចំណង​ជើង​ឯកសារ | When the document title gets updated. | OnTitleChanged
បាន​ផ្ទុក​សមាសភាគ​រង | ...after a database form has been opened. | OnSubComponentOpened
បាន​បិទ​សមាសភាគ​រង | ...after a database form has been closed. | OnSubComponentClosed
ការបោះ​ពុម្ព​លិខិត​សំណុំ​បែបបទ​បាន​ចាប់​ផ្តើម | ...before printing form letters using File - Print or Tools - Mail Merge Wizard menus. | OnMailMerge
ការបោះ​ពុម្ព​លិខិត​សំណុំ​បែបបទ​បាន​បញ្ចប់ | ...after printing of form letters using File - Print or Tools - Mail Merge Wizard menus. | OnMailMergeFinished
Printing of form fields started | ...before printing form fields. | OnFieldMerge
Printing of form fields finished | ...after printing form fields. | OnFieldMergeFinished
ការ​ផ្លាស់ប្តូរ​​​ចំនួន​ទំព័រ | When the page count changes. | OnPageCountChanged

Most events relate to documents, except OnStartApp, OnCloseApp, OnCreate and OnLoadFinished that occur at application level. OnSubComponentOpened, and OnSubComponentClosed events are fired by database's forms.

Writer documents are triggering those specific events: OnLayoutFinished, OnMailMerge, OnMailMergeFinished, OnFieldMerge, OnFieldMergeFinished and OnPageCountChanged.

## ការ​ផ្តល់​តម្លៃ​ម៉ាក្រូ​ទៅ​ព្រឹត្តិការណ៍​មួយ

1. ជ្រើស ឧបករណ៍ - ប្តូរតាមបំណង និង​ចុច​ផ្ទាំង ព្រឹត្តិការណ៍ ។

2. ជ្រើស​ថាតើ​អ្នក​ចង់​ឲ្យការ​ផ្ដល់​ប្រើ​បានជា​សកល ឬ​ប្រើ​បាន​តែ​នៅ​ក្នុង​ឯកសារ​បច្ចុប្បន្ន នៅ​ក្នុង​ប្រអប់​បញ្ជី រក្សាទុក​ក្នុង ។

3. ជ្រើស​ព្រឹត្តិការណ៍​ពី​បញ្ជី ព្រឹត្តិការណ៍ ។

4. ចុច ម៉ាក្រូ ហើយ​ជ្រើស​ម៉ាក្រូ​ដែល​ត្រូ​វបានផ្ដល់​ទៅ​ព្រឹត្តិការណ៍​ដែល​បាន​ជ្រើស ។

5. ចុច យល់ ដើម្បី​ផ្ដល់​ម៉ាក្រូ ។

6. ចុច យល់ព្រម ដើម្បី​បិទ​ប្រអប់ ។

## ការ​យក​ចេញ​ការ​ផ្តល់​ម៉ាក្រូ​ទៅ​ព្រឹត្តិការណ៍​មួយ

1. ជ្រើស ឧបករណ៍ - ប្តូរតាមបំណង និង​ចុច​ផ្ទាំង ព្រឹត្តិការណ៍ ។

2. ជ្រើស​ថាតើ អ្នក​ចង់​យក​ការ​ផ្ដល់​សកល​ចេញ ឬ​ការ​ផ្ដល់​ដែល​ប្រើ​បាន​តែ​ក្នុង​ឯកសារ​បច្ចុប្បន្ន ដោយ​ជ្រើសជម្រើស​នៅ​ក្នុង​ប្រអប់​បញ្ជី រក្សាទុក​ក្នុង ។

3. ជ្រើស​ព្រឹត្តិការណ៍​ដែល​មាន​ការ​ផ្តល់​តម្លៃ ដែល​នឹង​ត្រូវ​យក​ចេញ​ពី​បញ្ជី ព្រឹត្តិការណ៍ ។

4. ចុច យក​ចេញ ។

5. ចុច យល់ព្រម ដើម្បី​បិទ​ប្រអប់ ។

ប្រធានបទ​ទាក់ទង

In addition to assigning macros to events, one can monitor events triggered in LibreOffice documents.