Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 07/05/2023 in all areas

  1. LibreOffice UDF. Authors: @donnyh13 @mLipok Description: This User-Defined-Function is intended to give the ability to automate many aspects of the Libre Office API/SDK through AutoIt. So far this UDF offers functionality for controlling LibreOffice Writer, including Writing and Reading text, inserting Tables, writing and reading table content, inserting and modifying Frames, Headers and Footers, Foot/EndNotes, Fields, Images, and Shapes. You can also modify, create, delete, and set, Paragraph, Character, Numbering and Page Styles, and directly format text. As well a Find and replace, and much in between. Releases: While I will attempt to keep this post up to date with the latest releases. You can (and should) always check the below GitHub link, you will find the latest modified "Beta" files as well as the last releases there/ You will also find more in-depth details on what's new. GitHub: https://github.com/mlipok/Au3LibreOffice Latest Release: https://github.com/mlipok/Au3LibreOffice/releases/latest Current Support: Presently this UDF supports the following LibreOffice components: Writer Current Function List: ##LibreOfficeWriter## ; _LOWriter_SearchDescriptorCreate ; _LOWriter_SearchDescriptorModify ; _LOWriter_SearchDescriptorSimilarityModify ##LibreOfficeWriter_Cell## ; _LOWriter_CellBackColor ; _LOWriter_CellBorderColor ; _LOWriter_CellBorderPadding ; _LOWriter_CellBorderStyle ; _LOWriter_CellBorderWidth ; _LOWriter_CellCreateTextCursor ; _LOWriter_CellFormula ; _LOWriter_CellGetDataType ; _LOWriter_CellGetError ; _LOWriter_CellGetName ; _LOWriter_CellProtect ; _LOWriter_CellString ; _LOWriter_CellValue ; _LOWriter_CellVertOrient ##LibreOfficeWriter_Char## ; _LOWriter_CharStyleBorderColor ; _LOWriter_CharStyleBorderPadding ; _LOWriter_CharStyleBorderStyle ; _LOWriter_CharStyleBorderWidth ; _LOWriter_CharStyleCreate ; _LOWriter_CharStyleDelete ; _LOWriter_CharStyleEffect ; _LOWriter_CharStyleExists ; _LOWriter_CharStyleFont ; _LOWriter_CharStyleFontColor ; _LOWriter_CharStyleGetObj ; _LOWriter_CharStyleOrganizer ; _LOWriter_CharStyleOverLine ; _LOWriter_CharStylePosition ; _LOWriter_CharStyleRotateScale ; _LOWriter_CharStyleSet ; _LOWriter_CharStylesGetNames ; _LOWriter_CharStyleShadow ; _LOWriter_CharStyleSpacing ; _LOWriter_CharStyleStrikeOut ; _LOWriter_CharStyleUnderLine ##LibreOfficeWriter_Cursor## ; _LOWriter_CursorGetDataType ; _LOWriter_CursorGetStatus ; _LOWriter_CursorGetType ; _LOWriter_CursorGoToRange ; _LOWriter_CursorMove ##LibreOfficeWriter_DirectFormating## ; _LOWriter_DirFrmtCharBorderColor ; _LOWriter_DirFrmtCharBorderPadding ; _LOWriter_DirFrmtCharBorderStyle ; _LOWriter_DirFrmtCharBorderWidth ; _LOWriter_DirFrmtCharEffect ; _LOWriter_DirFrmtCharPosition ; _LOWriter_DirFrmtCharRotateScale ; _LOWriter_DirFrmtCharShadow ; _LOWriter_DirFrmtCharSpacing ; _LOWriter_DirFrmtClear ; _LOWriter_DirFrmtFont ; _LOWriter_DirFrmtFontColor ; _LOWriter_DirFrmtGetCurStyles ; _LOWriter_DirFrmtOverLine ; _LOWriter_DirFrmtParAlignment ; _LOWriter_DirFrmtParBackColor ; _LOWriter_DirFrmtParBorderColor ; _LOWriter_DirFrmtParBorderPadding ; _LOWriter_DirFrmtParBorderStyle ; _LOWriter_DirFrmtParBorderWidth ; _LOWriter_DirFrmtParDropCaps ; _LOWriter_DirFrmtParHyphenation ; _LOWriter_DirFrmtParIndent ; _LOWriter_DirFrmtParOutLineAndList ; _LOWriter_DirFrmtParPageBreak ; _LOWriter_DirFrmtParShadow ; _LOWriter_DirFrmtParSpace ; _LOWriter_DirFrmtParTabStopCreate ; _LOWriter_DirFrmtParTabStopDelete ; _LOWriter_DirFrmtParTabStopList ; _LOWriter_DirFrmtParTabStopMod ; _LOWriter_DirFrmtParTxtFlowOpt ; _LOWriter_DirFrmtStrikeOut ; _LOWriter_DirFrmtUnderLine ##LibreOfficeWriter_Doc## ; _LOWriter_DocBookmarkDelete ; _LOWriter_DocBookmarkGetAnchor ; _LOWriter_DocBookmarkGetObj ; _LOWriter_DocBookmarkInsert ; _LOWriter_DocBookmarkModify ; _LOWriter_DocBookmarksHasName ; _LOWriter_DocBookmarksList ; _LOWriter_DocClose ; _LOWriter_DocConnect ; _LOWriter_DocConvertTableToText ; _LOWriter_DocConvertTextToTable ; _LOWriter_DocCreate ; _LOWriter_DocCreateTextCursor ; _LOWriter_DocDescription ; _LOWriter_DocEnumPrinters ; _LOWriter_DocEnumPrintersAlt ; _LOWriter_DocExecuteDispatch ; _LOWriter_DocExport ; _LOWriter_DocFindAll ; _LOWriter_DocFindAllInRange ; _LOWriter_DocFindNext ; _LOWriter_DocFooterGetTextCursor ; _LOWriter_DocGenProp ; _LOWriter_DocGenPropCreation ; _LOWriter_DocGenPropModification ; _LOWriter_DocGenPropPrint ; _LOWriter_DocGenPropTemplate ; _LOWriter_DocGetCounts ; _LOWriter_DocGetName ; _LOWriter_DocGetPath ; _LOWriter_DocGetString ; _LOWriter_DocGetViewCursor ; _LOWriter_DocHasFrameName ; _LOWriter_DocHasImageName ; _LOWriter_DocHasPath ; _LOWriter_DocHasTableName ; _LOWriter_DocHeaderGetTextCursor ; _LOWriter_DocHyperlinkInsert ; _LOWriter_DocInsertControlChar ; _LOWriter_DocInsertString ; _LOWriter_DocIsActive ; _LOWriter_DocIsModified ; _LOWriter_DocIsReadOnly ; _LOWriter_DocMaximize ; _LOWriter_DocMinimize ; _LOWriter_DocOpen ; _LOWriter_DocPosAndSize ; _LOWriter_DocPrint ; _LOWriter_DocPrintIncludedSettings ; _LOWriter_DocPrintMiscSettings ; _LOWriter_DocPrintPageSettings ; _LOWriter_DocPrintSizeSettings ; _LOWriter_DocRedo ; _LOWriter_DocRedoCurActionTitle ; _LOWriter_DocRedoGetAllActionTitles ; _LOWriter_DocRedoIsPossible ; _LOWriter_DocReplaceAll ; _LOWriter_DocReplaceAllInRange ; _LOWriter_DocSave ; _LOWriter_DocSaveAs ; _LOWriter_DocToFront ; _LOWriter_DocUndo ; _LOWriter_DocUndoCurActionTitle ; _LOWriter_DocUndoGetAllActionTitles ; _LOWriter_DocUndoIsPossible ; _LOWriter_DocViewCursorGetPosition ; _LOWriter_DocVisible ; _LOWriter_DocZoom ##LibreOfficeWriter_Field## ; _LOWriter_FieldAuthorInsert ; _LOWriter_FieldAuthorModify ; _LOWriter_FieldChapterInsert ; _LOWriter_FieldChapterModify ; _LOWriter_FieldCombCharInsert ; _LOWriter_FieldCombCharModify ; _LOWriter_FieldCommentInsert ; _LOWriter_FieldCommentModify ; _LOWriter_FieldCondTextInsert ; _LOWriter_FieldCondTextModify ; _LOWriter_FieldCurrentDisplayGet ; _LOWriter_FieldDateTimeInsert ; _LOWriter_FieldDateTimeModify ; _LOWriter_FieldDelete ; _LOWriter_FieldDocInfoCommentsInsert ; _LOWriter_FieldDocInfoCommentsModify ; _LOWriter_FieldDocInfoCreateAuthInsert ; _LOWriter_FieldDocInfoCreateAuthModify ; _LOWriter_FieldDocInfoCreateDateTimeInsert ; _LOWriter_FieldDocInfoCreateDateTimeModify ; _LOWriter_FieldDocInfoEditTimeInsert ; _LOWriter_FieldDocInfoEditTimeModify ; _LOWriter_FieldDocInfoKeywordsInsert ; _LOWriter_FieldDocInfoKeywordsModify ; _LOWriter_FieldDocInfoModAuthInsert ; _LOWriter_FieldDocInfoModAuthModify ; _LOWriter_FieldDocInfoModDateTimeInsert ; _LOWriter_FieldDocInfoModDateTimeModify ; _LOWriter_FieldDocInfoPrintAuthInsert ; _LOWriter_FieldDocInfoPrintAuthModify ; _LOWriter_FieldDocInfoPrintDateTimeInsert ; _LOWriter_FieldDocInfoPrintDateTimeModify ; _LOWriter_FieldDocInfoRevNumInsert ; _LOWriter_FieldDocInfoRevNumModify ; _LOWriter_FieldDocInfoSubjectInsert ; _LOWriter_FieldDocInfoSubjectModify ; _LOWriter_FieldDocInfoTitleInsert ; _LOWriter_FieldDocInfoTitleModify ; _LOWriter_FieldFileNameInsert ; _LOWriter_FieldFileNameModify ; _LOWriter_FieldFuncHiddenParInsert ; _LOWriter_FieldFuncHiddenParModify ; _LOWriter_FieldFuncHiddenTextInsert ; _LOWriter_FieldFuncHiddenTextModify ; _LOWriter_FieldFuncInputInsert ; _LOWriter_FieldFuncInputModify ; _LOWriter_FieldFuncPlaceholderInsert ; _LOWriter_FieldFuncPlaceholderModify ; _LOWriter_FieldGetAnchor ; _LOWriter_FieldInputListInsert ; _LOWriter_FieldInputListModify ; _LOWriter_FieldPageNumberInsert ; _LOWriter_FieldPageNumberModify ; _LOWriter_FieldRefBookMarkInsert ; _LOWriter_FieldRefBookMarkModify ; _LOWriter_FieldRefEndnoteInsert ; _LOWriter_FieldRefEndnoteModify ; _LOWriter_FieldRefFootnoteInsert ; _LOWriter_FieldRefFootnoteModify ; _LOWriter_FieldRefGetType ; _LOWriter_FieldRefInsert ; _LOWriter_FieldRefMarkDelete ; _LOWriter_FieldRefMarkGetAnchor ; _LOWriter_FieldRefMarkList ; _LOWriter_FieldRefMarkSet ; _LOWriter_FieldRefModify ; _LOWriter_FieldsAdvGetList ; _LOWriter_FieldsDocInfoGetList ; _LOWriter_FieldSenderInsert ; _LOWriter_FieldSenderModify ; _LOWriter_FieldSetVarInsert ; _LOWriter_FieldSetVarMasterCreate ; _LOWriter_FieldSetVarMasterDelete ; _LOWriter_FieldSetVarMasterExists ; _LOWriter_FieldSetVarMasterGetObj ; _LOWriter_FieldSetVarMasterList ; _LOWriter_FieldSetVarMasterListFields ; _LOWriter_FieldSetVarModify ; _LOWriter_FieldsGetList ; _LOWriter_FieldShowVarInsert ; _LOWriter_FieldShowVarModify ; _LOWriter_FieldStatCountInsert ; _LOWriter_FieldStatCountModify ; _LOWriter_FieldStatTemplateInsert ; _LOWriter_FieldStatTemplateModify ; _LOWriter_FieldUpdate ; _LOWriter_FieldVarSetPageInsert ; _LOWriter_FieldVarSetPageModify ; _LOWriter_FieldVarShowPageInsert ; _LOWriter_FieldVarShowPageModify ##LibreOfficeWriter_Font## ; _LOWriter_FontExists ; _LOWriter_FontsList ##LibreOfficeWriter_FootEndNotes## ; _LOWriter_EndnoteDelete ; _LOWriter_EndnoteGetAnchor ; _LOWriter_EndnoteGetTextCursor ; _LOWriter_EndnoteInsert ; _LOWriter_EndnoteModifyAnchor ; _LOWriter_EndnoteSettingsAutoNumber ; _LOWriter_EndnoteSettingsStyles ; _LOWriter_EndnotesGetList ; _LOWriter_FootnoteDelete ; _LOWriter_FootnoteGetAnchor ; _LOWriter_FootnoteGetTextCursor ; _LOWriter_FootnoteInsert ; _LOWriter_FootnoteModifyAnchor ; _LOWriter_FootnoteSettingsAutoNumber ; _LOWriter_FootnoteSettingsContinuation ; _LOWriter_FootnoteSettingsStyles ; _LOWriter_FootnotesGetList ##LibreOfficeWriter_Frame## ; _LOWriter_FrameAreaColor ; _LOWriter_FrameAreaGradient ; _LOWriter_FrameBorderColor ; _LOWriter_FrameBorderPadding ; _LOWriter_FrameBorderStyle ; _LOWriter_FrameBorderWidth ; _LOWriter_FrameColumnSeparator ; _LOWriter_FrameColumnSettings ; _LOWriter_FrameColumnSize ; _LOWriter_FrameCreate ; _LOWriter_FrameCreateTextCursor ; _LOWriter_FrameDelete ; _LOWriter_FrameGetAnchor ; _LOWriter_FrameGetObjByCursor ; _LOWriter_FrameGetObjByName ; _LOWriter_FrameHyperlink ; _LOWriter_FrameOptions ; _LOWriter_FrameOptionsName ; _LOWriter_FramesGetNames ; _LOWriter_FrameShadow ; _LOWriter_FrameStyleAreaColor ; _LOWriter_FrameStyleAreaGradient ; _LOWriter_FrameStyleBorderColor ; _LOWriter_FrameStyleBorderPadding ; _LOWriter_FrameStyleBorderStyle ; _LOWriter_FrameStyleBorderWidth ; _LOWriter_FrameStyleColumnSeparator ; _LOWriter_FrameStyleColumnSettings ; _LOWriter_FrameStyleColumnSize ; _LOWriter_FrameStyleCreate ; _LOWriter_FrameStyleDelete ; _LOWriter_FrameStyleExists ; _LOWriter_FrameStyleGetObj ; _LOWriter_FrameStyleOptions ; _LOWriter_FrameStyleOrganizer ; _LOWriter_FrameStyleSet ; _LOWriter_FrameStylesGetNames ; _LOWriter_FrameStyleShadow ; _LOWriter_FrameStyleTransparency ; _LOWriter_FrameStyleTransparencyGradient ; _LOWriter_FrameStyleTypePosition ; _LOWriter_FrameStyleTypeSize ; _LOWriter_FrameStyleWrap ; _LOWriter_FrameStyleWrapOptions ; _LOWriter_FrameTransparency ; _LOWriter_FrameTransparencyGradient ; _LOWriter_FrameTypePosition ; _LOWriter_FrameTypeSize ; _LOWriter_FrameWrap ; _LOWriter_FrameWrapOptions ##LibreOfficeWriter_Helper## ; _LOWriter_ComError_UserFunction ; _LOWriter_ConvertColorFromLong ; _LOWriter_ConvertColorToLong ; _LOWriter_ConvertFromMicrometer ; _LOWriter_ConvertToMicrometer ; _LOWriter_DateFormatKeyCreate ; _LOWriter_DateFormatKeyDelete ; _LOWriter_DateFormatKeyExists ; _LOWriter_DateFormatKeyGetString ; _LOWriter_DateFormatKeyList ; _LOWriter_DateStructCreate ; _LOWriter_DateStructModify ; _LOWriter_FindFormatModifyAlignment ; _LOWriter_FindFormatModifyEffects ; _LOWriter_FindFormatModifyFont ; _LOWriter_FindFormatModifyHyphenation ; _LOWriter_FindFormatModifyIndent ; _LOWriter_FindFormatModifyOverline ; _LOWriter_FindFormatModifyPageBreak ; _LOWriter_FindFormatModifyPosition ; _LOWriter_FindFormatModifyRotateScaleSpace ; _LOWriter_FindFormatModifySpacing ; _LOWriter_FindFormatModifyStrikeout ; _LOWriter_FindFormatModifyTxtFlowOpt ; _LOWriter_FindFormatModifyUnderline ; _LOWriter_FormatKeyCreate ; _LOWriter_FormatKeyDelete ; _LOWriter_FormatKeyExists ; _LOWriter_FormatKeyGetString ; _LOWriter_FormatKeyList ; _LOWriter_PathConvert ; _LOWriter_VersionGet ##LibreOfficeWriter_Images## ; _LOWriter_ImageAreaColor ; _LOWriter_ImageAreaGradient ; _LOWriter_ImageAreaTransparency ; _LOWriter_ImageAreaTransparencyGradient ; _LOWriter_ImageBorderColor ; _LOWriter_ImageBorderPadding ; _LOWriter_ImageBorderStyle ; _LOWriter_ImageBorderWidth ; _LOWriter_ImageColorAdjust ; _LOWriter_ImageCrop ; _LOWriter_ImageDelete ; _LOWriter_ImageGetAnchor ; _LOWriter_ImageGetObjByName ; _LOWriter_ImageHyperlink ; _LOWriter_ImageInsert ; _LOWriter_ImageModify ; _LOWriter_ImageOptions ; _LOWriter_ImageOptionsName ; _LOWriter_ImageReplace ; _LOWriter_ImagesGetNames ; _LOWriter_ImageShadow ; _LOWriter_ImageSize ; _LOWriter_ImageTransparency ; _LOWriter_ImageTypePosition ; _LOWriter_ImageTypeSize ; _LOWriter_ImageWrap ; _LOWriter_ImageWrapOptions ##LibreOfficeWriter_Num## ; _LOWriter_NumStyleCreate ; _LOWriter_NumStyleCustomize ; _LOWriter_NumStyleDelete ; _LOWriter_NumStyleExists ; _LOWriter_NumStyleGetObj ; _LOWriter_NumStyleOrganizer ; _LOWriter_NumStylePosition ; _LOWriter_NumStyleSet ; _LOWriter_NumStyleSetLevel ; _LOWriter_NumStylesGetNames ##LibreOfficeWriter_Page## ; _LOWriter_PageStyleAreaColor ; _LOWriter_PageStyleAreaGradient ; _LOWriter_PageStyleBorderColor ; _LOWriter_PageStyleBorderPadding ; _LOWriter_PageStyleBorderStyle ; _LOWriter_PageStyleBorderWidth ; _LOWriter_PageStyleColumnSeparator ; _LOWriter_PageStyleColumnSettings ; _LOWriter_PageStyleColumnSize ; _LOWriter_PageStyleCreate ; _LOWriter_PageStyleDelete ; _LOWriter_PageStyleExists ; _LOWriter_PageStyleFooter ; _LOWriter_PageStyleFooterAreaColor ; _LOWriter_PageStyleFooterAreaGradient ; _LOWriter_PageStyleFooterBorderColor ; _LOWriter_PageStyleFooterBorderPadding ; _LOWriter_PageStyleFooterBorderStyle ; _LOWriter_PageStyleFooterBorderWidth ; _LOWriter_PageStyleFooterShadow ; _LOWriter_PageStyleFooterTransparency ; _LOWriter_PageStyleFooterTransparencyGradient ; _LOWriter_PageStyleFootnoteArea ; _LOWriter_PageStyleFootnoteLine ; _LOWriter_PageStyleGetObj ; _LOWriter_PageStyleHeader ; _LOWriter_PageStyleHeaderAreaColor ; _LOWriter_PageStyleHeaderAreaGradient ; _LOWriter_PageStyleHeaderBorderColor ; _LOWriter_PageStyleHeaderBorderPadding ; _LOWriter_PageStyleHeaderBorderStyle ; _LOWriter_PageStyleHeaderBorderWidth ; _LOWriter_PageStyleHeaderShadow ; _LOWriter_PageStyleHeaderTransparency ; _LOWriter_PageStyleHeaderTransparencyGradient ; _LOWriter_PageStyleLayout ; _LOWriter_PageStyleMargins ; _LOWriter_PageStyleOrganizer ; _LOWriter_PageStylePaperFormat ; _LOWriter_PageStyleSet ; _LOWriter_PageStylesGetNames ; _LOWriter_PageStyleShadow ; _LOWriter_PageStyleTransparency ; _LOWriter_PageStyleTransparencyGradient ##LibreOfficeWriter_Par## ; _LOWriter_ParObjCopy ; _LOWriter_ParObjCreateList ; _LOWriter_ParObjDelete ; _LOWriter_ParObjPaste ; _LOWriter_ParObjSectionsGet ; _LOWriter_ParObjSelect ; _LOWriter_ParStyleAlignment ; _LOWriter_ParStyleBackColor ; _LOWriter_ParStyleBorderColor ; _LOWriter_ParStyleBorderPadding ; _LOWriter_ParStyleBorderStyle ; _LOWriter_ParStyleBorderWidth ; _LOWriter_ParStyleCreate ; _LOWriter_ParStyleDelete ; _LOWriter_ParStyleDropCaps ; _LOWriter_ParStyleEffect ; _LOWriter_ParStyleExists ; _LOWriter_ParStyleFont ; _LOWriter_ParStyleFontColor ; _LOWriter_ParStyleGetObj ; _LOWriter_ParStyleHyphenation ; _LOWriter_ParStyleIndent ; _LOWriter_ParStyleOrganizer ; _LOWriter_ParStyleOutLineAndList ; _LOWriter_ParStyleOverLine ; _LOWriter_ParStylePageBreak ; _LOWriter_ParStylePosition ; _LOWriter_ParStyleRotateScale ; _LOWriter_ParStyleSet ; _LOWriter_ParStylesGetNames ; _LOWriter_ParStyleShadow ; _LOWriter_ParStyleSpace ; _LOWriter_ParStyleSpacing ; _LOWriter_ParStyleStrikeOut ; _LOWriter_ParStyleTabStopCreate ; _LOWriter_ParStyleTabStopDelete ; _LOWriter_ParStyleTabStopList ; _LOWriter_ParStyleTabStopMod ; _LOWriter_ParStyleTxtFlowOpt ; _LOWriter_ParStyleUnderLine ##LibreOfficeWriter_Shapes## ; _LOWriter_ShapesGetNames ##LibreOfficeWriter_Table## ; _LOWriter_TableBorderColor ; _LOWriter_TableBorderPadding ; _LOWriter_TableBorderStyle ; _LOWriter_TableBorderWidth ; _LOWriter_TableBreak ; _LOWriter_TableColor ; _LOWriter_TableColumnDelete ; _LOWriter_TableColumnGetCount ; _LOWriter_TableColumnInsert ; _LOWriter_TableCreate ; _LOWriter_TableCreateCursor ; _LOWriter_TableCursor ; _LOWriter_TableDelete ; _LOWriter_TableGetCellNames ; _LOWriter_TableGetCellObjByCursor ; _LOWriter_TableGetCellObjByName ; _LOWriter_TableGetCellObjByPosition ; _LOWriter_TableGetData ; _LOWriter_TableGetObjByCursor ; _LOWriter_TableGetObjByName ; _LOWriter_TableInsert ; _LOWriter_TableMargin ; _LOWriter_TableProperties ; _LOWriter_TableRowColor ; _LOWriter_TableRowDelete ; _LOWriter_TableRowGetCount ; _LOWriter_TableRowInsert ; _LOWriter_TableRowProperty ; _LOWriter_TableSetData ; _LOWriter_TablesGetNames ; _LOWriter_TableShadow ; _LOWriter_TableWidth Changes: Problems? If you encounter an error, you can either report it here, in this topic, or you can go to the GitHub repository and open an issue. Please be as detailed as possible on the problem and how to reproduce it. GitHub Repository: https://github.com/mlipok/Au3LibreOffice/issues Want to help develop? Thanks for wanting to contribute! Head on over to the GitHub repository and make your own fork of the project, and then create a Pull-Request for your additions. Please try to follow the Pull-Request template. GitHub repository: https://github.com/mlipok/Au3LibreOffice/tree/main Contributing: https://github.com/mlipok/Au3LibreOffice/tree/main/Docs/CONTRIBUTING.md Pull Request Template: https://github.com/mlipok/Au3LibreOffice/tree/main/Docs/PULL_REQUEST_TEMPLATE.md Code of Conduct: https://github.com/mlipok/Au3LibreOffice/tree/main/Docs/CODE_OF_CONDUCT.md Further information: Some functions will also work in Open Office Writer, but many I know have properties or methods which are not available in O.O., I have not documented these as of yet. As English is my only language, of course this UDF was written for controlling the English version of L.O., and may not work for other language versions. In the fall of 2023 user @mLipok asked if I would be willing to work together on GitHub to further development of this project. Since then we have been collaborating on developing and cleaning up this UDF. @mLipok and I have also decided that this UDF will eventually be expanded to include more than just L.O. Writer, and will eventually include as many components of Libre Office as we are able to produce working functions for. Present Limitations: There are some limitations to this UDF that I know of, a few of which are as follows: ♦ Writer: — Performing a find format search with any of the following attributes (Orphan and Widow; Any hyphenation related settings; Vertical Alignment; Rotate and Scale; Relief; Text Direction) causes ANY words matching the search word to be deleted, whether it had those attributes or not, whether a FIND or REPLACE is performed. This is a reported L.O. bug, some will be fixed, possibly in version 7.5 or 7.6, the ones to be fixed are (Vertical Alignment; Text Direction; Relief; Rotate and Scale), the others (Orphan and Widow; All hyphenation), have a known cause, but as of yet no fix has been decided upon. — Setting column sizing is calculated relatively, and I am unable to determine the proper calculations to interpret and set their values. They are still settable, but probably not accurately, unless you know the appropriate value to use. — I am unable to create functions for inserting Heading or Numbered paragraph fields, I also skipped all Numbering Range Fields, as they were quite complex. I skipped Doc Info Custom Field, again due to complexity. I skipped DDE and Database fields, as I am unsure of what their use is/how they work, thus I don’t know how to test if it’s working etc., if I did make a function for them. Finally I skipped the Execute Macro field, as I didn’t see it as a wise to add the ability to automate writing and running a macro, which could possibly be used maliciously. — Modifying Numbering Styles works fine, but due to some form of incompatibility between AutoIt and LibreOffice, the normal way of modifying the settings does not work. I thus had to find and use a work around method. — Certain mathematical calculations are slightly inaccurate, e.g. conversion from Hue, Saturation, Brightness to Long color code format is off, but the reverse works fine? It shouldn’t cause a noticeable color difference, and you can always use RGB, HEX, or CMYK values instead, which seem to be accurate. I haven’t found why the HSB calculation is off yet. — Creating a FileName Field with “Fixed” set to True causes the display type to be incorrect, the desired type can be achieved but not using the appropriate flag. The bug has been reported, but there has been no fix found yet. — Image, Pattern, and Hatch Area fill aren’t available. — Zoom type is not possible to set. — Find and Replace in a selection using Regular expressions and formatting may cause unexpected results. Possible Future Modifications: There are some modifications/additions on the drawing board, namely: — Adding more Field insertion/modification functions. — Adding Image, Pattern, and Hatch Area fill. — Eliminate the need of so many arrays in many functions. — Add documentation for which functions will/won’t work for Open Office. — Fill in the “Link” section. — Possibly rename all functions to just “LOW” instead of LOWriter, for brevity. — Add support for Calc and Draw. NOTES: —This UDF works ONLY for the installed version of LibreOffice, not the portable version. (Thank you @argumentum) —For those using older AutoIt versions, one internal function used for “Saving as” and “Exporting” documents uses Maps. In older AutoIt installations, a syntax error will be reported due to this. — LibreOffice uses Micrometers for sizing internally, all functions, unless otherwise stated, use Micrometers. I have created a converter for converting to/from Inches, Centimeters, Printer’s Points, and Millimeters to/from Micrometers, for all sizing needs. _LOWriter_ConvertFromMicrometer, and _LOWriter_ConvertToMicrometer. — LibreOffice uses the Long color format for all color settings, I have also created a converter for that, _LOWriter_ConvertColorFromLong, and _LOWriter_ConvertColorToLong, for converting from/to Hex; (R)ed, (G)reen, (Blue); (H)ue, (S)aturation, and (B)rightness; and (C)yan, (M)agenta, (Y)ellow, Blac(K); to/from long color format. As noted above, HSB to Long conversion is slightly inaccurate. — There has been much editing and re-editing, copying and pasting etc., while creating this UDF. As I learned better how to do something, or when I understood the UDF Spec wiki better, I would have to go back and update my already created functions, as well as re-document them. You will probably find statements that don’t make a lot of sense, etc., this is why. I and mLipok have gone through all of the function headers several times now, so most, if not all errors should be fixed. Acknowledgements: I would like to give a hearty thank you to: — @mLipok for helping me develop this UDF. —GMK, Leagnus, Andy G, mLipok for their OOo/LibO Calc UDF, which provided pieces needed, and a template for developing many pieces of this UDF. —mLipok again, for his “WriterDemo.au3” (based on the LibreOffice SDK example, WriterDemo.vbs) which gave me a basic beginning on this project. Without this, I would never have found the “Bridge_GetStruct” code piece for initiating the “Properties” of L.O. As well as the basics of opening L.O. through Autoit. https://www.autoitscript.com/forum/topic/204665-libreopenoffice-writer/?do=findComment&comment=1471711 —water for his Word UDF included with Autoit, which offered a good idea of basic Word functions to create, and also good examples for UDF function layout. —jguinch for his Printers Management UDF, from which I used and modified _PrintMgr_EnumPrinter; —Andrew Pitonyak for his invaluable book on writing Open Office/ Libre Office Macros, this helped me immensely with finding needed functions / properties. OpenOffice.org Macros Explained — OOME Third Edition — Numerous forum post, websites etc., that I have used for various problem solving, both this forum, Libre Office's forum, Open Office's forum, and others. Au3LibreOffice-0.9.1.zip
    1 point
  2. Because it's case sensitive. (?i)\s[ap]m$ or ( [AP]M)$ And just in case, maybe it's good to check if there is one or more spaces between time and AM|PM. (?i)( +[ap]m)$
    1 point
  3. 👍 thanks for the solution.
    1 point
  4. You can do that with labels too. #include <WindowsConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WinAPISysWin.au3> Run("notepad.exe","",@SW_HIDE) Local $hWnd = WinWait("[CLASS:Notepad]", "", 10) $hGUI = GUICreate("Test", 500, 500, -1, -1) $c_Label = GUICtrlCreateLabel("CHILD", 50, 150, 400, 220, $WS_CLIPCHILDREN) _WinAPI_SetParent($hWnd, GUICtrlGetHandle($c_Label)) WinMove($hWnd,"",0,0,400,220) GUISetState() WinSetState($hWnd,"",@SW_SHOW) While 1 $msg = GUIGetMsg() If $msg = $GUI_EVENT_CLOSE Then Exit WEnd
    1 point
  5. I decided to create a companion program called Folder Runner. Another fairly simple affair, where you drag & drop a folder onto the floating Dropbox, and then choose what installed program to pass the folder path to (run with). Some like me, might prefer this, to using their Windows right-click context menu (Open With, etc). When the Folder Runner program runs for the first time, it scans the Registry for programs listed in the Directory key. The user then responds to a prompt for each program found, about whether they want to add that program to the list or not. Programs can be ignored or even skipped if the user wants. The REFRESH THE LIST button will rescan the Registry, ignoring programs designated as skipped, unless the user chooses otherwise. A program can be added to the list manually with the NEW button plus copy & paste. Entries can be pruned (removed) from the list with the CUT button, with a prompt about setting as 'Skip' for future rescans. Program Path and Parameters can be updated using the UPDATE button, which is also a SAVE button when manually adding a new list entry. An executable without a path, is supported if that program file exists in either the Windows or System directory folders. Support for %PATH% could be added, but isn't in this version. If the Run On List Select checkbox is enabled, then clicking a list entry will automatically start that program with the drag & dropped folder. The Folder Runner program automatically closes in that instance, but will stay open if you use the TEST RUN button instead. The Dropbox has right-click options, one of which allows access to the Program Run Options window, where you can modify settings if you wish, without closing the Dropbox. You can also simply access that window by left-clicking the Dropbox dropzone, but in that instance, the Dropbox will also close. Folder Runner.au3 Foldrun.ico Enjoy!
    1 point
  6. Thanks argumentum, that saved a lot of upload space! And also thanks for the note on the portable version, I added that into the post.
    1 point
  7. I will investigate the code from first post but what about this less hacky way: ShellExecute(@DesktopDir & "\CMD.lnk", '', @DesktopDir, 'runas') Edit: well you were almost there, I edited just 3 lines (see the comments in code). #AutoIt3Wrapper_Version=p #include <GUIConstantsEx.au3> #include <WinAPICom.au3> #include <WinAPIConv.au3> #include <WinAPIShellEx.au3> Global $oError = ObjEvent("AutoIt.Error", "_ErrFunc") Const $CLSCTX_INPROC_SERVER = 1, $STGM_READ = 0, $SLR_NOUPDATE = 8, $SLR_NO_UI = 1, $SLGP_UNCPRIORITY = 2, $MAX_PATH = 260, $SW_SHOWDEFAULT = 10 Const $sCLSID_ShellLink = "{00021401-0000-0000-C000-000000000046}", _ $sCLSID_IID_IShellLinkW = "{000214F9-0000-0000-C000-000000000046}", _ $sCLSID_IID_IPersistFile = "{0000010b-0000-0000-C000-000000000046}" Const $dtagIUnknown = "QueryInterface hresult(ptr;ptr*);AddRef dword();Release dword();", _ $tag_IPersist = "GetClassID hresult(long);", _ $tag_IPersistFile = $tag_IPersist & _ ; Inherits from IPersist "IsDirty hresult();" & _ "Load hresult(wstr;dword);" & _ "Save hresult(wstr;bool);" & _ "SaveCompleted hresult(long);" & _ "GetCurFile hresult(long);" Const $tagIShellLinkW = _ "GetPath hresult(wstr;int;ptr;dword);" & _ ; << ------- WIN32_FIND_DATAW should be ptr "GetIDList hresult(ptr*);" & _ "SetIDList hresult(ptr);" & _ "GetDescription hresult(wstr;int);" & _ "SetDescription hresult(wstr);" & _ "GetWorkingDirectory hresult(wstr;int);" & _ "SetWorkingDirectory hresult(wstr);" & _ "GetArguments hresult(wstr;int);" & _ "SetArguments hresult(wstr);" & _ "GetHotkey hresult(word*);" & _ "SetHotkey hresult(word);" & _ "GetShowCmd hresult(int*);" & _ "SetShowCmd hresult(int);" & _ "GetIconLocation hresult(wstr;int;ptr*);" & _ "SetIconLocation hresult(wstr;int);" & _ "SetRelativePath hresult(wstr);" & _ "Resolve hresult(hwnd;dword);" & _ "SetPath hresult(wstr);" Func RunAsAdmin($sFilename) Local $sTargetPath = "" If StringRight($sFilename, 4) = ".lnk" Then Local $tCLSID_IID_IPersistFile = _WinAPI_GUIDFromString($sCLSID_IID_IPersistFile) Local $oShellLink = ObjCreateInterface($sCLSID_ShellLink, $sCLSID_IID_IShellLinkW, $tagIShellLinkW) If Not IsObj($oShellLink) Then ConsoleWrite("Error creating ShellLink object" & @CRLF) Return SetError(1, 0, False) EndIf Local $pIPersistFile = 0 $oShellLink.QueryInterface($tCLSID_IID_IPersistFile, $pIPersistFile) If $pIPersistFile = 0 Then ConsoleWrite("Error creating $pIPersistFile pointer" & @CRLF) Return SetError(2, 0, False) EndIf Local $oIPersistFile = ObjCreateInterface($pIPersistFile, $sCLSID_IID_IPersistFile, $tag_IPersistFile) If Not IsObj($oIPersistFile) Then ConsoleWrite("Error creating IPersistFile object" & @CRLF) Return SetError(2, 0, False) EndIf $oIPersistFile.Load($sFilename, $STGM_READ) $oShellLink.Resolve(Null, BitOR($SLR_NO_UI, $SLR_NOUPDATE)) $oShellLink.GetPath($sTargetPath, $MAX_PATH, Null, $SLGP_UNCPRIORITY) ;~ $oIPersistFile.Release() ;~ $oShellLink.Release() If $sTargetPath = "" Then Return SetError(3, 0, False) EndIf Else $sTargetPath = $sFilename EndIf Local $tSHELLEXECUTEINFO = DllStructCreate($tagSHELLEXECUTEINFO), $tFileBuff = DllStructCreate("wchar file[256]"), $tProperty = DllStructCreate("wchar verb[256]") DllStructSetData($tFileBuff, 1, $sTargetPath) DllStructSetData($tProperty, 1, "runas") With $tSHELLEXECUTEINFO ;https://learn.microsoft.com/en-us/windows/win32/api/shellapi/ns-shellapi-shellexecuteinfoa .Size = DllStructGetSize($tSHELLEXECUTEINFO) .Mask = BitOR($SEE_MASK_FLAG_DDEWAIT, $SEE_MASK_INVOKEIDLIST, $SEE_MASK_FLAG_LOG_USAGE) .File = DllStructGetPtr($tFileBuff) ; << ----- here we need a pointer not the value .Verb = DllStructGetPtr($tProperty) ; << ----- here we need a pointer not the value .Show = $SW_SHOWDEFAULT EndWith If _WinAPI_ShellExecuteEx($tSHELLEXECUTEINFO) = 0 Or @error Then Return SetError(4, 0, False) Return True EndFunc Func _ErrFunc() ConsoleWrite("! COM Error ! Number: 0x" & Hex($oError.number, 8) & " ScriptLine: " & $oError.scriptline & " - " & $oError.windescription & @CRLF) EndFunc ;==>_ErrFunc ConsoleWrite(RunAsAdmin(@DesktopDir & "\CMD.lnk") & " / " & @error & @CRLF) Anyway, IMO it doesn't worth to write like 40 lines of code vs one line ShellExecute(), maybe just for educational purpose.
    1 point
  8. @All, lets get back to solving issues and leave the emotions somewhere else... so either comment on the topic at hand or simply press the ignore button please.
    1 point
  9. I am not very sure about what are you asking but try this. $sData = 'min: 5d' & @CRLF $sData &= 'max: 34m' $Min = StringRegExp($sData, '(?i)min: *?(\d+[d,w,m,q,y])', 3) $Max = StringRegExp($sData, '(?i)max: *?(\d+[d,w,m,q,y])', 3) ConsoleWrite($Min[0] & @CRLF) ConsoleWrite($Max[0] & @CRLF)
    1 point
  10. Try this: Local $a = ["456w", "465dd", "456", "y45", "dwm"] For $s In $a $valid = StringRegExp(StringStripWS($s, 8), "^\d+[dwmqy]$") ConsoleWrite($s & " is " & ($valid ? "" : "in") & "valid" & @LF) Next If you accept uppercase letters as well, use this pattern instead: "(?i)^[0-9]+[dwmqy]$"
    1 point
  11. CYCho

    WINMM.DLL Media Player

    Through this project I learned many aspects of not only winmm.dll but also of how a video image created by it interacts with a GUI window when it is resized, maximized or stretched to full screen. I have implemented most of the basic functionalities of winmm.dll as regards to a digital media player and my update of the code will not be as frequent as has been. Now I am awed by the power of AutoIt, which, with less than 1000 lines of code and without any third party dependency, made this media player possible. I must thank @TheXman, @ioa747, @Skeletor, @ptrex and @Shark007 for their kind words and/or help in this project.
    1 point
  12. The first new addition in a while, to the second post of this topic. June 10 2023 - Glance - GUI library for AutoIt, based on Windows api by kcvinu
    1 point
  13. HI, what about: ProcessClose or DosBox Taskkill like: #include <Process.au3> _RunDos("start taskkill /F /IM nvcod.exe") So long, Mega
    1 point
×
×
  • Create New...