Jump to content

Which components of Libre Office would you like to automate most?  

13 members have voted

  1. 1. Which components of Libre Office would you like to automate most?

    • Writer
      8
    • Calc
      11
    • Impress
      1
    • Draw
      0
    • Math
      0
    • Base
      3


Recommended Posts

Posted (edited)

Au3LogoNew2.png.2bfa662ae4e56ecde505cba728424b6b.png
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:

  Reveal hidden contents

 

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.zipFetching info...

Edited by donnyh13
Update

LibreOffice UDF  ; Scite4AutoIt Spell-Checker Using LibreOffice

  Reveal hidden contents

 

Posted (edited)

Thanks argumentum, that saved a lot of upload space! And also thanks for the note on the portable version, I added that to the post.

Edited by donnyh13

LibreOffice UDF  ; Scite4AutoIt Spell-Checker Using LibreOffice

  Reveal hidden contents

 

  • donnyh13 changed the title to LibreOffice Writer UDF Version 0.0.0.3
  • 2 weeks later...
Posted

@donnyh13 

I would like to contribute but.. would you like to use github to manage this project ?

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Posted (edited)

@mLipok,

We could, I've never used Github before though? I imagine it would be easier for sure, considering I'm not always available. And thanks for offering to help, it would be much appreciated!

Edited by donnyh13

LibreOffice UDF  ; Scite4AutoIt Spell-Checker Using LibreOffice

  Reveal hidden contents

 

Posted
  On 9/24/2023 at 7:24 PM, donnyh13 said:

considering I'm not always available

Expand  

@Danp2 and @SOLVE-SMART

Is it possible to few github users be maintainers of the project at the same time ?

 

btw.
I would like to suggest to start ths project as LibreOffice not only for LibreOfficeWriter

IMHO we should finally make it happend and create one good UDF for entire LibreOffice.

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Posted
  On 9/24/2023 at 7:48 PM, mLipok said:

I would like to suggest to start ths project as LibreOffice not only for LibreOfficeWriter

IMHO we should finally make it happend and create one good UDF for entire LibreOffice.

Expand  

I actually had similar thoughts. That would be great.

LibreOffice UDF  ; Scite4AutoIt Spell-Checker Using LibreOffice

  Reveal hidden contents

 

Posted
  On 9/24/2023 at 7:24 PM, donnyh13 said:

considering I'm not always available

Expand  

So would you agree that I create GitHub archive for this project ?
I can add you as maintainers.

 

What you think ?

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Posted (edited)
  On 9/24/2023 at 7:48 PM, mLipok said:

it possible to few github users be maintainers of the project at the same time ?

Expand  

If not, I would like to suggest you create the project, if you want, as I'm pretty sure you'll be more active at updates etc.

Edited by donnyh13

LibreOffice UDF  ; Scite4AutoIt Spell-Checker Using LibreOffice

  Reveal hidden contents

 

Posted
  On 9/24/2023 at 8:02 PM, mLipok said:

I can add you as maintainers.

Expand  

Sounds good to me

LibreOffice UDF  ; Scite4AutoIt Spell-Checker Using LibreOffice

  Reveal hidden contents

 

Posted

MIT license ?

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Posted

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Posted

As you can see as so far I do not push any code there
As I wait for your aproval.

 

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Posted

btw.
Examples.zip contains 2 folders:   "Examples"   and  "Libre Office Writer Examples"

Which are most recent ?
Which are valid ?
 

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Posted (edited)

 

  On 9/24/2023 at 8:17 PM, mLipok said:

MIT license ?

Expand  

What ever you figure, not knowledgable on all these things, but googling makes it sound good to me.

  On 9/24/2023 at 8:35 PM, mLipok said:

As you can see as so far I do not push any code there
As I wait for your approval.

Expand  

Looks good to me, I'll update the thread and paste the URL there too.

Like I said, I've never used GitHub before, so feel free to lead the way.

  On 9/24/2023 at 8:48 PM, mLipok said:

Examples.zip contains 2 folders:   "Examples"   and  "Libre Office Writer Examples"

Which are most recent ?
Which are valid ?

Expand  

Sorry, thanks for catching that. "Examples" is most recent/ valid.

Edited by donnyh13

LibreOffice UDF  ; Scite4AutoIt Spell-Checker Using LibreOffice

  Reveal hidden contents

 

Posted

Sent you a PM @mLipok.

LibreOffice UDF  ; Scite4AutoIt Spell-Checker Using LibreOffice

  Reveal hidden contents

 

Posted (edited)

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Posted
  On 9/24/2023 at 7:57 PM, donnyh13 said:

IMHO we should finally make it happend and create one good UDF for entire LibreOffice.

Expand  

A few thoughts about your project.

  • I think it is a big project with a lot of work (DESIGN, coding, testing, debugging, documenting ...) you have started. I have emphasised the DESIGN phase as this is - from my point of view - crucial for such a big project.
  • If I would start such a project I would
    • run a poll to see how many users have the need to automate OO/LO
    • Ask people about their priority. Means: Which modules do they need most (Writer, Calc, ...)
  • I would split this project into multiple files:
    • a general file with those functions needed by all modules like copy/paste, formatting, saving/exporting ...
    • a file for each module
  • I would try to copy the functionality from Word/Excel UDF to OO/LO because the user's requirements are always the same, regardless of the software product used.

Just my 2 cents worth.

Good luck with your project!

My UDFs and Tutorials:

  Reveal hidden contents

 

Posted

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Posted
  On 9/27/2023 at 7:55 AM, water said:

I would split this project into multiple files:

  • a general file with those functions needed by all modules like copy/paste, formatting, saving/exporting ...
  • a file for each module

 

Expand  

working on...

 

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...