<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.autoitscript.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Water</id>
	<title>AutoIt Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.autoitscript.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Water"/>
	<link rel="alternate" type="text/html" href="https://www.autoitscript.com/wiki/Special:Contributions/Water"/>
	<updated>2026-05-14T09:07:03Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15299</id>
		<title>User Defined Functions</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15299"/>
		<updated>2026-05-14T08:26:13Z</updated>

		<summary type="html">&lt;p&gt;Water: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
This page is a listing of libraries of &#039;&#039;&#039;user defined functions&#039;&#039;&#039; (UDF). These libraries have been written to allow easy integration into your own scripts and are a very valuable resource for any programmer.&amp;lt;br /&amp;gt;&lt;br /&gt;
This list is probably not complete (410 UDFs on 2026-05-14), but constantly supplemented.&lt;br /&gt;
If you do not find a solution here, ask a new question on the [https://www.autoitscript.com/forum/forum/2-general-help-and-support/ forum].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
The listed UDFs might have been written for older versions of AutoIt. So there is no guarantee that every UDF works smoothly with newer versions.&amp;lt;br /&amp;gt;&lt;br /&gt;
None of the UDFs has been tested by the maintainers of this list so you as a user need to make sure that they deliver the expected results.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;When will an UDF be added to this list?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
It should meet all/most of the general requirements for UDFs as described [[UDF-spec|here]].&amp;lt;br&amp;gt;&lt;br /&gt;
In addition the following requirements should be met:&lt;br /&gt;
* &#039;&#039;&#039;Documentation&#039;&#039;&#039;: So users can tell what the UDF is intended to do (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Examples&#039;&#039;&#039;: So users can get an idea how to use the UDF. The more the better (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Operating systems&#039;&#039;&#039;: Should support the latest Microsoft OS (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;AutoIt&#039;&#039;&#039;: Should support the latest version of AutoIt (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Author&#039;&#039;&#039;: The author should still be active on the forum so he can reply to questions (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What to do when one of your UDFs is missing?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please send a [https://www.autoitscript.com/forum/messenger/compose/?to=7903 PM] to user water. Add a short description of the UDF and a link to your post in the [https://www.autoitscript.com/forum/forum/9-autoit-example-scripts/ Example Scripts] or [https://www.autoitscript.com/forum/forum/49-autoit-projects-and-collaboration/ Projects and Collaboration] forum.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Added in the past two years&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date !! Section !! Creator !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-14 || [[User_Defined_Functions#Windows|Windows]] || MattyD || [https://www.autoitscript.com/forum/index.php?showtopic=212222 WinRT Libraries] - Libraries to access WinRT Objects.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-07 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || MattyD || [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP UDF] - SNMPv1 and SNMPv2c.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-01 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment] - Least Squares Adjustment.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-04-01 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || WildByDesign || [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-10 || [[User_Defined_Functions#Inter_Process_Communications|Inter Process Communications]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC] - Inter Process Communication using TCP/IP.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-09 || [[User_Defined_Functions#Browsers|Browsers]] || ioa747 || [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt] - Integrate WebView2 into AutoIt via COM. &lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-19 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF] - TCP/UDP Networking Library.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || BugFix || [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx] - Another kind of group, versatile changeable.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-16 || [[User_Defined_Functions#Security|Security]] || DonChunior || [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred] - Interface to the Windows Credential Management API.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || genius257 || [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast] - Native Win8+ toast notifications.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Media|Media]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Hardware|Hardware]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213296 Monitor] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-09-22 || [[User_Defined_Functions#Misc|Misc]] || UEZ || [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint] - Creating barcodes using the Zint.dll.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-07-27 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || DXRW4E || [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-04-16 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || seangriffin || [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-03-22 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-02-26 || [[User_Defined_Functions#Controls|Controls]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-16 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Gianni || [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask] - Easily run and manage many processes.&lt;br /&gt;
|- &lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || NoNameCode || [https://www.autoitscript.com/forum/index.php?showtopic=211475 Darkmode] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Network_Guy || [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-11 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || t0nZ || [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog] - Logs made easy.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || argumentum || [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-21 || [[User_Defined_Functions#Controls|Controls]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker] - Date Range Picker Control.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-06 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place the Table of contents (TOC) here --&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Automation ==&lt;br /&gt;
&lt;br /&gt;
===Browsers===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154439 Chrome (by seangriffin)] - Automate the most common tasks in Chrome with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95595 Firefox (by Stilgar)] - A little less support for automation than IE, but still very good.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167661 Firefox (by Danp2)] - Modified newer version of Stilgar Firefox UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/224-firefox-profile-backup/ FireFox Profile Backup 1.0 (by careca)] - Backup or restore your firefox profile. The application searches for the profile in home drive that will be the one to backup.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _FF_AutoLogin (by Stilgar)] - This is a auto-login function and login-function-generator for FireFox and the FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92035 _FF_DM (by Stilgar)] - UDF to control the FireFox Download-Manager (not the download-window).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91650 _FF_FoxBox (by Stilgar)] - UDF to control Fox!Box (A Mozilla Firefox extension for the AVM FRITZ!Box) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91665 _FF_Screengrab (by Stilgar)] - UDF to control Screengrab! (FireFox-AddOn) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _HTML (by Stilgar)] - Get informations from any HTML (XML) source, without any browser.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166542 HTMLDocumentEvents (by SmOke_N)] - Track IE document events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167035 IEEx (by SmOke_N)] - IE extended library with some Javascript options.&lt;br /&gt;
* Internet Explorer (by DaleHohm et al.) - IE library that is now supplied with a standard AutoIt install.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153520 IUIAutomation MS framework (by junkew)] - IUIAutomation MS framework to automate chrome, FF, IE etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149203 NavInfo (by Nessie)] - With this UDF you can check if a specified browser/software is installed and which version is being used.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=61090 Opera (by MrCreatoR,)] - Automate the most common tasks in Opera with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191990 WebDriver (by Danp2)] - W3C compliant Webriver UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt (by ioa747)] - AutoIt WebView2 Component (COM Interop).&lt;br /&gt;
&lt;br /&gt;
===Microsoft Office===&lt;br /&gt;
Some features of Microsoft&#039;s Office products are proprietary and cannot readily be manipulated.  Sometimes workarounds are required.&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;[[Known issues with Microsoft Office automation.|This page]]&amp;lt;/u&amp;gt; is dedicated to identifying those issues, provide explanations and list solutions or workarounds.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32144 Microsoft Office Access (by randallc)] - Automate Microsoft Access.&lt;br /&gt;
* Microsoft Office Excel (by water et al.) - This UDF is included in AutoIt. Link to the [[Excel_UDF|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135312 Microsoft Office Excel Charts (by water, GreenCan)] - Creating charts using Microsoft Excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204034 Microsoft Office Excel Pivot Tables (by SudeepJD)] - Create and Update Excel Pivot Tables and Charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126305 Microsoft Office Outlook (Items) (by water)] - Automate Microsoft Outlook Items. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202451 Microsoft Office Outlook (GUI) (by water)] - Automate Microsoft Outlook GUI. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197346 Microsoft Office Outlook Tools (by water)] - Built on top of the OutlookEX UDF it offers some often needed extended functionality (import/export ics/vcf files etc.). Link to the [[OutlookTools|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50254 Microsoft Office PowerPoint (by Toady)] - Automate Microsoft PowerPoint.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=178783 Microsoft Office PowerPoint (by water)] - Automate Microsoft PowerPoint. Link to the [[Powerpoint|documentation]] pages.&lt;br /&gt;
* Microsoft Office Word (by water et al.) - This UDF is included in AutoIt. Link to the [[Word_UDF|documentation]] pages.&lt;br /&gt;
&lt;br /&gt;
===OpenOffice/LibreOffice===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210514 LibreOffice Suite (by donnyh13)] - A huge list of functions for LibreOffice Base, Calc and Writer. Link to the [[LibreOffice|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151530 OOo/LibO Calc (by GMK)] - OpenOfficeCalc UDF (works also for Libre Office).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185932 OpenOffice/LibreOffice Spell Checker (by GMK)] - Function to validate words, and show spell alternatives.&lt;br /&gt;
&lt;br /&gt;
===Other Applications===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106163 Active Directory (by water)] - Extensive library to control and manipulate the Windows active directory ([https://www.autoitscript.com/forum/files/file/355-ad-active-directory-udf/ Download]). Link to the [[Active_Directory_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87956 Java (by seangriffin)] - Creates an access bridge between your application and a Java application. Allowing you to automate some Java applications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86574 SAP (by seangriffin)] - SAP business management automation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149540 SAPWizard (by ozmike)] - SAPWizard UDF.&lt;br /&gt;
&lt;br /&gt;
== Script Coding/Analyzing/Debugging ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209528 ArrayCombinations (by AspirinJunkie)] - Different ways of composing elements of a set.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155442 ArrayMultiColSort (by Melba23)] - Function to sort a 2D array on several columns.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209523 ArrayPlus (by AspirinJunkie)] - Functions for flexible Array handling (create, extract, rebuild, sort, filter, find, print)&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180467 ArrayWorkshop (by czardas)] - Multidimensional array functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=59174 Associative array functions (by Nutster)] - Manage a version of associative arrays in single AutoIt variables. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=198929 AutoIt error logger (AUERLO) (by user4157124)] - File- and stdout (etc.) output of messages, errors, exit method and -code, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110379 AutoItObject (by ProgAndy and others)] - Brings the Object Orientation programming paradigm to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112879 AutoIt Syntax Highlight (by MrCreatoR)] - Highlights AutoIt v3 syntax code to html/bbcode format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191488 cDebug (by c.haslam)] - Dumps the values of all AutoIt subtypes and expressions including nested arrays, DLL structs and maps.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor (by Nine)] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195882 ErrorLog (by mLipok)] - Logs program activities and errors to different output locations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211718 FuzzyString (by AspirinJunkie)] - Fuzzy string comparison and search in string arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143167 GetOpt (by dany)] - Parse GNU and DOS style command line options similar to getopt().&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog (by t0nZ)] - Logs made easy.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156196 Log4a (by zorphnog)] - Logging library loosely based upon the log4j and NLog libaries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195862 Loga (by Danyfirex)] - Simple logging library to keep track of code with an integrated console.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119032 Log UDF (by Yashied)] - Create a text log files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202832 OnDebugMsgBox (by argumentum)] - Catch the dreaded &amp;quot;AutoIt Error&amp;quot; MsgBox and prettify or hide it.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209529 Set (by AspirinJunkie)] - Provides a set data type and brings the corresponding mathematical functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200660 Variants and Safearrays (by LarsJ)] - Create/access/process Variants and SafeArrays.&lt;br /&gt;
&lt;br /&gt;
=== Inter Process Communications ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202485 AppInteract (by MrCreatoR)] - Reliably pass arrays or other types between processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC (by Kanashius)] - Inter Process Communication using TCP/IP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=205109 AutoItSharedData (by SEuBo)] - Create a shared data storage, a simple AutoItObject-Object, using AutoItObject_Internal.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188991 Autoit-Socket-IO (by tarretarretarre)] - Event driven TCP/IP wrapper inspired by Socket.IO with focus on user friendliness and long term sustainability.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126936 Container (by MrCreatoR)] - Scripts interaction method. Allows to transfer whole arrays as data, and even COM objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=55994 DDEML (by doudou)] - Use your AutoIt script as DDE client or server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193277 FMIPC (by argumentum)] - IPC via FileMapping.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127615 Interprocess (by JScript)] - Remotely execute a function in another script (using Mailslot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193158 IPC_IO (by JohnWIlling)] - IPC library supporting multiple connection types (such as: Named Pipe, File, TCP, SharedMemory, MailSlot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202618 IPC Techniques through ROT Objects (by LarsJ)] - Implementing IRunningObjectTable Interface.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106710 Mailslot (by trancexx)] - IPC using Mailslots.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204734 Overlapped Named Pipe IPC (by Nine)] - Very fast interprocess communication that could be used between VBS or AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169797 Pool - Post Office for Organized Labour (by RTFC)] - Provides multiple AutoIt processes with an infrastructure for exchanging messages, data, and remote-control instructions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202587 WCD IPC (by Nine)] - Framework for Inter Process Communication using Windows Messages WM_COPYDATA.&lt;br /&gt;
&lt;br /&gt;
=== Parallel/concurrent processing ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork (by argumentum)] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186853 _Multiprocess (by jguinch)] - Run several external programs at the same time and retrieve the exit code of each process.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask (by Gianni)] - Easily run and manage many processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking (by Network_Guy)] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT (by Nine)] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
&lt;br /&gt;
== Files, Databases and web connections ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180850 ADO (by mLipok)] - A modifed version of the _SQL UDF to access all kind of databases (MSSQL, MySQL, PostgreSQL, SQLite, MS ACCESS, XLS, TXT, and many other which use ADO and ODBC).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105875 ADODB (by spudw2k)] - ADODB Example.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 AXML (by Aipion)] - This is a Wrapper for Pugixml, made with C++.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145142 DBF (by funkey)] - dBase database read and write with DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/topic/114406-csv-file-to-multidimensional-array/#findComment-799820 CSV (by ProgAndy)] - Read/write CSV files to/from 2D arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197909 CSV (by seangriffin)] - Manipulate CSV files using SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155748 CSVSplit (by czardas)] - Convert to and from CSV format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151116 DIF (by willichan)] - Read/write DIF (Data Interchange Format) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119238 Excel file generation (by jerome)] - Excel file generation (multi-sheet workbook) without the need to have Excel installed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143866 Excel XML (by FireFox)] - Work with SpreadsheetML (Open XML file formats).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155905 EXml (by jdelaney)] - Create Excel file (SpreadsheetML) through &amp;quot;Microsoft.XMLDOM&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116072 EzMySql (by Yoriz)] - Use MySQL Databases with AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148232 _FileGetProperty (by BrewManNH)] - Retrieve properties of a file.Xml2Json&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94920 FireBird (by eltorro)] - FireBird, Interbase DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx (by DXRW4E)] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197421 jq (by TheXman)] - Brings the power and flexibility of jq (an open-source command-line based JSON processor) to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209502 JSON (by AspirinJunkie)] - Interacting with JSON data in AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104150 JSON (by Gabriel13)] - RFC4627 compliant JSON encode/decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148114 JSON (by Ward)] - JSMN - A Non-Strict JSON UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156794 JSON (by ozmike)] - Bridge to Native Windows JSON plus OO extension for AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC (by seangriffin)] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173797 JSONgen (by Jefrey)] - Generate JSON.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127101 MS SQL (by TheLuBu)] - MSSQL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51952 MS SQL (by ChrisL)] - _SQL. ADODB Connection.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20814 MySQL (by cdkid)] - MySQL relational database management system.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85617 MySQL (by ProgAndy)] - MySQL UDFs (without ODBC - working with libmysql.dll).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=122360 MySQL (by James)] - MySQL ODBC Connector.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187223 romaSQL (rynow)] - Built on the concept of Laravel Query &amp;amp; doctrine. Connection string is based on ADODB / ODBC.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143331 Sharepoint 2007/2010 (by schoppet)] - Access the SOAP-Webservices of Sharepoint 2007/2010.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17099 SQLite (by ptrex)] - SQLite is a library that implements a self-contained, embeddable, zero-configuration SQL database engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=142977 SQLite Array Functions (by SmOke_N)] - SQLite Array Functions - a faster method for unique arrays and sorting methods.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140521 SQLite - Database (by PhoenixXL)] - UDF for SQLite so that beginners will also be able to do the stuff.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157853 SQLiteEx (by 57ar7up)] - SQLiteEx UDF v0.5.1 - Simplest work with SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163633 Xbase I/O (by RTFC)] - Transfer data between Xbase Data file (*.dbf) and AutoIt array written in pure AutoIt (no SQL, no ADO, no dlls, no external dependencies).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209526 xlsxNative (by AspirinJunkie)] - Read and write xlsx files without excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=19848 XML DOM Wrapper (by eltorro)] - Supports CRUD operations on XML. Including XSL and XPath.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 XML (by mLipok)] - New version of XML DOM Wrapper, with many new features.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208932 Xml2Json (by TheXman)] - Transform XML to JSON.&lt;br /&gt;
&lt;br /&gt;
== Data compression ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85094 7z, zip, gzip, bzip2, tar (by rasim)] - Extensive library that uses a external DLL that must be provided with the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92958 gZip (by Zinthose)] - Based on the parsing of gZip.exe output. It can work with memory, it doesn&#039;t work with files. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87441 LZMA (by trancexx)] - LZMA (Native Windows).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138838 Package (by Yashied)] - Package UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129529 pZip (by asdf8)] - PureZIP_L library UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=76176 UnRAR (by rasim)] - UnRAR.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17727 XZip (by eltorro)] - Another UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161847 XZip (by mLipok)] - UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44524 Zip plugin (by eltorro)] - Zip plugin.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73425 ZIP (by torels)] - ZIP UDF in pure AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116565 zip (by wraithdu)] - Create ZIP files and unpack ZIP files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135565 ZIP (by joakim)] - ZIP STRUCTS UDF (from scratch).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87284 ZLib (by monoceres)] - Based on ZLib.dll. It can compress/uncompress data in memory, it doesn&#039;t work with files.&lt;br /&gt;
&lt;br /&gt;
== Encryption and hash ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81332 _Base64Encode, _Base64Decode (by trancexx)] - Fast _Base64Encode, _Base64Decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153246 Base91 and Base128 (by Beege)] - Base91 and Base128 functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155538 Codecrypter (by RTFC)] - Encrypt scripts without placing the key inside the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=201002 Cryptography API: Next Gen (by TheXman)] - Microsoft&#039;s long-term replacement for their CryptoAPI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210901 Enigma (by willichan)] - Simple encryption based on the Enigma Machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203990 GDPR (by mLipok)] - Functions to encrypt/decrypt strings and files with the GDPR in mind.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95558 Hashes for files (by trancexx)] - Fast RC32, MD4, MD5, SHA1 calculation for big files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107784 TrueCrypt (by FuryCell)] - TrueCrypt UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140737 WinTrust (by kasty)] - verify the integrity of a file with its embedded signature or a given catalog.&lt;br /&gt;
&lt;br /&gt;
== GUI Additions ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast (by genius257)] - Native Win8+ toast notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97241 3D Pie chart (by WideBoyDixon)] - 3D Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173924 Chart_UDF (by Kanashius)] - This UDF can be used to Display bar charts in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96258 ContextHelp (by Yashied)] - Management of context help ([https://www.autoitscript.com/forum/index.php?showtopic=72152-contexthelp/ original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211475 DarkMode (by NoNameCode)] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109096 ExtMsgBox (by Melba23)] - A very customisable replacement for MsgBox.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx (by BugFix)] - Another kind of group, versatile changeable.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105582 GUICtrlOnChangeRegister (by Mat)] - Call a function when an edits content is changed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme (by WildByDesign)] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145149 GUIExtender (by Melba23)] - Expand and contract sections of your GUI ([https://www.autoitscript.com/forum/index.php?showtopic=117909 original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197654 GuiFlatButton (by kurtykurtyboy)] - Change colors of regular buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119505 GUIFrame (by Melba23 &amp;amp; Kip)] - Divide a GUI into adjustable frames.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=144207 GUI Panel (by FireFox)] - Manage child GUIs as panel ctrls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113723 GUI Scrollbars (by Melba23)] - Automatically sized scrollbars with a single command.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161184 MetroGUI (by BBs19)] - Windows 10 style buttons, toggles, radios etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 Modern tray menu (by Holger)] - Allows the creation of modern, fancy GUI and tray menus with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194693 MTSkin (by Taskms4)] - Simply create modern looking GUIs (borderless GUI, Interactive menu panel (with mouse-over detection), a bunch of skins).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182136 Notifications (by S3cret91)] - Display permanent desktop notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=136149 Notify (by Melba23)] - Small notifications on the edge of the display.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161750 Pie chart (by Andreik)] - Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75429 Real Vista Aero Glass (by James)] - Real Vista Aero Glass UDF - you can apply glass effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF (by Nine)] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=71811 SetOnEvent (by martin)] - Provides an easy way for an event to call functions with parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=103871 _SysTray (by wraithdu)] - Get info about and manipulate Systray icons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108445 Toast (by Melba23)] - Small message GUIs which pop out of the Systray.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110003 Tray Icon Bar Graph (by BeeGee)] - Creates a scrolling bar graph as the tray icon.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=132864 Uskin (by JScript)] - Allows you to skin your GUI using the Windows &#039;&#039;.MSstyles&#039;&#039; files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191821 Wi3SMenu (by NHD)] - Create a slide menu with Windows 10 style. Supports color, icon and opacity.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129196 WinSnap (by Beege)] - Automatic Window Alignment by applying that &amp;quot;snappy edge&amp;quot; effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32494 XSkin (by Valuater)] - Allows skinning of your GUI and to apply custom skins.&lt;br /&gt;
&lt;br /&gt;
=== Controls ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202529 BrowseForFolder (by MrCreatoR)] - Handle SHBrowseForFolderW with more options, such as multi selection (checkboxes), window position, controls text and more. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=146406 Calendar (by jmon)] - Calendar UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125293 ChooseFileFolder (byMelba23)] - Single and multiple selections from specified path treeview listing.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96464 Colorpicker (by Yashied)] - Create a button for the user to select a color.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker (by Nine)] - Date Range Picker Control.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=123409 Explorer Frame UDF (by Beege)] - Takes any frame created by GUIFrame and turns it into a MS-Windows like Explorer window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview (by Kanashius)] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173929 GDIPlus Slider UDF (by Kanashius)] - This UDF can be used to create a slider with an imagebackground and an image to move.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=79412 Graph control (by andybiochem)] - Easily create and show bar chart and line charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104399 GraphGDIPlus UDF (by andybiochem)] - Easily create and show bar chart and line charts with GDI+ to take advantage of double-buffering.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105682 GUICtrlCreateFinder (by Mat)] - Allows you to create a window finder control like the one seen in AutoIt Window Info.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107965 GUIHotkey (by Mat)] - UDF for using native hotkey controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182492 GUIListViewEx (by Melba23)] - Insert, delete, move, drag, sort, edit and colour ListView items.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111438 GUIPager (by Mat)] - Create and control native pager controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 GUI/Tray Menu (by Holger, LarsJ, AZJIO)] - GUI/Tray Menu with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166594 GUITreeViewEx (by Melba23)] - Check/clear parent and child checkboxes in a TreeView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=90598 Hotkey input control (by Yashied)] - Hotkeys Input Control UDF Library (Non-native).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173932 ListView Edit UDF (by Kanashius)] - This UDF can be used to simply edit an Listview.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109355 ListView - Explorer like ListView UDF (by Beege)] - This UDF simplify creating MS Explorer-like ListViews.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143711 Marquee (by Melba23)] - Make tickertape info bars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143380 Predict Text UDF (by PhoenixXL)] - Sub classes the edit control and matches the current word through the Database &amp;amp; sets selection in accordance.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163939 Progressbar new style (by Muzaiyan)] - New styles for your progress bar.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74649 Progressbar with GDIplus (by ProgAndy)] - You even can use full textured images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151636 RestrictEdit_SRE UDF (by PhoenixXL)] - Restrict the text that can be entered in an editbox through a String Regular Expression.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128242 Ribbon (by trancexx)] - UDF for Windows Ribbon framework.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114034 StringSize (by Melba23)] - Automatically size controls to fit the text you want to put in them.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126958 Syslink (by Yashied)] - Provides a convenient way to embed hypertext links in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105814 Table (by andybiochem)] - Table UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211024 Toggle Button (by Andreik)] - Create simple toggle buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125251 TVExplorer (by Yashied)] - Allows to create TreeView (TV) Explorer controls that display a tree of files and folders.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=190659 Virtual Listview (by LarsJ)] - Virtual Listview for large amounts of data with a large number of rows.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195053 Windows Message Monitor (by LarsJ)] - Monitor Windows Messages of a window or control.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118317 Battery UDF (by Yashied)] - Retrieves various information and current status of the battery(s).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154727 BuildPartitionTable (by RTFC)] - Scans a physical drive&#039;s partition table and returns a partition_table, allocation_table and volumes_table.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155674 CommAPI (by therealhanuta)] - Serial and parallel communication (COM port, RS-232, LPT port) - without installing DLL&#039;s (using Windows API calls).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77731 Device Management (by weaponx)] - Device Management API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97487 DirectShow (by monoceres)] - DirectShow UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164700 DirectSound (by eukalyptus)] - DirectSound UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164701 Direct2D (by eukalyptus)] - Direct2D UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99713 Drive Info (by NerdFencer)] - Gathers drive info for Hard Drives, Disk Drives, and Floppy Drives.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138989 FritzBox (by Allow2010)] - _FB_Tools - manage your FritzBox from Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121084 I/O Port Functions (by Ascend4nt)] - Input/Output UDF for interacting with ports (x64 Parallel Port, Keyboard etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203207 MediaDevice (by Danyfirex)] - Transfer files to portable devices like phones, storages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php=showtopic=213296 Monitor (by Trong)] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154350 Monitor Configuration (by jaberwacky)] - Monitor Configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155469 Mouse (by AlmarM)] - AutoIt powered mouse events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=147325 MouseTrapEvent (by ozmike)] - MouseTrapEvent UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149083 NetInfo (by Nessie)] - UDF for test internet download speed and upload speed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155539 Network configuration (by jguinch)] - Network configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182684 Nitgen (by Jefrey)] - UDF to work with Nitgen fingerprint readers that use NGenBio SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210968 Printer Manager (by Nine)] - Manage printers with winspool.drv DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155485 Printers management with WMI (by jguinch)] - Add/delete printer, driver, port, or obtain configuration, set default printer ...&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=189190 Serial port UDF / COM port UDF (by MazeM)] - It is very similar to CommAPI using kernel32.dll, but all code is packed into a single file without any dependencies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128546 Serial Port/COM (by martin)] - Serial Port /COM Port UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27755 SMARTDRIVE (by ptrex)] - SMART drive Analysis.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158640 SPI Hardware Interface (by Blinky)] - Communicate with the MAX335 chip using the SPI protocol via the LPT (printer) port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=8188 VISA/GPIB (by Angel)] - VISA/GPIB library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68866 Webcam (by LIMITER)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70857 Webcam (by ludocus)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91018 WiFi (by MattyD)] - Low level control over your wireless LAN.&lt;br /&gt;
&lt;br /&gt;
== Information gathering ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29404 Computer information (by JSThePatriot)] - A general purpose library to get various details about a Windows machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151920 NetworkStatistics (by Ascend4nt)] - Network Interface Info, Statistics, and Traffic.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=54039 WinPcap (by JRSmile)] - Wrapper for the windows packet capture library WinPcap.&lt;br /&gt;
* [https://opensource.grisambre.net/pcapau3/ WinPcap (by Nicolas Ricquemaque)] - A library to access the main functionalities offered by the WinPcap driver.&lt;br /&gt;
&lt;br /&gt;
== Internet protocol suite ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207859 cURLX64 (by Beege)] - cURL UDF with x64 support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=137456 cURL (by seangriffin)] - A UDF for transferring data with URL syntax.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187718 HTTP lib (by Jefrey)] - HTTP lib (GET, POST and upload) UDF to simplify HTTP requests, mainly when dealing about POST data or file uploads.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202895 HttpApi (by TheXman)] - HTTP Server API enables applications to communicate over HTTP without using MS Internet Information Server (IIS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=40243 IMAP (by mikeytown2)] - IMAP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108422 IMAP4 (by Tipulatoid)] - IMAP4 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=43515 IRC (by McGod)] - A lightweight library for communicating with IRC servers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159285 IRC (by rcmaehl)] - IRC UDF - Updated Version of Chips&#039; IRC UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=22838 POP3 (by Apzo)] - POP3 library for retrieving email messages. Not compatible with Gmail because it uses SSL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167339 POP3 (by mLipok)] - POP3 UDF According to the 1939 RFC, modified version with Quoted Printable decoder.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154530 Prowl (by mrflibblehat)] - Push notifications to iPhone, iPod touch or iPad using Prowl (Growl client for iOS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138095 SFTP (by Lupo73)] - UDF to support SFTP protocol using PSFTP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154054 Socket UDF (by funkey)] - Socket UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=23860 SMTP (by Jos)] - Smtp Mailer That Supports Html And Attachments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167292 SMTP Mailer UDF (by mLipok)] - Smtp Mailer That Supports Html And Attachments - Modified Version with support to save EML files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81687 SNMP (by enaiman)] - SNMP_UDF for SNMPv1 and SNMPv2c.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP (by MattyD)] - SNMP UDF SNMPv1 and SNMPv2c. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70759 SNMP - MIB protocol (by ptrex)] - Reading toner status from SNMP device with WMI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166579 SSH (by jeanphile)] - Use the SSH protocol very easily in your code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185329 STUN (by j0kky)] - STUN is a protocol that permits you to know your external IP but, more interesting, your external port associated to your internal port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184817 SyslogSend (by Irios)] - This allows sending (BSD) messages to a syslog server using UDP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169774 TCPServer (by Jefrey)] - Multi client, event-based, able to bind console app to socket.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=57022 UPnP Protocol (by ptrex)] - UPnP - Read and Control your devices in side out.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=84133 WinHTTP (by trancexx)] - Access the HTTP protocol for creating GET and POST requests and submitting them with conforming standards, cookies not supported.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77503 WinInet (by -Ultima-)] - Access standard Internet protocols (FTP, Gopher and HTTP). Supports GET/POST requests and cookies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181645 Winsock (by j0kky)] - Create client/server application using native winsock functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF (by Trong)] - TCP/UDP Networking Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191954 WSA_NBTCP (by ripdad)] - Windows Sockets API - Non-Blocking Transmission Control Protocol.&lt;br /&gt;
&lt;br /&gt;
== Maths ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment (By AsprininJunkie)] - Least Squares Adjustment.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170658 Advanced Math UDF (by scintilla4evr)] - Advanced mathematical functions (primes, number sequences, interpolate, calculate values of functions like Riemann zeta etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=102686 Advanced rounding (by Mat)] - Support for different measures of accuracy and 8 ways to resolve tie breaks.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83529 Big number (by eukalyptus)] - Make calculations with extremely large numbers that AutoIt normally is not able to support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106551 Decimal To fraction (by Malkey)] - Converts any decimal number to a fraction. Example: 1.2 to 6/5.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162921 Eigen4AutoIt (by RFTC)] - Allows to perform fast matrix operations on large numerical data sets, and much more ....&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra (by AspirinJunkie)] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140789 MathsEx UDF (by PhoenixXL)] - Functions for Carrying Out More Advanced Mathematical Calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81189 Number base conversion (by james3mg)] - From, to and between positive bases less than 63 (decimals supported).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117156 NumToWord (by Mat)] - Convert numerals to a human readable string.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108803 Polynomials (by Mat)] - Functions for using polynomials.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83091 Primes (by jennico)] - Many functions dealing with prime number generation and calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94770 Roman Numerals (by AZJIO)] - Roman Numerals.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98160 Root function (by Mat)] - Working out real roots of numbers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209527 Stat (by AspirinJunkie)] - Statistics for Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163899 StringAPL (by minx)] - inline APL interpreter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=82722 Trigonometric and math functions (by trancexx)] - _ATan2(), _Cosh(), _Frexp(), _Hypot(), _Ldexp(), _Logb(), _Sinh(), _Tanh().&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95357 FreeImage library (by ProgAndy)] - Various operations on images, such as rotate, resize, flip.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll (by Trong)] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127263 HtmlHelp (by Geodetic)] - HtmlHelp functions for context-sensitive help from CHM (compiled HTML) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116009 HyperCam (by seangriffin)] - HyperCam (Screen Recording) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182535 HyCam2 (by willichan)] - Automation for HyCam2 screen recording utility.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50608 OCR (by ptrex)] - Real OCR in AU3 - MODI with MS Office 2003.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=89542 OCR (by seangriffin)] - Tesseract (Screen OCR) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206133 OCRSpace (by MrKm)] - Convert Images to text with the OCRSpace API. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51054 Printer controller (by martin)] - Print text in any font, size and colour at any position on the page, draw lines, curves, elipses, pies in any colour, and print images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73993 Printing (by GRS)] - Printing from AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202621 QRCreator (by BugFix)] - Simple QR-code creation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161831 RTF_Printer (by mLipok)] - Printing RichEdit in the background.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94834 Simple DirectMedia Layer (by AdmiralClaws)] - Adds support for joysticks, CDs, 2D graphics, timers. See [https://www.libsdl.org/ SDL website] for more information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207324 UWPOCR (by Danyfirex)] - Universal Windows Platform Optical Character Recognition API.&lt;br /&gt;
&lt;br /&gt;
===Graphics and image===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202987 AutoYolo3 (by smartee)] - Real-Time Object Detection using YOLOv3 wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113881 au3Irrlicht2 (by JRowe)] - Combining Irrlicht and AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86748 AVI writing udf (by monoceres)] - Create uncompressed avi&#039;s from bitmap files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27362 Bitmap Library (by evilertoaster)] - Bitmap Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202663 GIF animation (by Nine)] - Fast cached GIF animation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150231 GTK+  (by prazetto)] - GTK+ Framework | Widgets.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=13096 ImageGetInfo (by Lazycat)] - Read info from JPEG, TIFF, BMP, PNG and GIF - size, color depth, resolution.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/471-image-search-udf Image Search (by VIP)] - Search for an image on the desktop. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70506 IrrLicht (by A. Percy)] - A 3D graphics engine suitable for creating games.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160732 OpenCV (by myliseJ)] - UDF for the OpenCV library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206432 OpenCV v4+ (by smbape)] - OpenCV UDF with support for OpenCV v4+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151011 OpenGL (by LarsJ)] - OpenGL without external libraries etc. For JPEG files it also retrieves various Exif information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148129 OpenGL (2.0) (by minx)] - New set of UDFs for OpenGL + AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152950 S3D (by Starg)] - Draw simple 3D graphics with GDI+.&lt;br /&gt;
&lt;br /&gt;
===Players===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114143 VLC (by seangriffin)] - VLC (Media Player) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91316 VLC Media Player (by ptrex)] - VLC Media Player.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27352 WMP (by ConsultingJoe)] - Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44008 WMP - Media Controls (by CFire)] - Another Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203154 WMP - GUI Control (by SudeepJD)] - IE based WMP Control.&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83481 BASS Function Library (by BrettF)] - Sound and Music via wrappers for Bass, BassEnc, Bass FX, BassSFX, BassAsio and BassCd DLLs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173808 libZPlay (by Danyfirex)] - Multimedia library for playing mp3, mp2, mp1, ogg, flac, ac3, aac, oga, wav and pcm files and streams.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=37072 MIDI (by eynstyne)] - MIDI UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208116 MIDI (by MattyD)] - Wrap of the Windows MIDI functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114742 SAPIListBox (by seangriffin)] - SAPIListBox (Speech Recognition) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=100439 TTS (by Beege)] - Text-to-Speech UDF.&lt;br /&gt;
&lt;br /&gt;
== PDF ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162195 Acrobat Reader - ActiveX Viewer (by mLipok)] - Make your own PDF Viewer GUI with Acrobat Reader ActiveX COM Object &amp;quot;AcroPDF.PDF.1&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164469 Debenu PDF Viewer SDK (by mLipok)] - A collection of functions to display PDF files in your applications using Debenu PDF Viewer SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160875 Debenu Quick PDF Library (by mLipok)] - A collection of functions for Debenu Quick PDF Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75832 FoxIt Reader (by ptrex)] - PDF Reader in AU3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118827 MPDF (by taietel)] - Create PDF from your application.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=42776 PDFCreator (by ptrex)] - Automation of PDFCreator allows you to create and manipulate PDF files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170550 PDFCreator (by mLipok)] - UDF for PDFCreator v1.x.x with working EVENTs Handler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32261 _StringToPDF (by Tam0r)] - Write a string to a PDF file and specify font size, type etc.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145158 Firewall (by JLogan3o13)] - Control and manipulate the Windows Firewall (enable/disable, Exclusions list, enable/disable ports etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194015 Firewall policy2 (by Bilgus)]- Provides access to the firewall policy for Windows Vista+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150819 VirusTotal (by Danyfirex)] - VirusTotal API 2.0 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred (by DonChunior)] - Interface to the Windows Credential Management API.&lt;br /&gt;
&lt;br /&gt;
== Social Media and other Website API ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159254 Cex.io (by AquilesCrespo)] - UDF script for using with the web api from https://cex.io/ server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169333 CrowdinAPI (by mLipok)] - Uses the [https://crowdin.com/page/api crowdin.net website API] for some functions (create projects, add and update files, download translations or integrate localization).&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/290-dropbox-authenticator/ Dropbox authenticator (by Gimerly)] - Dropbox authenticator.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158106 Easypost (by dcat127)] - Print USPS Postage Labels.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114801 eBay (by seangriffin)] - eBay UDF (functions GetItemStatus and GetSingleItem from the &amp;quot;Shopping API&amp;quot;).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=141340 Gmail (by PhoenixXL)] - Remote Gmail (UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192422 Gmail API (by Ascer)] - Automate communication with Gmail using oAuth 2.0 security. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98504 Google Functions (by Beege)] - Google Functions (Suggestions, Definitions, Translate, Convert).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=115437 Google Maps (by seangriffin)] - Google Maps UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70675 iTunes (by torels)] - iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101802 iTunes (by Beege)] - Another iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150985 No-IP (by Nessie)] - Simply update your no-ip hostname(s) and retrieve the ip address of an no-ip address.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192391 oAuth (by Ascer)] - Open standard for access delegation, commonly used to grant websites or applications access to other websites.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150838 PasteBin (by mrflibblehat)] - Pastebin UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121767 Skype (by FireFox)] - Skype4COM provides an ActiveX interface to the Skype API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113234 Teamspeak 3 (by chipDE)] - Teamspeak 3 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186944 TeamViewer API (by mLipok)] - A collection of function for use with TeamViewer API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186381 Telegram Bot (by LinkOut)] - UDF for [https://core.telegram.org/api Telegram messenger API].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166547 TVmaze.com API (by BBs19)] - TVmaze.com API UDF (TV-Series).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116600 Twitter (by seangriffin)] - Manage Twitter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149247 Yahoo Weather (by Nessie)] - Yahoo Weather API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112775 Youtube Uploader (by BrettF)] - AYTU - AutoIt Youtube Uploader.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50880 ACL (by ptrex)] - Set ACL on windows Objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134508 ACL (by FredAI)] - Do most everything with the DACL and ownership on all types of objects: Files or folders, Registry keys, services, Kernel and WMI objects, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206400 BITS (by DonChunior)] - Background Intelligent Transfer Service to download files from or upload files to HTTP web servers and SMB file shares.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184937 CertUtil (by mLipok)] - Wrapper for windows certutil.exe (command-line program that is installed in Windows as part of Certificate Services).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113560 FileSystemMonitor (by seangriffin)] - Monitors the file system by recording all file system events occurring within a given path.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111018 ITaskBarList (by Beege)] - ITaskBarList UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74118 Local account (by engine)] - Manage local accounts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161193 Magnifier Functions (by Ascend4nt)] - Exposes most of the useful Magnifier API functions available since Windows Vista.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75250 Registry (by engine)] - Windows Registry UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50551 Registry (by seanhart)] - RegWriteAllUsers / RegDeleteAllUsers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=80201 Service (by arcker)] - Build your own service with AutoIt code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124508 Startup (by guinness)] - Create Startup entries in the Startup Folder or Registry.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164756 SCCM (by JLogan3o13)] - Systems Center Configuration Manager Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134628 System restore (by FredAI)] - System restore UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186111 SubstWrapper (by mLipok)] - Wrapper for windows subst.exe command - (Associates a path with a drive letter).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135994 Taskplanner/Taskscheduler COM (by Allow2010)] - an UDF for using the Windows Taskplaner / Task Scheduler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83355 Task Scheduler (by dbzfanatic)] - Task Scheduler UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200068 TaskScheduler (by water)] - Brushed up Task Scheduler UDF. Link to the [[TaskScheduler|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173934 TTS (by Kanashius)] - Used with SAPI Automation Object - text-to-speech (TTS) engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158377 UAC (by AdamUL)] - User Account Control (UAC) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=175719 Utter (by Surya)] - Utilizing more of SAPI (Speech Recognition UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127075 WIMGAPI (by Homes32)] - Manipulate Windows Image Files (.wim) without ImageX.exe.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=28436 Windows Events (by Emperor)] - Create your own Windows events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=6487 Windows Service Control functions (by SumTingWong)] - Some limited functions to control services (create, start, stop, delete, check ...).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81880 Windows Services (by engine)] - Windows Services UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212222 WinRT Libraries (by MattyD)] - Libraries to access WinRT Objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163178 WRMF (by Luigi)] - WRMF - Windows Registry Monitor Call Function.&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/topic/178871-dllcall-with-c-example/#comment-1285754 SMSApi (by mLipok)] - UDF for SMSAPi which provides SMS services. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/index.php?showtopic=178589 BulkSMS (by Skysnake)] - UDF for BulkSMS which provides SMS services. --&amp;gt;&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145099 _AdlibEnhance (by JScript)] - Enhance Adlib to call functions with parameters, pause and resume.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160936 Android (by Moriba)] - Control any Android device.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97826 Animated tray icons (by Yashied)] - Make animated tray icons easily.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163577 Atom Table (by Ascend4nt)] - Store (add, find, delete, and query) strings locally (at program level) or globally (at OS level) with unique numerical identifiers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170087 Barcode generators (by willichan)] - Creates a Code128A/B/C or Creates a Code39 or Code39Extended optimized barcode from supplied data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211660 BlockInput (by Nine)] - Block all input coming from mouse and/or keyboard, without having an UAC warning displayed. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87735 BlockInputEx (by MrCreatoR)] - Supports a few features that built-in BlockInput() function does not.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29763 Clipboard (by eltorro)] - When apps need to watch the clipboard.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170630 ClipboardEx (by ozmike)] - Allows to have more than 1 item in the Clipboard. Handles all data types, not just text.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81267 Clipboard History (by wraithdu)] - Save and restore the entire clipboard contents. Inspired by AHK&#039;s ClipboardAll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169610 CmdLine (by Jefrey)] - Collection of functions to parse command line arguments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126569 Console (by Shaggi)] - Functions and features to work wiht Console input/output.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121833 Copy (by Yashied)] - Copy or move files and directories without suspending your script. Retrieve the current state (copied bytes, error code etc.) while copying.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154684 Date / Time convert (by Melba23)] - Transform date/time formats.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99106 _DLLStructDisplay (by Ascend4nt)] - Show Struct in ListView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157689 _FileGetMimeType (by Wiliat87)] - Retrieve MIME types based on the extension of the filename/filepath/URL provided.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117033 File locking with cooperative semaphores (by willichan)] - Simple file locking without a server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157241 FindMimeFromData (by twbradio)] - FindMimeFromData using urlmon.dll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181997 Font Icon (by J2TeaM)] - Use Font Awesome in your AutoIt project.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68422 HotString (by jvanegmond)] - Similar to the HotKey function but trigger on a string, instead of a key or key combination.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173946 LASM - Light Assembler (by minxomat)] - Inline UDF for an Assembler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161628 LFN (by orbs)] - Overcome MAX_PATH limit of 256 chars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111492 Link Grammar for AutoIt (by JRowe)] -  Input is a regular sentence in English, German or Italian, output is a pattern parsed from the structure of the sentence.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/147-mruau3 MRU (by Yashied)] - Most Recently Used (MRU) List Automation functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188158 .NET Common Language Runtime (CLR) Framework (by Danyfirex, Junkew, Larsj, ptrex, Trancexx)] - Allows AutoIt to access .NET Class Libraries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101733 NoFocusLines (by Melba23)] - Remove the dotted focus lines from buttons, sliders, radios and checkboxes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149176 NotifyIcon (by FireFox)] - Create, delete and manage self notify icons (formerly TrayIconEx). &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=63318 PixelGetColor (by Manadar)] - Get or Read Pixel from memory.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167024 RDC (by Yashied)] - ReadDirectoryChanges Wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51103 Resources (by Zedna)] - Embed any binary data into your AutoIt compiled EXE files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162499 ResourcesEx (by guinness)] - Up to date version of Zedna&#039;s Resources UDF. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111215 Restart (by Yashied)] - Allows to restart a script from any location with full restoration of the original command line parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51547 SciLexer (by Kip)] - Editing control, supports multiple editors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152093 ScriptEditor (by pandel)] - ScriptEditor with I18N support and customizable lexer completely written in AutoIt (based on SciLexer).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162033 Spell Checker (by iCode)] - Spell Checker functions to call Hunspell, Hyphenate and MyThes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164444 Synology filestation (by nend)] - Functions to interact with a Synology NAS server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163328 TimeConvert (by orbs)] - Convert UTC to/from local time, and/or reformat the string representation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint (by UEZ)] - Creating barcodes using the Zint.dll.&lt;br /&gt;
[[Category:UDF]]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15298</id>
		<title>User Defined Functions</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15298"/>
		<updated>2026-05-14T08:25:26Z</updated>

		<summary type="html">&lt;p&gt;Water: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
This page is a listing of libraries of &#039;&#039;&#039;user defined functions&#039;&#039;&#039; (UDF). These libraries have been written to allow easy integration into your own scripts and are a very valuable resource for any programmer.&amp;lt;br /&amp;gt;&lt;br /&gt;
This list is probably not complete (410 UDFs on 2026-05-14), but constantly supplemented.&lt;br /&gt;
If you do not find a solution here, ask a new question on the [https://www.autoitscript.com/forum/forum/2-general-help-and-support/ forum].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
The listed UDFs might have been written for older versions of AutoIt. So there is no guarantee that every UDF works smoothly with newer versions.&amp;lt;br /&amp;gt;&lt;br /&gt;
None of the UDFs has been tested by the maintainers of this list so you as a user need to make sure that they deliver the expected results.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;When will an UDF be added to this list?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
It should meet all/most of the general requirements for UDFs as described [[UDF-spec|here]].&amp;lt;br&amp;gt;&lt;br /&gt;
In addition the following requirements should be met:&lt;br /&gt;
* &#039;&#039;&#039;Documentation&#039;&#039;&#039;: So users can tell what the UDF is intended to do (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Examples&#039;&#039;&#039;: So users can get an idea how to use the UDF. The more the better (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Operating systems&#039;&#039;&#039;: Should support the latest Microsoft OS (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;AutoIt&#039;&#039;&#039;: Should support the latest version of AutoIt (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Author&#039;&#039;&#039;: The author should still be active on the forum so he can reply to questions (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What to do when one of your UDFs is missing?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please send a [https://www.autoitscript.com/forum/messenger/compose/?to=7903 PM] to user water. Add a short description of the UDF and a link to your post in the [https://www.autoitscript.com/forum/forum/9-autoit-example-scripts/ Example Scripts] or [https://www.autoitscript.com/forum/forum/49-autoit-projects-and-collaboration/ Projects and Collaboration] forum.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Added in the past two years&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date !! Section !! Creator !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-14 || [[User_Defined_Functions#Windows|WinRT Libraries]] || MattyD || [https://www.autoitscript.com/forum/index.php?showtopic=212222 WinRT Libraries] - Libraries to access WinRT Objects.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-07 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || MattyD || [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP UDF] - SNMPv1 and SNMPv2c.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-01 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment] - Least Squares Adjustment.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-04-01 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || WildByDesign || [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-10 || [[User_Defined_Functions#Inter_Process_Communications|Inter Process Communications]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC] - Inter Process Communication using TCP/IP.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-09 || [[User_Defined_Functions#Browsers|Browsers]] || ioa747 || [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt] - Integrate WebView2 into AutoIt via COM. &lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-19 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF] - TCP/UDP Networking Library.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || BugFix || [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx] - Another kind of group, versatile changeable.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-16 || [[User_Defined_Functions#Security|Security]] || DonChunior || [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred] - Interface to the Windows Credential Management API.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || genius257 || [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast] - Native Win8+ toast notifications.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Media|Media]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Hardware|Hardware]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213296 Monitor] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-09-22 || [[User_Defined_Functions#Misc|Misc]] || UEZ || [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint] - Creating barcodes using the Zint.dll.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-07-27 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || DXRW4E || [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-04-16 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || seangriffin || [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-03-22 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-02-26 || [[User_Defined_Functions#Controls|Controls]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-16 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Gianni || [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask] - Easily run and manage many processes.&lt;br /&gt;
|- &lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || NoNameCode || [https://www.autoitscript.com/forum/index.php?showtopic=211475 Darkmode] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Network_Guy || [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-11 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || t0nZ || [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog] - Logs made easy.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || argumentum || [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-21 || [[User_Defined_Functions#Controls|Controls]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker] - Date Range Picker Control.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-06 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place the Table of contents (TOC) here --&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Automation ==&lt;br /&gt;
&lt;br /&gt;
===Browsers===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154439 Chrome (by seangriffin)] - Automate the most common tasks in Chrome with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95595 Firefox (by Stilgar)] - A little less support for automation than IE, but still very good.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167661 Firefox (by Danp2)] - Modified newer version of Stilgar Firefox UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/224-firefox-profile-backup/ FireFox Profile Backup 1.0 (by careca)] - Backup or restore your firefox profile. The application searches for the profile in home drive that will be the one to backup.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _FF_AutoLogin (by Stilgar)] - This is a auto-login function and login-function-generator for FireFox and the FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92035 _FF_DM (by Stilgar)] - UDF to control the FireFox Download-Manager (not the download-window).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91650 _FF_FoxBox (by Stilgar)] - UDF to control Fox!Box (A Mozilla Firefox extension for the AVM FRITZ!Box) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91665 _FF_Screengrab (by Stilgar)] - UDF to control Screengrab! (FireFox-AddOn) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _HTML (by Stilgar)] - Get informations from any HTML (XML) source, without any browser.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166542 HTMLDocumentEvents (by SmOke_N)] - Track IE document events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167035 IEEx (by SmOke_N)] - IE extended library with some Javascript options.&lt;br /&gt;
* Internet Explorer (by DaleHohm et al.) - IE library that is now supplied with a standard AutoIt install.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153520 IUIAutomation MS framework (by junkew)] - IUIAutomation MS framework to automate chrome, FF, IE etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149203 NavInfo (by Nessie)] - With this UDF you can check if a specified browser/software is installed and which version is being used.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=61090 Opera (by MrCreatoR,)] - Automate the most common tasks in Opera with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191990 WebDriver (by Danp2)] - W3C compliant Webriver UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt (by ioa747)] - AutoIt WebView2 Component (COM Interop).&lt;br /&gt;
&lt;br /&gt;
===Microsoft Office===&lt;br /&gt;
Some features of Microsoft&#039;s Office products are proprietary and cannot readily be manipulated.  Sometimes workarounds are required.&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;[[Known issues with Microsoft Office automation.|This page]]&amp;lt;/u&amp;gt; is dedicated to identifying those issues, provide explanations and list solutions or workarounds.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32144 Microsoft Office Access (by randallc)] - Automate Microsoft Access.&lt;br /&gt;
* Microsoft Office Excel (by water et al.) - This UDF is included in AutoIt. Link to the [[Excel_UDF|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135312 Microsoft Office Excel Charts (by water, GreenCan)] - Creating charts using Microsoft Excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204034 Microsoft Office Excel Pivot Tables (by SudeepJD)] - Create and Update Excel Pivot Tables and Charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126305 Microsoft Office Outlook (Items) (by water)] - Automate Microsoft Outlook Items. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202451 Microsoft Office Outlook (GUI) (by water)] - Automate Microsoft Outlook GUI. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197346 Microsoft Office Outlook Tools (by water)] - Built on top of the OutlookEX UDF it offers some often needed extended functionality (import/export ics/vcf files etc.). Link to the [[OutlookTools|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50254 Microsoft Office PowerPoint (by Toady)] - Automate Microsoft PowerPoint.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=178783 Microsoft Office PowerPoint (by water)] - Automate Microsoft PowerPoint. Link to the [[Powerpoint|documentation]] pages.&lt;br /&gt;
* Microsoft Office Word (by water et al.) - This UDF is included in AutoIt. Link to the [[Word_UDF|documentation]] pages.&lt;br /&gt;
&lt;br /&gt;
===OpenOffice/LibreOffice===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210514 LibreOffice Suite (by donnyh13)] - A huge list of functions for LibreOffice Base, Calc and Writer. Link to the [[LibreOffice|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151530 OOo/LibO Calc (by GMK)] - OpenOfficeCalc UDF (works also for Libre Office).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185932 OpenOffice/LibreOffice Spell Checker (by GMK)] - Function to validate words, and show spell alternatives.&lt;br /&gt;
&lt;br /&gt;
===Other Applications===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106163 Active Directory (by water)] - Extensive library to control and manipulate the Windows active directory ([https://www.autoitscript.com/forum/files/file/355-ad-active-directory-udf/ Download]). Link to the [[Active_Directory_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87956 Java (by seangriffin)] - Creates an access bridge between your application and a Java application. Allowing you to automate some Java applications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86574 SAP (by seangriffin)] - SAP business management automation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149540 SAPWizard (by ozmike)] - SAPWizard UDF.&lt;br /&gt;
&lt;br /&gt;
== Script Coding/Analyzing/Debugging ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209528 ArrayCombinations (by AspirinJunkie)] - Different ways of composing elements of a set.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155442 ArrayMultiColSort (by Melba23)] - Function to sort a 2D array on several columns.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209523 ArrayPlus (by AspirinJunkie)] - Functions for flexible Array handling (create, extract, rebuild, sort, filter, find, print)&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180467 ArrayWorkshop (by czardas)] - Multidimensional array functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=59174 Associative array functions (by Nutster)] - Manage a version of associative arrays in single AutoIt variables. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=198929 AutoIt error logger (AUERLO) (by user4157124)] - File- and stdout (etc.) output of messages, errors, exit method and -code, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110379 AutoItObject (by ProgAndy and others)] - Brings the Object Orientation programming paradigm to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112879 AutoIt Syntax Highlight (by MrCreatoR)] - Highlights AutoIt v3 syntax code to html/bbcode format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191488 cDebug (by c.haslam)] - Dumps the values of all AutoIt subtypes and expressions including nested arrays, DLL structs and maps.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor (by Nine)] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195882 ErrorLog (by mLipok)] - Logs program activities and errors to different output locations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211718 FuzzyString (by AspirinJunkie)] - Fuzzy string comparison and search in string arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143167 GetOpt (by dany)] - Parse GNU and DOS style command line options similar to getopt().&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog (by t0nZ)] - Logs made easy.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156196 Log4a (by zorphnog)] - Logging library loosely based upon the log4j and NLog libaries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195862 Loga (by Danyfirex)] - Simple logging library to keep track of code with an integrated console.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119032 Log UDF (by Yashied)] - Create a text log files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202832 OnDebugMsgBox (by argumentum)] - Catch the dreaded &amp;quot;AutoIt Error&amp;quot; MsgBox and prettify or hide it.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209529 Set (by AspirinJunkie)] - Provides a set data type and brings the corresponding mathematical functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200660 Variants and Safearrays (by LarsJ)] - Create/access/process Variants and SafeArrays.&lt;br /&gt;
&lt;br /&gt;
=== Inter Process Communications ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202485 AppInteract (by MrCreatoR)] - Reliably pass arrays or other types between processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC (by Kanashius)] - Inter Process Communication using TCP/IP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=205109 AutoItSharedData (by SEuBo)] - Create a shared data storage, a simple AutoItObject-Object, using AutoItObject_Internal.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188991 Autoit-Socket-IO (by tarretarretarre)] - Event driven TCP/IP wrapper inspired by Socket.IO with focus on user friendliness and long term sustainability.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126936 Container (by MrCreatoR)] - Scripts interaction method. Allows to transfer whole arrays as data, and even COM objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=55994 DDEML (by doudou)] - Use your AutoIt script as DDE client or server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193277 FMIPC (by argumentum)] - IPC via FileMapping.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127615 Interprocess (by JScript)] - Remotely execute a function in another script (using Mailslot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193158 IPC_IO (by JohnWIlling)] - IPC library supporting multiple connection types (such as: Named Pipe, File, TCP, SharedMemory, MailSlot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202618 IPC Techniques through ROT Objects (by LarsJ)] - Implementing IRunningObjectTable Interface.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106710 Mailslot (by trancexx)] - IPC using Mailslots.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204734 Overlapped Named Pipe IPC (by Nine)] - Very fast interprocess communication that could be used between VBS or AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169797 Pool - Post Office for Organized Labour (by RTFC)] - Provides multiple AutoIt processes with an infrastructure for exchanging messages, data, and remote-control instructions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202587 WCD IPC (by Nine)] - Framework for Inter Process Communication using Windows Messages WM_COPYDATA.&lt;br /&gt;
&lt;br /&gt;
=== Parallel/concurrent processing ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork (by argumentum)] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186853 _Multiprocess (by jguinch)] - Run several external programs at the same time and retrieve the exit code of each process.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask (by Gianni)] - Easily run and manage many processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking (by Network_Guy)] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT (by Nine)] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
&lt;br /&gt;
== Files, Databases and web connections ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180850 ADO (by mLipok)] - A modifed version of the _SQL UDF to access all kind of databases (MSSQL, MySQL, PostgreSQL, SQLite, MS ACCESS, XLS, TXT, and many other which use ADO and ODBC).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105875 ADODB (by spudw2k)] - ADODB Example.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 AXML (by Aipion)] - This is a Wrapper for Pugixml, made with C++.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145142 DBF (by funkey)] - dBase database read and write with DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/topic/114406-csv-file-to-multidimensional-array/#findComment-799820 CSV (by ProgAndy)] - Read/write CSV files to/from 2D arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197909 CSV (by seangriffin)] - Manipulate CSV files using SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155748 CSVSplit (by czardas)] - Convert to and from CSV format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151116 DIF (by willichan)] - Read/write DIF (Data Interchange Format) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119238 Excel file generation (by jerome)] - Excel file generation (multi-sheet workbook) without the need to have Excel installed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143866 Excel XML (by FireFox)] - Work with SpreadsheetML (Open XML file formats).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155905 EXml (by jdelaney)] - Create Excel file (SpreadsheetML) through &amp;quot;Microsoft.XMLDOM&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116072 EzMySql (by Yoriz)] - Use MySQL Databases with AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148232 _FileGetProperty (by BrewManNH)] - Retrieve properties of a file.Xml2Json&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94920 FireBird (by eltorro)] - FireBird, Interbase DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx (by DXRW4E)] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197421 jq (by TheXman)] - Brings the power and flexibility of jq (an open-source command-line based JSON processor) to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209502 JSON (by AspirinJunkie)] - Interacting with JSON data in AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104150 JSON (by Gabriel13)] - RFC4627 compliant JSON encode/decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148114 JSON (by Ward)] - JSMN - A Non-Strict JSON UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156794 JSON (by ozmike)] - Bridge to Native Windows JSON plus OO extension for AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC (by seangriffin)] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173797 JSONgen (by Jefrey)] - Generate JSON.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127101 MS SQL (by TheLuBu)] - MSSQL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51952 MS SQL (by ChrisL)] - _SQL. ADODB Connection.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20814 MySQL (by cdkid)] - MySQL relational database management system.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85617 MySQL (by ProgAndy)] - MySQL UDFs (without ODBC - working with libmysql.dll).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=122360 MySQL (by James)] - MySQL ODBC Connector.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187223 romaSQL (rynow)] - Built on the concept of Laravel Query &amp;amp; doctrine. Connection string is based on ADODB / ODBC.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143331 Sharepoint 2007/2010 (by schoppet)] - Access the SOAP-Webservices of Sharepoint 2007/2010.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17099 SQLite (by ptrex)] - SQLite is a library that implements a self-contained, embeddable, zero-configuration SQL database engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=142977 SQLite Array Functions (by SmOke_N)] - SQLite Array Functions - a faster method for unique arrays and sorting methods.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140521 SQLite - Database (by PhoenixXL)] - UDF for SQLite so that beginners will also be able to do the stuff.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157853 SQLiteEx (by 57ar7up)] - SQLiteEx UDF v0.5.1 - Simplest work with SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163633 Xbase I/O (by RTFC)] - Transfer data between Xbase Data file (*.dbf) and AutoIt array written in pure AutoIt (no SQL, no ADO, no dlls, no external dependencies).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209526 xlsxNative (by AspirinJunkie)] - Read and write xlsx files without excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=19848 XML DOM Wrapper (by eltorro)] - Supports CRUD operations on XML. Including XSL and XPath.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 XML (by mLipok)] - New version of XML DOM Wrapper, with many new features.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208932 Xml2Json (by TheXman)] - Transform XML to JSON.&lt;br /&gt;
&lt;br /&gt;
== Data compression ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85094 7z, zip, gzip, bzip2, tar (by rasim)] - Extensive library that uses a external DLL that must be provided with the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92958 gZip (by Zinthose)] - Based on the parsing of gZip.exe output. It can work with memory, it doesn&#039;t work with files. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87441 LZMA (by trancexx)] - LZMA (Native Windows).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138838 Package (by Yashied)] - Package UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129529 pZip (by asdf8)] - PureZIP_L library UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=76176 UnRAR (by rasim)] - UnRAR.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17727 XZip (by eltorro)] - Another UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161847 XZip (by mLipok)] - UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44524 Zip plugin (by eltorro)] - Zip plugin.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73425 ZIP (by torels)] - ZIP UDF in pure AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116565 zip (by wraithdu)] - Create ZIP files and unpack ZIP files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135565 ZIP (by joakim)] - ZIP STRUCTS UDF (from scratch).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87284 ZLib (by monoceres)] - Based on ZLib.dll. It can compress/uncompress data in memory, it doesn&#039;t work with files.&lt;br /&gt;
&lt;br /&gt;
== Encryption and hash ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81332 _Base64Encode, _Base64Decode (by trancexx)] - Fast _Base64Encode, _Base64Decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153246 Base91 and Base128 (by Beege)] - Base91 and Base128 functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155538 Codecrypter (by RTFC)] - Encrypt scripts without placing the key inside the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=201002 Cryptography API: Next Gen (by TheXman)] - Microsoft&#039;s long-term replacement for their CryptoAPI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210901 Enigma (by willichan)] - Simple encryption based on the Enigma Machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203990 GDPR (by mLipok)] - Functions to encrypt/decrypt strings and files with the GDPR in mind.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95558 Hashes for files (by trancexx)] - Fast RC32, MD4, MD5, SHA1 calculation for big files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107784 TrueCrypt (by FuryCell)] - TrueCrypt UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140737 WinTrust (by kasty)] - verify the integrity of a file with its embedded signature or a given catalog.&lt;br /&gt;
&lt;br /&gt;
== GUI Additions ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast (by genius257)] - Native Win8+ toast notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97241 3D Pie chart (by WideBoyDixon)] - 3D Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173924 Chart_UDF (by Kanashius)] - This UDF can be used to Display bar charts in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96258 ContextHelp (by Yashied)] - Management of context help ([https://www.autoitscript.com/forum/index.php?showtopic=72152-contexthelp/ original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211475 DarkMode (by NoNameCode)] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109096 ExtMsgBox (by Melba23)] - A very customisable replacement for MsgBox.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx (by BugFix)] - Another kind of group, versatile changeable.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105582 GUICtrlOnChangeRegister (by Mat)] - Call a function when an edits content is changed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme (by WildByDesign)] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145149 GUIExtender (by Melba23)] - Expand and contract sections of your GUI ([https://www.autoitscript.com/forum/index.php?showtopic=117909 original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197654 GuiFlatButton (by kurtykurtyboy)] - Change colors of regular buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119505 GUIFrame (by Melba23 &amp;amp; Kip)] - Divide a GUI into adjustable frames.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=144207 GUI Panel (by FireFox)] - Manage child GUIs as panel ctrls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113723 GUI Scrollbars (by Melba23)] - Automatically sized scrollbars with a single command.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161184 MetroGUI (by BBs19)] - Windows 10 style buttons, toggles, radios etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 Modern tray menu (by Holger)] - Allows the creation of modern, fancy GUI and tray menus with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194693 MTSkin (by Taskms4)] - Simply create modern looking GUIs (borderless GUI, Interactive menu panel (with mouse-over detection), a bunch of skins).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182136 Notifications (by S3cret91)] - Display permanent desktop notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=136149 Notify (by Melba23)] - Small notifications on the edge of the display.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161750 Pie chart (by Andreik)] - Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75429 Real Vista Aero Glass (by James)] - Real Vista Aero Glass UDF - you can apply glass effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF (by Nine)] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=71811 SetOnEvent (by martin)] - Provides an easy way for an event to call functions with parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=103871 _SysTray (by wraithdu)] - Get info about and manipulate Systray icons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108445 Toast (by Melba23)] - Small message GUIs which pop out of the Systray.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110003 Tray Icon Bar Graph (by BeeGee)] - Creates a scrolling bar graph as the tray icon.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=132864 Uskin (by JScript)] - Allows you to skin your GUI using the Windows &#039;&#039;.MSstyles&#039;&#039; files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191821 Wi3SMenu (by NHD)] - Create a slide menu with Windows 10 style. Supports color, icon and opacity.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129196 WinSnap (by Beege)] - Automatic Window Alignment by applying that &amp;quot;snappy edge&amp;quot; effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32494 XSkin (by Valuater)] - Allows skinning of your GUI and to apply custom skins.&lt;br /&gt;
&lt;br /&gt;
=== Controls ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202529 BrowseForFolder (by MrCreatoR)] - Handle SHBrowseForFolderW with more options, such as multi selection (checkboxes), window position, controls text and more. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=146406 Calendar (by jmon)] - Calendar UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125293 ChooseFileFolder (byMelba23)] - Single and multiple selections from specified path treeview listing.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96464 Colorpicker (by Yashied)] - Create a button for the user to select a color.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker (by Nine)] - Date Range Picker Control.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=123409 Explorer Frame UDF (by Beege)] - Takes any frame created by GUIFrame and turns it into a MS-Windows like Explorer window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview (by Kanashius)] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173929 GDIPlus Slider UDF (by Kanashius)] - This UDF can be used to create a slider with an imagebackground and an image to move.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=79412 Graph control (by andybiochem)] - Easily create and show bar chart and line charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104399 GraphGDIPlus UDF (by andybiochem)] - Easily create and show bar chart and line charts with GDI+ to take advantage of double-buffering.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105682 GUICtrlCreateFinder (by Mat)] - Allows you to create a window finder control like the one seen in AutoIt Window Info.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107965 GUIHotkey (by Mat)] - UDF for using native hotkey controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182492 GUIListViewEx (by Melba23)] - Insert, delete, move, drag, sort, edit and colour ListView items.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111438 GUIPager (by Mat)] - Create and control native pager controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 GUI/Tray Menu (by Holger, LarsJ, AZJIO)] - GUI/Tray Menu with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166594 GUITreeViewEx (by Melba23)] - Check/clear parent and child checkboxes in a TreeView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=90598 Hotkey input control (by Yashied)] - Hotkeys Input Control UDF Library (Non-native).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173932 ListView Edit UDF (by Kanashius)] - This UDF can be used to simply edit an Listview.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109355 ListView - Explorer like ListView UDF (by Beege)] - This UDF simplify creating MS Explorer-like ListViews.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143711 Marquee (by Melba23)] - Make tickertape info bars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143380 Predict Text UDF (by PhoenixXL)] - Sub classes the edit control and matches the current word through the Database &amp;amp; sets selection in accordance.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163939 Progressbar new style (by Muzaiyan)] - New styles for your progress bar.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74649 Progressbar with GDIplus (by ProgAndy)] - You even can use full textured images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151636 RestrictEdit_SRE UDF (by PhoenixXL)] - Restrict the text that can be entered in an editbox through a String Regular Expression.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128242 Ribbon (by trancexx)] - UDF for Windows Ribbon framework.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114034 StringSize (by Melba23)] - Automatically size controls to fit the text you want to put in them.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126958 Syslink (by Yashied)] - Provides a convenient way to embed hypertext links in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105814 Table (by andybiochem)] - Table UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211024 Toggle Button (by Andreik)] - Create simple toggle buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125251 TVExplorer (by Yashied)] - Allows to create TreeView (TV) Explorer controls that display a tree of files and folders.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=190659 Virtual Listview (by LarsJ)] - Virtual Listview for large amounts of data with a large number of rows.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195053 Windows Message Monitor (by LarsJ)] - Monitor Windows Messages of a window or control.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118317 Battery UDF (by Yashied)] - Retrieves various information and current status of the battery(s).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154727 BuildPartitionTable (by RTFC)] - Scans a physical drive&#039;s partition table and returns a partition_table, allocation_table and volumes_table.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155674 CommAPI (by therealhanuta)] - Serial and parallel communication (COM port, RS-232, LPT port) - without installing DLL&#039;s (using Windows API calls).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77731 Device Management (by weaponx)] - Device Management API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97487 DirectShow (by monoceres)] - DirectShow UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164700 DirectSound (by eukalyptus)] - DirectSound UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164701 Direct2D (by eukalyptus)] - Direct2D UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99713 Drive Info (by NerdFencer)] - Gathers drive info for Hard Drives, Disk Drives, and Floppy Drives.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138989 FritzBox (by Allow2010)] - _FB_Tools - manage your FritzBox from Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121084 I/O Port Functions (by Ascend4nt)] - Input/Output UDF for interacting with ports (x64 Parallel Port, Keyboard etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203207 MediaDevice (by Danyfirex)] - Transfer files to portable devices like phones, storages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php=showtopic=213296 Monitor (by Trong)] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154350 Monitor Configuration (by jaberwacky)] - Monitor Configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155469 Mouse (by AlmarM)] - AutoIt powered mouse events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=147325 MouseTrapEvent (by ozmike)] - MouseTrapEvent UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149083 NetInfo (by Nessie)] - UDF for test internet download speed and upload speed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155539 Network configuration (by jguinch)] - Network configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182684 Nitgen (by Jefrey)] - UDF to work with Nitgen fingerprint readers that use NGenBio SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210968 Printer Manager (by Nine)] - Manage printers with winspool.drv DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155485 Printers management with WMI (by jguinch)] - Add/delete printer, driver, port, or obtain configuration, set default printer ...&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=189190 Serial port UDF / COM port UDF (by MazeM)] - It is very similar to CommAPI using kernel32.dll, but all code is packed into a single file without any dependencies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128546 Serial Port/COM (by martin)] - Serial Port /COM Port UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27755 SMARTDRIVE (by ptrex)] - SMART drive Analysis.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158640 SPI Hardware Interface (by Blinky)] - Communicate with the MAX335 chip using the SPI protocol via the LPT (printer) port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=8188 VISA/GPIB (by Angel)] - VISA/GPIB library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68866 Webcam (by LIMITER)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70857 Webcam (by ludocus)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91018 WiFi (by MattyD)] - Low level control over your wireless LAN.&lt;br /&gt;
&lt;br /&gt;
== Information gathering ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29404 Computer information (by JSThePatriot)] - A general purpose library to get various details about a Windows machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151920 NetworkStatistics (by Ascend4nt)] - Network Interface Info, Statistics, and Traffic.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=54039 WinPcap (by JRSmile)] - Wrapper for the windows packet capture library WinPcap.&lt;br /&gt;
* [https://opensource.grisambre.net/pcapau3/ WinPcap (by Nicolas Ricquemaque)] - A library to access the main functionalities offered by the WinPcap driver.&lt;br /&gt;
&lt;br /&gt;
== Internet protocol suite ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207859 cURLX64 (by Beege)] - cURL UDF with x64 support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=137456 cURL (by seangriffin)] - A UDF for transferring data with URL syntax.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187718 HTTP lib (by Jefrey)] - HTTP lib (GET, POST and upload) UDF to simplify HTTP requests, mainly when dealing about POST data or file uploads.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202895 HttpApi (by TheXman)] - HTTP Server API enables applications to communicate over HTTP without using MS Internet Information Server (IIS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=40243 IMAP (by mikeytown2)] - IMAP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108422 IMAP4 (by Tipulatoid)] - IMAP4 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=43515 IRC (by McGod)] - A lightweight library for communicating with IRC servers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159285 IRC (by rcmaehl)] - IRC UDF - Updated Version of Chips&#039; IRC UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=22838 POP3 (by Apzo)] - POP3 library for retrieving email messages. Not compatible with Gmail because it uses SSL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167339 POP3 (by mLipok)] - POP3 UDF According to the 1939 RFC, modified version with Quoted Printable decoder.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154530 Prowl (by mrflibblehat)] - Push notifications to iPhone, iPod touch or iPad using Prowl (Growl client for iOS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138095 SFTP (by Lupo73)] - UDF to support SFTP protocol using PSFTP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154054 Socket UDF (by funkey)] - Socket UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=23860 SMTP (by Jos)] - Smtp Mailer That Supports Html And Attachments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167292 SMTP Mailer UDF (by mLipok)] - Smtp Mailer That Supports Html And Attachments - Modified Version with support to save EML files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81687 SNMP (by enaiman)] - SNMP_UDF for SNMPv1 and SNMPv2c.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP (by MattyD)] - SNMP UDF SNMPv1 and SNMPv2c. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70759 SNMP - MIB protocol (by ptrex)] - Reading toner status from SNMP device with WMI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166579 SSH (by jeanphile)] - Use the SSH protocol very easily in your code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185329 STUN (by j0kky)] - STUN is a protocol that permits you to know your external IP but, more interesting, your external port associated to your internal port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184817 SyslogSend (by Irios)] - This allows sending (BSD) messages to a syslog server using UDP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169774 TCPServer (by Jefrey)] - Multi client, event-based, able to bind console app to socket.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=57022 UPnP Protocol (by ptrex)] - UPnP - Read and Control your devices in side out.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=84133 WinHTTP (by trancexx)] - Access the HTTP protocol for creating GET and POST requests and submitting them with conforming standards, cookies not supported.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77503 WinInet (by -Ultima-)] - Access standard Internet protocols (FTP, Gopher and HTTP). Supports GET/POST requests and cookies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181645 Winsock (by j0kky)] - Create client/server application using native winsock functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF (by Trong)] - TCP/UDP Networking Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191954 WSA_NBTCP (by ripdad)] - Windows Sockets API - Non-Blocking Transmission Control Protocol.&lt;br /&gt;
&lt;br /&gt;
== Maths ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment (By AsprininJunkie)] - Least Squares Adjustment.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170658 Advanced Math UDF (by scintilla4evr)] - Advanced mathematical functions (primes, number sequences, interpolate, calculate values of functions like Riemann zeta etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=102686 Advanced rounding (by Mat)] - Support for different measures of accuracy and 8 ways to resolve tie breaks.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83529 Big number (by eukalyptus)] - Make calculations with extremely large numbers that AutoIt normally is not able to support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106551 Decimal To fraction (by Malkey)] - Converts any decimal number to a fraction. Example: 1.2 to 6/5.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162921 Eigen4AutoIt (by RFTC)] - Allows to perform fast matrix operations on large numerical data sets, and much more ....&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra (by AspirinJunkie)] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140789 MathsEx UDF (by PhoenixXL)] - Functions for Carrying Out More Advanced Mathematical Calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81189 Number base conversion (by james3mg)] - From, to and between positive bases less than 63 (decimals supported).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117156 NumToWord (by Mat)] - Convert numerals to a human readable string.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108803 Polynomials (by Mat)] - Functions for using polynomials.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83091 Primes (by jennico)] - Many functions dealing with prime number generation and calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94770 Roman Numerals (by AZJIO)] - Roman Numerals.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98160 Root function (by Mat)] - Working out real roots of numbers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209527 Stat (by AspirinJunkie)] - Statistics for Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163899 StringAPL (by minx)] - inline APL interpreter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=82722 Trigonometric and math functions (by trancexx)] - _ATan2(), _Cosh(), _Frexp(), _Hypot(), _Ldexp(), _Logb(), _Sinh(), _Tanh().&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95357 FreeImage library (by ProgAndy)] - Various operations on images, such as rotate, resize, flip.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll (by Trong)] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127263 HtmlHelp (by Geodetic)] - HtmlHelp functions for context-sensitive help from CHM (compiled HTML) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116009 HyperCam (by seangriffin)] - HyperCam (Screen Recording) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182535 HyCam2 (by willichan)] - Automation for HyCam2 screen recording utility.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50608 OCR (by ptrex)] - Real OCR in AU3 - MODI with MS Office 2003.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=89542 OCR (by seangriffin)] - Tesseract (Screen OCR) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206133 OCRSpace (by MrKm)] - Convert Images to text with the OCRSpace API. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51054 Printer controller (by martin)] - Print text in any font, size and colour at any position on the page, draw lines, curves, elipses, pies in any colour, and print images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73993 Printing (by GRS)] - Printing from AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202621 QRCreator (by BugFix)] - Simple QR-code creation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161831 RTF_Printer (by mLipok)] - Printing RichEdit in the background.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94834 Simple DirectMedia Layer (by AdmiralClaws)] - Adds support for joysticks, CDs, 2D graphics, timers. See [https://www.libsdl.org/ SDL website] for more information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207324 UWPOCR (by Danyfirex)] - Universal Windows Platform Optical Character Recognition API.&lt;br /&gt;
&lt;br /&gt;
===Graphics and image===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202987 AutoYolo3 (by smartee)] - Real-Time Object Detection using YOLOv3 wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113881 au3Irrlicht2 (by JRowe)] - Combining Irrlicht and AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86748 AVI writing udf (by monoceres)] - Create uncompressed avi&#039;s from bitmap files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27362 Bitmap Library (by evilertoaster)] - Bitmap Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202663 GIF animation (by Nine)] - Fast cached GIF animation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150231 GTK+  (by prazetto)] - GTK+ Framework | Widgets.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=13096 ImageGetInfo (by Lazycat)] - Read info from JPEG, TIFF, BMP, PNG and GIF - size, color depth, resolution.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/471-image-search-udf Image Search (by VIP)] - Search for an image on the desktop. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70506 IrrLicht (by A. Percy)] - A 3D graphics engine suitable for creating games.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160732 OpenCV (by myliseJ)] - UDF for the OpenCV library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206432 OpenCV v4+ (by smbape)] - OpenCV UDF with support for OpenCV v4+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151011 OpenGL (by LarsJ)] - OpenGL without external libraries etc. For JPEG files it also retrieves various Exif information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148129 OpenGL (2.0) (by minx)] - New set of UDFs for OpenGL + AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152950 S3D (by Starg)] - Draw simple 3D graphics with GDI+.&lt;br /&gt;
&lt;br /&gt;
===Players===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114143 VLC (by seangriffin)] - VLC (Media Player) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91316 VLC Media Player (by ptrex)] - VLC Media Player.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27352 WMP (by ConsultingJoe)] - Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44008 WMP - Media Controls (by CFire)] - Another Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203154 WMP - GUI Control (by SudeepJD)] - IE based WMP Control.&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83481 BASS Function Library (by BrettF)] - Sound and Music via wrappers for Bass, BassEnc, Bass FX, BassSFX, BassAsio and BassCd DLLs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173808 libZPlay (by Danyfirex)] - Multimedia library for playing mp3, mp2, mp1, ogg, flac, ac3, aac, oga, wav and pcm files and streams.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=37072 MIDI (by eynstyne)] - MIDI UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208116 MIDI (by MattyD)] - Wrap of the Windows MIDI functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114742 SAPIListBox (by seangriffin)] - SAPIListBox (Speech Recognition) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=100439 TTS (by Beege)] - Text-to-Speech UDF.&lt;br /&gt;
&lt;br /&gt;
== PDF ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162195 Acrobat Reader - ActiveX Viewer (by mLipok)] - Make your own PDF Viewer GUI with Acrobat Reader ActiveX COM Object &amp;quot;AcroPDF.PDF.1&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164469 Debenu PDF Viewer SDK (by mLipok)] - A collection of functions to display PDF files in your applications using Debenu PDF Viewer SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160875 Debenu Quick PDF Library (by mLipok)] - A collection of functions for Debenu Quick PDF Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75832 FoxIt Reader (by ptrex)] - PDF Reader in AU3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118827 MPDF (by taietel)] - Create PDF from your application.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=42776 PDFCreator (by ptrex)] - Automation of PDFCreator allows you to create and manipulate PDF files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170550 PDFCreator (by mLipok)] - UDF for PDFCreator v1.x.x with working EVENTs Handler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32261 _StringToPDF (by Tam0r)] - Write a string to a PDF file and specify font size, type etc.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145158 Firewall (by JLogan3o13)] - Control and manipulate the Windows Firewall (enable/disable, Exclusions list, enable/disable ports etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194015 Firewall policy2 (by Bilgus)]- Provides access to the firewall policy for Windows Vista+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150819 VirusTotal (by Danyfirex)] - VirusTotal API 2.0 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred (by DonChunior)] - Interface to the Windows Credential Management API.&lt;br /&gt;
&lt;br /&gt;
== Social Media and other Website API ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159254 Cex.io (by AquilesCrespo)] - UDF script for using with the web api from https://cex.io/ server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169333 CrowdinAPI (by mLipok)] - Uses the [https://crowdin.com/page/api crowdin.net website API] for some functions (create projects, add and update files, download translations or integrate localization).&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/290-dropbox-authenticator/ Dropbox authenticator (by Gimerly)] - Dropbox authenticator.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158106 Easypost (by dcat127)] - Print USPS Postage Labels.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114801 eBay (by seangriffin)] - eBay UDF (functions GetItemStatus and GetSingleItem from the &amp;quot;Shopping API&amp;quot;).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=141340 Gmail (by PhoenixXL)] - Remote Gmail (UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192422 Gmail API (by Ascer)] - Automate communication with Gmail using oAuth 2.0 security. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98504 Google Functions (by Beege)] - Google Functions (Suggestions, Definitions, Translate, Convert).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=115437 Google Maps (by seangriffin)] - Google Maps UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70675 iTunes (by torels)] - iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101802 iTunes (by Beege)] - Another iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150985 No-IP (by Nessie)] - Simply update your no-ip hostname(s) and retrieve the ip address of an no-ip address.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192391 oAuth (by Ascer)] - Open standard for access delegation, commonly used to grant websites or applications access to other websites.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150838 PasteBin (by mrflibblehat)] - Pastebin UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121767 Skype (by FireFox)] - Skype4COM provides an ActiveX interface to the Skype API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113234 Teamspeak 3 (by chipDE)] - Teamspeak 3 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186944 TeamViewer API (by mLipok)] - A collection of function for use with TeamViewer API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186381 Telegram Bot (by LinkOut)] - UDF for [https://core.telegram.org/api Telegram messenger API].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166547 TVmaze.com API (by BBs19)] - TVmaze.com API UDF (TV-Series).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116600 Twitter (by seangriffin)] - Manage Twitter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149247 Yahoo Weather (by Nessie)] - Yahoo Weather API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112775 Youtube Uploader (by BrettF)] - AYTU - AutoIt Youtube Uploader.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50880 ACL (by ptrex)] - Set ACL on windows Objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134508 ACL (by FredAI)] - Do most everything with the DACL and ownership on all types of objects: Files or folders, Registry keys, services, Kernel and WMI objects, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206400 BITS (by DonChunior)] - Background Intelligent Transfer Service to download files from or upload files to HTTP web servers and SMB file shares.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184937 CertUtil (by mLipok)] - Wrapper for windows certutil.exe (command-line program that is installed in Windows as part of Certificate Services).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113560 FileSystemMonitor (by seangriffin)] - Monitors the file system by recording all file system events occurring within a given path.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111018 ITaskBarList (by Beege)] - ITaskBarList UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74118 Local account (by engine)] - Manage local accounts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161193 Magnifier Functions (by Ascend4nt)] - Exposes most of the useful Magnifier API functions available since Windows Vista.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75250 Registry (by engine)] - Windows Registry UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50551 Registry (by seanhart)] - RegWriteAllUsers / RegDeleteAllUsers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=80201 Service (by arcker)] - Build your own service with AutoIt code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124508 Startup (by guinness)] - Create Startup entries in the Startup Folder or Registry.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164756 SCCM (by JLogan3o13)] - Systems Center Configuration Manager Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134628 System restore (by FredAI)] - System restore UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186111 SubstWrapper (by mLipok)] - Wrapper for windows subst.exe command - (Associates a path with a drive letter).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135994 Taskplanner/Taskscheduler COM (by Allow2010)] - an UDF for using the Windows Taskplaner / Task Scheduler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83355 Task Scheduler (by dbzfanatic)] - Task Scheduler UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200068 TaskScheduler (by water)] - Brushed up Task Scheduler UDF. Link to the [[TaskScheduler|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173934 TTS (by Kanashius)] - Used with SAPI Automation Object - text-to-speech (TTS) engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158377 UAC (by AdamUL)] - User Account Control (UAC) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=175719 Utter (by Surya)] - Utilizing more of SAPI (Speech Recognition UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127075 WIMGAPI (by Homes32)] - Manipulate Windows Image Files (.wim) without ImageX.exe.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=28436 Windows Events (by Emperor)] - Create your own Windows events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=6487 Windows Service Control functions (by SumTingWong)] - Some limited functions to control services (create, start, stop, delete, check ...).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81880 Windows Services (by engine)] - Windows Services UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212222 WinRT Libraries (by MattyD)] - Libraries to access WinRT Objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163178 WRMF (by Luigi)] - WRMF - Windows Registry Monitor Call Function.&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/topic/178871-dllcall-with-c-example/#comment-1285754 SMSApi (by mLipok)] - UDF for SMSAPi which provides SMS services. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/index.php?showtopic=178589 BulkSMS (by Skysnake)] - UDF for BulkSMS which provides SMS services. --&amp;gt;&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145099 _AdlibEnhance (by JScript)] - Enhance Adlib to call functions with parameters, pause and resume.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160936 Android (by Moriba)] - Control any Android device.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97826 Animated tray icons (by Yashied)] - Make animated tray icons easily.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163577 Atom Table (by Ascend4nt)] - Store (add, find, delete, and query) strings locally (at program level) or globally (at OS level) with unique numerical identifiers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170087 Barcode generators (by willichan)] - Creates a Code128A/B/C or Creates a Code39 or Code39Extended optimized barcode from supplied data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211660 BlockInput (by Nine)] - Block all input coming from mouse and/or keyboard, without having an UAC warning displayed. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87735 BlockInputEx (by MrCreatoR)] - Supports a few features that built-in BlockInput() function does not.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29763 Clipboard (by eltorro)] - When apps need to watch the clipboard.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170630 ClipboardEx (by ozmike)] - Allows to have more than 1 item in the Clipboard. Handles all data types, not just text.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81267 Clipboard History (by wraithdu)] - Save and restore the entire clipboard contents. Inspired by AHK&#039;s ClipboardAll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169610 CmdLine (by Jefrey)] - Collection of functions to parse command line arguments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126569 Console (by Shaggi)] - Functions and features to work wiht Console input/output.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121833 Copy (by Yashied)] - Copy or move files and directories without suspending your script. Retrieve the current state (copied bytes, error code etc.) while copying.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154684 Date / Time convert (by Melba23)] - Transform date/time formats.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99106 _DLLStructDisplay (by Ascend4nt)] - Show Struct in ListView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157689 _FileGetMimeType (by Wiliat87)] - Retrieve MIME types based on the extension of the filename/filepath/URL provided.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117033 File locking with cooperative semaphores (by willichan)] - Simple file locking without a server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157241 FindMimeFromData (by twbradio)] - FindMimeFromData using urlmon.dll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181997 Font Icon (by J2TeaM)] - Use Font Awesome in your AutoIt project.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68422 HotString (by jvanegmond)] - Similar to the HotKey function but trigger on a string, instead of a key or key combination.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173946 LASM - Light Assembler (by minxomat)] - Inline UDF for an Assembler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161628 LFN (by orbs)] - Overcome MAX_PATH limit of 256 chars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111492 Link Grammar for AutoIt (by JRowe)] -  Input is a regular sentence in English, German or Italian, output is a pattern parsed from the structure of the sentence.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/147-mruau3 MRU (by Yashied)] - Most Recently Used (MRU) List Automation functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188158 .NET Common Language Runtime (CLR) Framework (by Danyfirex, Junkew, Larsj, ptrex, Trancexx)] - Allows AutoIt to access .NET Class Libraries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101733 NoFocusLines (by Melba23)] - Remove the dotted focus lines from buttons, sliders, radios and checkboxes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149176 NotifyIcon (by FireFox)] - Create, delete and manage self notify icons (formerly TrayIconEx). &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=63318 PixelGetColor (by Manadar)] - Get or Read Pixel from memory.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167024 RDC (by Yashied)] - ReadDirectoryChanges Wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51103 Resources (by Zedna)] - Embed any binary data into your AutoIt compiled EXE files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162499 ResourcesEx (by guinness)] - Up to date version of Zedna&#039;s Resources UDF. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111215 Restart (by Yashied)] - Allows to restart a script from any location with full restoration of the original command line parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51547 SciLexer (by Kip)] - Editing control, supports multiple editors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152093 ScriptEditor (by pandel)] - ScriptEditor with I18N support and customizable lexer completely written in AutoIt (based on SciLexer).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162033 Spell Checker (by iCode)] - Spell Checker functions to call Hunspell, Hyphenate and MyThes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164444 Synology filestation (by nend)] - Functions to interact with a Synology NAS server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163328 TimeConvert (by orbs)] - Convert UTC to/from local time, and/or reformat the string representation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint (by UEZ)] - Creating barcodes using the Zint.dll.&lt;br /&gt;
[[Category:UDF]]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15297</id>
		<title>User Defined Functions</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15297"/>
		<updated>2026-05-14T08:21:42Z</updated>

		<summary type="html">&lt;p&gt;Water: /* Windows */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
This page is a listing of libraries of &#039;&#039;&#039;user defined functions&#039;&#039;&#039; (UDF). These libraries have been written to allow easy integration into your own scripts and are a very valuable resource for any programmer.&amp;lt;br /&amp;gt;&lt;br /&gt;
This list is probably not complete (409 UDFs on 2026-05-07), but constantly supplemented.&lt;br /&gt;
If you do not find a solution here, ask a new question on the [https://www.autoitscript.com/forum/forum/2-general-help-and-support/ forum].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
The listed UDFs might have been written for older versions of AutoIt. So there is no guarantee that every UDF works smoothly with newer versions.&amp;lt;br /&amp;gt;&lt;br /&gt;
None of the UDFs has been tested by the maintainers of this list so you as a user need to make sure that they deliver the expected results.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;When will an UDF be added to this list?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
It should meet all/most of the general requirements for UDFs as described [[UDF-spec|here]].&amp;lt;br&amp;gt;&lt;br /&gt;
In addition the following requirements should be met:&lt;br /&gt;
* &#039;&#039;&#039;Documentation&#039;&#039;&#039;: So users can tell what the UDF is intended to do (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Examples&#039;&#039;&#039;: So users can get an idea how to use the UDF. The more the better (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Operating systems&#039;&#039;&#039;: Should support the latest Microsoft OS (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;AutoIt&#039;&#039;&#039;: Should support the latest version of AutoIt (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Author&#039;&#039;&#039;: The author should still be active on the forum so he can reply to questions (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What to do when one of your UDFs is missing?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please send a [https://www.autoitscript.com/forum/messenger/compose/?to=7903 PM] to user water. Add a short description of the UDF and a link to your post in the [https://www.autoitscript.com/forum/forum/9-autoit-example-scripts/ Example Scripts] or [https://www.autoitscript.com/forum/forum/49-autoit-projects-and-collaboration/ Projects and Collaboration] forum.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Added in the past two years&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date !! Section !! Creator !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-07 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || MattyD || [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP UDF] - SNMPv1 and SNMPv2c.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-01 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment] - Least Squares Adjustment.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-04-01 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || WildByDesign || [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-10 || [[User_Defined_Functions#Inter_Process_Communications|Inter Process Communications]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC] - Inter Process Communication using TCP/IP.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-09 || [[User_Defined_Functions#Browsers|Browsers]] || ioa747 || [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt] - Integrate WebView2 into AutoIt via COM. &lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-19 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF] - TCP/UDP Networking Library.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || BugFix || [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx] - Another kind of group, versatile changeable.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-16 || [[User_Defined_Functions#Security|Security]] || DonChunior || [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred] - Interface to the Windows Credential Management API.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || genius257 || [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast] - Native Win8+ toast notifications.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Media|Media]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Hardware|Hardware]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213296 Monitor] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-09-22 || [[User_Defined_Functions#Misc|Misc]] || UEZ || [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint] - Creating barcodes using the Zint.dll.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-07-27 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || DXRW4E || [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-04-16 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || seangriffin || [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-03-22 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-02-26 || [[User_Defined_Functions#Controls|Controls]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-16 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Gianni || [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask] - Easily run and manage many processes.&lt;br /&gt;
|- &lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || NoNameCode || [https://www.autoitscript.com/forum/index.php?showtopic=211475 Darkmode] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Network_Guy || [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-11 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || t0nZ || [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog] - Logs made easy.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || argumentum || [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-21 || [[User_Defined_Functions#Controls|Controls]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker] - Date Range Picker Control.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-06 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place the Table of contents (TOC) here --&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Automation ==&lt;br /&gt;
&lt;br /&gt;
===Browsers===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154439 Chrome (by seangriffin)] - Automate the most common tasks in Chrome with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95595 Firefox (by Stilgar)] - A little less support for automation than IE, but still very good.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167661 Firefox (by Danp2)] - Modified newer version of Stilgar Firefox UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/224-firefox-profile-backup/ FireFox Profile Backup 1.0 (by careca)] - Backup or restore your firefox profile. The application searches for the profile in home drive that will be the one to backup.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _FF_AutoLogin (by Stilgar)] - This is a auto-login function and login-function-generator for FireFox and the FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92035 _FF_DM (by Stilgar)] - UDF to control the FireFox Download-Manager (not the download-window).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91650 _FF_FoxBox (by Stilgar)] - UDF to control Fox!Box (A Mozilla Firefox extension for the AVM FRITZ!Box) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91665 _FF_Screengrab (by Stilgar)] - UDF to control Screengrab! (FireFox-AddOn) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _HTML (by Stilgar)] - Get informations from any HTML (XML) source, without any browser.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166542 HTMLDocumentEvents (by SmOke_N)] - Track IE document events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167035 IEEx (by SmOke_N)] - IE extended library with some Javascript options.&lt;br /&gt;
* Internet Explorer (by DaleHohm et al.) - IE library that is now supplied with a standard AutoIt install.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153520 IUIAutomation MS framework (by junkew)] - IUIAutomation MS framework to automate chrome, FF, IE etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149203 NavInfo (by Nessie)] - With this UDF you can check if a specified browser/software is installed and which version is being used.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=61090 Opera (by MrCreatoR,)] - Automate the most common tasks in Opera with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191990 WebDriver (by Danp2)] - W3C compliant Webriver UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt (by ioa747)] - AutoIt WebView2 Component (COM Interop).&lt;br /&gt;
&lt;br /&gt;
===Microsoft Office===&lt;br /&gt;
Some features of Microsoft&#039;s Office products are proprietary and cannot readily be manipulated.  Sometimes workarounds are required.&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;[[Known issues with Microsoft Office automation.|This page]]&amp;lt;/u&amp;gt; is dedicated to identifying those issues, provide explanations and list solutions or workarounds.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32144 Microsoft Office Access (by randallc)] - Automate Microsoft Access.&lt;br /&gt;
* Microsoft Office Excel (by water et al.) - This UDF is included in AutoIt. Link to the [[Excel_UDF|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135312 Microsoft Office Excel Charts (by water, GreenCan)] - Creating charts using Microsoft Excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204034 Microsoft Office Excel Pivot Tables (by SudeepJD)] - Create and Update Excel Pivot Tables and Charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126305 Microsoft Office Outlook (Items) (by water)] - Automate Microsoft Outlook Items. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202451 Microsoft Office Outlook (GUI) (by water)] - Automate Microsoft Outlook GUI. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197346 Microsoft Office Outlook Tools (by water)] - Built on top of the OutlookEX UDF it offers some often needed extended functionality (import/export ics/vcf files etc.). Link to the [[OutlookTools|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50254 Microsoft Office PowerPoint (by Toady)] - Automate Microsoft PowerPoint.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=178783 Microsoft Office PowerPoint (by water)] - Automate Microsoft PowerPoint. Link to the [[Powerpoint|documentation]] pages.&lt;br /&gt;
* Microsoft Office Word (by water et al.) - This UDF is included in AutoIt. Link to the [[Word_UDF|documentation]] pages.&lt;br /&gt;
&lt;br /&gt;
===OpenOffice/LibreOffice===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210514 LibreOffice Suite (by donnyh13)] - A huge list of functions for LibreOffice Base, Calc and Writer. Link to the [[LibreOffice|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151530 OOo/LibO Calc (by GMK)] - OpenOfficeCalc UDF (works also for Libre Office).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185932 OpenOffice/LibreOffice Spell Checker (by GMK)] - Function to validate words, and show spell alternatives.&lt;br /&gt;
&lt;br /&gt;
===Other Applications===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106163 Active Directory (by water)] - Extensive library to control and manipulate the Windows active directory ([https://www.autoitscript.com/forum/files/file/355-ad-active-directory-udf/ Download]). Link to the [[Active_Directory_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87956 Java (by seangriffin)] - Creates an access bridge between your application and a Java application. Allowing you to automate some Java applications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86574 SAP (by seangriffin)] - SAP business management automation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149540 SAPWizard (by ozmike)] - SAPWizard UDF.&lt;br /&gt;
&lt;br /&gt;
== Script Coding/Analyzing/Debugging ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209528 ArrayCombinations (by AspirinJunkie)] - Different ways of composing elements of a set.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155442 ArrayMultiColSort (by Melba23)] - Function to sort a 2D array on several columns.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209523 ArrayPlus (by AspirinJunkie)] - Functions for flexible Array handling (create, extract, rebuild, sort, filter, find, print)&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180467 ArrayWorkshop (by czardas)] - Multidimensional array functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=59174 Associative array functions (by Nutster)] - Manage a version of associative arrays in single AutoIt variables. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=198929 AutoIt error logger (AUERLO) (by user4157124)] - File- and stdout (etc.) output of messages, errors, exit method and -code, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110379 AutoItObject (by ProgAndy and others)] - Brings the Object Orientation programming paradigm to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112879 AutoIt Syntax Highlight (by MrCreatoR)] - Highlights AutoIt v3 syntax code to html/bbcode format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191488 cDebug (by c.haslam)] - Dumps the values of all AutoIt subtypes and expressions including nested arrays, DLL structs and maps.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor (by Nine)] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195882 ErrorLog (by mLipok)] - Logs program activities and errors to different output locations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211718 FuzzyString (by AspirinJunkie)] - Fuzzy string comparison and search in string arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143167 GetOpt (by dany)] - Parse GNU and DOS style command line options similar to getopt().&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog (by t0nZ)] - Logs made easy.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156196 Log4a (by zorphnog)] - Logging library loosely based upon the log4j and NLog libaries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195862 Loga (by Danyfirex)] - Simple logging library to keep track of code with an integrated console.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119032 Log UDF (by Yashied)] - Create a text log files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202832 OnDebugMsgBox (by argumentum)] - Catch the dreaded &amp;quot;AutoIt Error&amp;quot; MsgBox and prettify or hide it.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209529 Set (by AspirinJunkie)] - Provides a set data type and brings the corresponding mathematical functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200660 Variants and Safearrays (by LarsJ)] - Create/access/process Variants and SafeArrays.&lt;br /&gt;
&lt;br /&gt;
=== Inter Process Communications ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202485 AppInteract (by MrCreatoR)] - Reliably pass arrays or other types between processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC (by Kanashius)] - Inter Process Communication using TCP/IP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=205109 AutoItSharedData (by SEuBo)] - Create a shared data storage, a simple AutoItObject-Object, using AutoItObject_Internal.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188991 Autoit-Socket-IO (by tarretarretarre)] - Event driven TCP/IP wrapper inspired by Socket.IO with focus on user friendliness and long term sustainability.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126936 Container (by MrCreatoR)] - Scripts interaction method. Allows to transfer whole arrays as data, and even COM objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=55994 DDEML (by doudou)] - Use your AutoIt script as DDE client or server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193277 FMIPC (by argumentum)] - IPC via FileMapping.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127615 Interprocess (by JScript)] - Remotely execute a function in another script (using Mailslot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193158 IPC_IO (by JohnWIlling)] - IPC library supporting multiple connection types (such as: Named Pipe, File, TCP, SharedMemory, MailSlot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202618 IPC Techniques through ROT Objects (by LarsJ)] - Implementing IRunningObjectTable Interface.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106710 Mailslot (by trancexx)] - IPC using Mailslots.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204734 Overlapped Named Pipe IPC (by Nine)] - Very fast interprocess communication that could be used between VBS or AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169797 Pool - Post Office for Organized Labour (by RTFC)] - Provides multiple AutoIt processes with an infrastructure for exchanging messages, data, and remote-control instructions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202587 WCD IPC (by Nine)] - Framework for Inter Process Communication using Windows Messages WM_COPYDATA.&lt;br /&gt;
&lt;br /&gt;
=== Parallel/concurrent processing ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork (by argumentum)] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186853 _Multiprocess (by jguinch)] - Run several external programs at the same time and retrieve the exit code of each process.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask (by Gianni)] - Easily run and manage many processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking (by Network_Guy)] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT (by Nine)] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
&lt;br /&gt;
== Files, Databases and web connections ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180850 ADO (by mLipok)] - A modifed version of the _SQL UDF to access all kind of databases (MSSQL, MySQL, PostgreSQL, SQLite, MS ACCESS, XLS, TXT, and many other which use ADO and ODBC).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105875 ADODB (by spudw2k)] - ADODB Example.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 AXML (by Aipion)] - This is a Wrapper for Pugixml, made with C++.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145142 DBF (by funkey)] - dBase database read and write with DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/topic/114406-csv-file-to-multidimensional-array/#findComment-799820 CSV (by ProgAndy)] - Read/write CSV files to/from 2D arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197909 CSV (by seangriffin)] - Manipulate CSV files using SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155748 CSVSplit (by czardas)] - Convert to and from CSV format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151116 DIF (by willichan)] - Read/write DIF (Data Interchange Format) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119238 Excel file generation (by jerome)] - Excel file generation (multi-sheet workbook) without the need to have Excel installed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143866 Excel XML (by FireFox)] - Work with SpreadsheetML (Open XML file formats).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155905 EXml (by jdelaney)] - Create Excel file (SpreadsheetML) through &amp;quot;Microsoft.XMLDOM&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116072 EzMySql (by Yoriz)] - Use MySQL Databases with AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148232 _FileGetProperty (by BrewManNH)] - Retrieve properties of a file.Xml2Json&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94920 FireBird (by eltorro)] - FireBird, Interbase DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx (by DXRW4E)] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197421 jq (by TheXman)] - Brings the power and flexibility of jq (an open-source command-line based JSON processor) to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209502 JSON (by AspirinJunkie)] - Interacting with JSON data in AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104150 JSON (by Gabriel13)] - RFC4627 compliant JSON encode/decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148114 JSON (by Ward)] - JSMN - A Non-Strict JSON UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156794 JSON (by ozmike)] - Bridge to Native Windows JSON plus OO extension for AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC (by seangriffin)] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173797 JSONgen (by Jefrey)] - Generate JSON.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127101 MS SQL (by TheLuBu)] - MSSQL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51952 MS SQL (by ChrisL)] - _SQL. ADODB Connection.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20814 MySQL (by cdkid)] - MySQL relational database management system.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85617 MySQL (by ProgAndy)] - MySQL UDFs (without ODBC - working with libmysql.dll).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=122360 MySQL (by James)] - MySQL ODBC Connector.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187223 romaSQL (rynow)] - Built on the concept of Laravel Query &amp;amp; doctrine. Connection string is based on ADODB / ODBC.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143331 Sharepoint 2007/2010 (by schoppet)] - Access the SOAP-Webservices of Sharepoint 2007/2010.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17099 SQLite (by ptrex)] - SQLite is a library that implements a self-contained, embeddable, zero-configuration SQL database engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=142977 SQLite Array Functions (by SmOke_N)] - SQLite Array Functions - a faster method for unique arrays and sorting methods.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140521 SQLite - Database (by PhoenixXL)] - UDF for SQLite so that beginners will also be able to do the stuff.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157853 SQLiteEx (by 57ar7up)] - SQLiteEx UDF v0.5.1 - Simplest work with SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163633 Xbase I/O (by RTFC)] - Transfer data between Xbase Data file (*.dbf) and AutoIt array written in pure AutoIt (no SQL, no ADO, no dlls, no external dependencies).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209526 xlsxNative (by AspirinJunkie)] - Read and write xlsx files without excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=19848 XML DOM Wrapper (by eltorro)] - Supports CRUD operations on XML. Including XSL and XPath.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 XML (by mLipok)] - New version of XML DOM Wrapper, with many new features.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208932 Xml2Json (by TheXman)] - Transform XML to JSON.&lt;br /&gt;
&lt;br /&gt;
== Data compression ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85094 7z, zip, gzip, bzip2, tar (by rasim)] - Extensive library that uses a external DLL that must be provided with the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92958 gZip (by Zinthose)] - Based on the parsing of gZip.exe output. It can work with memory, it doesn&#039;t work with files. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87441 LZMA (by trancexx)] - LZMA (Native Windows).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138838 Package (by Yashied)] - Package UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129529 pZip (by asdf8)] - PureZIP_L library UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=76176 UnRAR (by rasim)] - UnRAR.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17727 XZip (by eltorro)] - Another UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161847 XZip (by mLipok)] - UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44524 Zip plugin (by eltorro)] - Zip plugin.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73425 ZIP (by torels)] - ZIP UDF in pure AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116565 zip (by wraithdu)] - Create ZIP files and unpack ZIP files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135565 ZIP (by joakim)] - ZIP STRUCTS UDF (from scratch).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87284 ZLib (by monoceres)] - Based on ZLib.dll. It can compress/uncompress data in memory, it doesn&#039;t work with files.&lt;br /&gt;
&lt;br /&gt;
== Encryption and hash ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81332 _Base64Encode, _Base64Decode (by trancexx)] - Fast _Base64Encode, _Base64Decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153246 Base91 and Base128 (by Beege)] - Base91 and Base128 functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155538 Codecrypter (by RTFC)] - Encrypt scripts without placing the key inside the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=201002 Cryptography API: Next Gen (by TheXman)] - Microsoft&#039;s long-term replacement for their CryptoAPI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210901 Enigma (by willichan)] - Simple encryption based on the Enigma Machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203990 GDPR (by mLipok)] - Functions to encrypt/decrypt strings and files with the GDPR in mind.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95558 Hashes for files (by trancexx)] - Fast RC32, MD4, MD5, SHA1 calculation for big files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107784 TrueCrypt (by FuryCell)] - TrueCrypt UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140737 WinTrust (by kasty)] - verify the integrity of a file with its embedded signature or a given catalog.&lt;br /&gt;
&lt;br /&gt;
== GUI Additions ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast (by genius257)] - Native Win8+ toast notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97241 3D Pie chart (by WideBoyDixon)] - 3D Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173924 Chart_UDF (by Kanashius)] - This UDF can be used to Display bar charts in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96258 ContextHelp (by Yashied)] - Management of context help ([https://www.autoitscript.com/forum/index.php?showtopic=72152-contexthelp/ original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211475 DarkMode (by NoNameCode)] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109096 ExtMsgBox (by Melba23)] - A very customisable replacement for MsgBox.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx (by BugFix)] - Another kind of group, versatile changeable.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105582 GUICtrlOnChangeRegister (by Mat)] - Call a function when an edits content is changed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme (by WildByDesign)] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145149 GUIExtender (by Melba23)] - Expand and contract sections of your GUI ([https://www.autoitscript.com/forum/index.php?showtopic=117909 original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197654 GuiFlatButton (by kurtykurtyboy)] - Change colors of regular buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119505 GUIFrame (by Melba23 &amp;amp; Kip)] - Divide a GUI into adjustable frames.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=144207 GUI Panel (by FireFox)] - Manage child GUIs as panel ctrls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113723 GUI Scrollbars (by Melba23)] - Automatically sized scrollbars with a single command.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161184 MetroGUI (by BBs19)] - Windows 10 style buttons, toggles, radios etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 Modern tray menu (by Holger)] - Allows the creation of modern, fancy GUI and tray menus with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194693 MTSkin (by Taskms4)] - Simply create modern looking GUIs (borderless GUI, Interactive menu panel (with mouse-over detection), a bunch of skins).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182136 Notifications (by S3cret91)] - Display permanent desktop notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=136149 Notify (by Melba23)] - Small notifications on the edge of the display.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161750 Pie chart (by Andreik)] - Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75429 Real Vista Aero Glass (by James)] - Real Vista Aero Glass UDF - you can apply glass effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF (by Nine)] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=71811 SetOnEvent (by martin)] - Provides an easy way for an event to call functions with parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=103871 _SysTray (by wraithdu)] - Get info about and manipulate Systray icons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108445 Toast (by Melba23)] - Small message GUIs which pop out of the Systray.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110003 Tray Icon Bar Graph (by BeeGee)] - Creates a scrolling bar graph as the tray icon.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=132864 Uskin (by JScript)] - Allows you to skin your GUI using the Windows &#039;&#039;.MSstyles&#039;&#039; files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191821 Wi3SMenu (by NHD)] - Create a slide menu with Windows 10 style. Supports color, icon and opacity.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129196 WinSnap (by Beege)] - Automatic Window Alignment by applying that &amp;quot;snappy edge&amp;quot; effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32494 XSkin (by Valuater)] - Allows skinning of your GUI and to apply custom skins.&lt;br /&gt;
&lt;br /&gt;
=== Controls ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202529 BrowseForFolder (by MrCreatoR)] - Handle SHBrowseForFolderW with more options, such as multi selection (checkboxes), window position, controls text and more. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=146406 Calendar (by jmon)] - Calendar UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125293 ChooseFileFolder (byMelba23)] - Single and multiple selections from specified path treeview listing.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96464 Colorpicker (by Yashied)] - Create a button for the user to select a color.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker (by Nine)] - Date Range Picker Control.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=123409 Explorer Frame UDF (by Beege)] - Takes any frame created by GUIFrame and turns it into a MS-Windows like Explorer window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview (by Kanashius)] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173929 GDIPlus Slider UDF (by Kanashius)] - This UDF can be used to create a slider with an imagebackground and an image to move.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=79412 Graph control (by andybiochem)] - Easily create and show bar chart and line charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104399 GraphGDIPlus UDF (by andybiochem)] - Easily create and show bar chart and line charts with GDI+ to take advantage of double-buffering.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105682 GUICtrlCreateFinder (by Mat)] - Allows you to create a window finder control like the one seen in AutoIt Window Info.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107965 GUIHotkey (by Mat)] - UDF for using native hotkey controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182492 GUIListViewEx (by Melba23)] - Insert, delete, move, drag, sort, edit and colour ListView items.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111438 GUIPager (by Mat)] - Create and control native pager controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 GUI/Tray Menu (by Holger, LarsJ, AZJIO)] - GUI/Tray Menu with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166594 GUITreeViewEx (by Melba23)] - Check/clear parent and child checkboxes in a TreeView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=90598 Hotkey input control (by Yashied)] - Hotkeys Input Control UDF Library (Non-native).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173932 ListView Edit UDF (by Kanashius)] - This UDF can be used to simply edit an Listview.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109355 ListView - Explorer like ListView UDF (by Beege)] - This UDF simplify creating MS Explorer-like ListViews.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143711 Marquee (by Melba23)] - Make tickertape info bars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143380 Predict Text UDF (by PhoenixXL)] - Sub classes the edit control and matches the current word through the Database &amp;amp; sets selection in accordance.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163939 Progressbar new style (by Muzaiyan)] - New styles for your progress bar.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74649 Progressbar with GDIplus (by ProgAndy)] - You even can use full textured images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151636 RestrictEdit_SRE UDF (by PhoenixXL)] - Restrict the text that can be entered in an editbox through a String Regular Expression.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128242 Ribbon (by trancexx)] - UDF for Windows Ribbon framework.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114034 StringSize (by Melba23)] - Automatically size controls to fit the text you want to put in them.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126958 Syslink (by Yashied)] - Provides a convenient way to embed hypertext links in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105814 Table (by andybiochem)] - Table UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211024 Toggle Button (by Andreik)] - Create simple toggle buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125251 TVExplorer (by Yashied)] - Allows to create TreeView (TV) Explorer controls that display a tree of files and folders.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=190659 Virtual Listview (by LarsJ)] - Virtual Listview for large amounts of data with a large number of rows.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195053 Windows Message Monitor (by LarsJ)] - Monitor Windows Messages of a window or control.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118317 Battery UDF (by Yashied)] - Retrieves various information and current status of the battery(s).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154727 BuildPartitionTable (by RTFC)] - Scans a physical drive&#039;s partition table and returns a partition_table, allocation_table and volumes_table.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155674 CommAPI (by therealhanuta)] - Serial and parallel communication (COM port, RS-232, LPT port) - without installing DLL&#039;s (using Windows API calls).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77731 Device Management (by weaponx)] - Device Management API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97487 DirectShow (by monoceres)] - DirectShow UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164700 DirectSound (by eukalyptus)] - DirectSound UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164701 Direct2D (by eukalyptus)] - Direct2D UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99713 Drive Info (by NerdFencer)] - Gathers drive info for Hard Drives, Disk Drives, and Floppy Drives.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138989 FritzBox (by Allow2010)] - _FB_Tools - manage your FritzBox from Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121084 I/O Port Functions (by Ascend4nt)] - Input/Output UDF for interacting with ports (x64 Parallel Port, Keyboard etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203207 MediaDevice (by Danyfirex)] - Transfer files to portable devices like phones, storages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php=showtopic=213296 Monitor (by Trong)] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154350 Monitor Configuration (by jaberwacky)] - Monitor Configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155469 Mouse (by AlmarM)] - AutoIt powered mouse events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=147325 MouseTrapEvent (by ozmike)] - MouseTrapEvent UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149083 NetInfo (by Nessie)] - UDF for test internet download speed and upload speed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155539 Network configuration (by jguinch)] - Network configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182684 Nitgen (by Jefrey)] - UDF to work with Nitgen fingerprint readers that use NGenBio SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210968 Printer Manager (by Nine)] - Manage printers with winspool.drv DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155485 Printers management with WMI (by jguinch)] - Add/delete printer, driver, port, or obtain configuration, set default printer ...&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=189190 Serial port UDF / COM port UDF (by MazeM)] - It is very similar to CommAPI using kernel32.dll, but all code is packed into a single file without any dependencies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128546 Serial Port/COM (by martin)] - Serial Port /COM Port UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27755 SMARTDRIVE (by ptrex)] - SMART drive Analysis.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158640 SPI Hardware Interface (by Blinky)] - Communicate with the MAX335 chip using the SPI protocol via the LPT (printer) port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=8188 VISA/GPIB (by Angel)] - VISA/GPIB library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68866 Webcam (by LIMITER)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70857 Webcam (by ludocus)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91018 WiFi (by MattyD)] - Low level control over your wireless LAN.&lt;br /&gt;
&lt;br /&gt;
== Information gathering ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29404 Computer information (by JSThePatriot)] - A general purpose library to get various details about a Windows machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151920 NetworkStatistics (by Ascend4nt)] - Network Interface Info, Statistics, and Traffic.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=54039 WinPcap (by JRSmile)] - Wrapper for the windows packet capture library WinPcap.&lt;br /&gt;
* [https://opensource.grisambre.net/pcapau3/ WinPcap (by Nicolas Ricquemaque)] - A library to access the main functionalities offered by the WinPcap driver.&lt;br /&gt;
&lt;br /&gt;
== Internet protocol suite ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207859 cURLX64 (by Beege)] - cURL UDF with x64 support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=137456 cURL (by seangriffin)] - A UDF for transferring data with URL syntax.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187718 HTTP lib (by Jefrey)] - HTTP lib (GET, POST and upload) UDF to simplify HTTP requests, mainly when dealing about POST data or file uploads.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202895 HttpApi (by TheXman)] - HTTP Server API enables applications to communicate over HTTP without using MS Internet Information Server (IIS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=40243 IMAP (by mikeytown2)] - IMAP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108422 IMAP4 (by Tipulatoid)] - IMAP4 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=43515 IRC (by McGod)] - A lightweight library for communicating with IRC servers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159285 IRC (by rcmaehl)] - IRC UDF - Updated Version of Chips&#039; IRC UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=22838 POP3 (by Apzo)] - POP3 library for retrieving email messages. Not compatible with Gmail because it uses SSL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167339 POP3 (by mLipok)] - POP3 UDF According to the 1939 RFC, modified version with Quoted Printable decoder.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154530 Prowl (by mrflibblehat)] - Push notifications to iPhone, iPod touch or iPad using Prowl (Growl client for iOS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138095 SFTP (by Lupo73)] - UDF to support SFTP protocol using PSFTP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154054 Socket UDF (by funkey)] - Socket UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=23860 SMTP (by Jos)] - Smtp Mailer That Supports Html And Attachments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167292 SMTP Mailer UDF (by mLipok)] - Smtp Mailer That Supports Html And Attachments - Modified Version with support to save EML files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81687 SNMP (by enaiman)] - SNMP_UDF for SNMPv1 and SNMPv2c.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP (by MattyD)] - SNMP UDF SNMPv1 and SNMPv2c. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70759 SNMP - MIB protocol (by ptrex)] - Reading toner status from SNMP device with WMI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166579 SSH (by jeanphile)] - Use the SSH protocol very easily in your code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185329 STUN (by j0kky)] - STUN is a protocol that permits you to know your external IP but, more interesting, your external port associated to your internal port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184817 SyslogSend (by Irios)] - This allows sending (BSD) messages to a syslog server using UDP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169774 TCPServer (by Jefrey)] - Multi client, event-based, able to bind console app to socket.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=57022 UPnP Protocol (by ptrex)] - UPnP - Read and Control your devices in side out.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=84133 WinHTTP (by trancexx)] - Access the HTTP protocol for creating GET and POST requests and submitting them with conforming standards, cookies not supported.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77503 WinInet (by -Ultima-)] - Access standard Internet protocols (FTP, Gopher and HTTP). Supports GET/POST requests and cookies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181645 Winsock (by j0kky)] - Create client/server application using native winsock functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF (by Trong)] - TCP/UDP Networking Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191954 WSA_NBTCP (by ripdad)] - Windows Sockets API - Non-Blocking Transmission Control Protocol.&lt;br /&gt;
&lt;br /&gt;
== Maths ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment (By AsprininJunkie)] - Least Squares Adjustment.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170658 Advanced Math UDF (by scintilla4evr)] - Advanced mathematical functions (primes, number sequences, interpolate, calculate values of functions like Riemann zeta etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=102686 Advanced rounding (by Mat)] - Support for different measures of accuracy and 8 ways to resolve tie breaks.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83529 Big number (by eukalyptus)] - Make calculations with extremely large numbers that AutoIt normally is not able to support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106551 Decimal To fraction (by Malkey)] - Converts any decimal number to a fraction. Example: 1.2 to 6/5.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162921 Eigen4AutoIt (by RFTC)] - Allows to perform fast matrix operations on large numerical data sets, and much more ....&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra (by AspirinJunkie)] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140789 MathsEx UDF (by PhoenixXL)] - Functions for Carrying Out More Advanced Mathematical Calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81189 Number base conversion (by james3mg)] - From, to and between positive bases less than 63 (decimals supported).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117156 NumToWord (by Mat)] - Convert numerals to a human readable string.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108803 Polynomials (by Mat)] - Functions for using polynomials.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83091 Primes (by jennico)] - Many functions dealing with prime number generation and calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94770 Roman Numerals (by AZJIO)] - Roman Numerals.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98160 Root function (by Mat)] - Working out real roots of numbers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209527 Stat (by AspirinJunkie)] - Statistics for Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163899 StringAPL (by minx)] - inline APL interpreter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=82722 Trigonometric and math functions (by trancexx)] - _ATan2(), _Cosh(), _Frexp(), _Hypot(), _Ldexp(), _Logb(), _Sinh(), _Tanh().&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95357 FreeImage library (by ProgAndy)] - Various operations on images, such as rotate, resize, flip.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll (by Trong)] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127263 HtmlHelp (by Geodetic)] - HtmlHelp functions for context-sensitive help from CHM (compiled HTML) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116009 HyperCam (by seangriffin)] - HyperCam (Screen Recording) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182535 HyCam2 (by willichan)] - Automation for HyCam2 screen recording utility.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50608 OCR (by ptrex)] - Real OCR in AU3 - MODI with MS Office 2003.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=89542 OCR (by seangriffin)] - Tesseract (Screen OCR) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206133 OCRSpace (by MrKm)] - Convert Images to text with the OCRSpace API. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51054 Printer controller (by martin)] - Print text in any font, size and colour at any position on the page, draw lines, curves, elipses, pies in any colour, and print images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73993 Printing (by GRS)] - Printing from AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202621 QRCreator (by BugFix)] - Simple QR-code creation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161831 RTF_Printer (by mLipok)] - Printing RichEdit in the background.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94834 Simple DirectMedia Layer (by AdmiralClaws)] - Adds support for joysticks, CDs, 2D graphics, timers. See [https://www.libsdl.org/ SDL website] for more information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207324 UWPOCR (by Danyfirex)] - Universal Windows Platform Optical Character Recognition API.&lt;br /&gt;
&lt;br /&gt;
===Graphics and image===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202987 AutoYolo3 (by smartee)] - Real-Time Object Detection using YOLOv3 wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113881 au3Irrlicht2 (by JRowe)] - Combining Irrlicht and AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86748 AVI writing udf (by monoceres)] - Create uncompressed avi&#039;s from bitmap files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27362 Bitmap Library (by evilertoaster)] - Bitmap Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202663 GIF animation (by Nine)] - Fast cached GIF animation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150231 GTK+  (by prazetto)] - GTK+ Framework | Widgets.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=13096 ImageGetInfo (by Lazycat)] - Read info from JPEG, TIFF, BMP, PNG and GIF - size, color depth, resolution.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/471-image-search-udf Image Search (by VIP)] - Search for an image on the desktop. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70506 IrrLicht (by A. Percy)] - A 3D graphics engine suitable for creating games.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160732 OpenCV (by myliseJ)] - UDF for the OpenCV library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206432 OpenCV v4+ (by smbape)] - OpenCV UDF with support for OpenCV v4+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151011 OpenGL (by LarsJ)] - OpenGL without external libraries etc. For JPEG files it also retrieves various Exif information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148129 OpenGL (2.0) (by minx)] - New set of UDFs for OpenGL + AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152950 S3D (by Starg)] - Draw simple 3D graphics with GDI+.&lt;br /&gt;
&lt;br /&gt;
===Players===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114143 VLC (by seangriffin)] - VLC (Media Player) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91316 VLC Media Player (by ptrex)] - VLC Media Player.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27352 WMP (by ConsultingJoe)] - Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44008 WMP - Media Controls (by CFire)] - Another Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203154 WMP - GUI Control (by SudeepJD)] - IE based WMP Control.&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83481 BASS Function Library (by BrettF)] - Sound and Music via wrappers for Bass, BassEnc, Bass FX, BassSFX, BassAsio and BassCd DLLs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173808 libZPlay (by Danyfirex)] - Multimedia library for playing mp3, mp2, mp1, ogg, flac, ac3, aac, oga, wav and pcm files and streams.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=37072 MIDI (by eynstyne)] - MIDI UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208116 MIDI (by MattyD)] - Wrap of the Windows MIDI functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114742 SAPIListBox (by seangriffin)] - SAPIListBox (Speech Recognition) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=100439 TTS (by Beege)] - Text-to-Speech UDF.&lt;br /&gt;
&lt;br /&gt;
== PDF ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162195 Acrobat Reader - ActiveX Viewer (by mLipok)] - Make your own PDF Viewer GUI with Acrobat Reader ActiveX COM Object &amp;quot;AcroPDF.PDF.1&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164469 Debenu PDF Viewer SDK (by mLipok)] - A collection of functions to display PDF files in your applications using Debenu PDF Viewer SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160875 Debenu Quick PDF Library (by mLipok)] - A collection of functions for Debenu Quick PDF Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75832 FoxIt Reader (by ptrex)] - PDF Reader in AU3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118827 MPDF (by taietel)] - Create PDF from your application.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=42776 PDFCreator (by ptrex)] - Automation of PDFCreator allows you to create and manipulate PDF files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170550 PDFCreator (by mLipok)] - UDF for PDFCreator v1.x.x with working EVENTs Handler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32261 _StringToPDF (by Tam0r)] - Write a string to a PDF file and specify font size, type etc.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145158 Firewall (by JLogan3o13)] - Control and manipulate the Windows Firewall (enable/disable, Exclusions list, enable/disable ports etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194015 Firewall policy2 (by Bilgus)]- Provides access to the firewall policy for Windows Vista+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150819 VirusTotal (by Danyfirex)] - VirusTotal API 2.0 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred (by DonChunior)] - Interface to the Windows Credential Management API.&lt;br /&gt;
&lt;br /&gt;
== Social Media and other Website API ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159254 Cex.io (by AquilesCrespo)] - UDF script for using with the web api from https://cex.io/ server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169333 CrowdinAPI (by mLipok)] - Uses the [https://crowdin.com/page/api crowdin.net website API] for some functions (create projects, add and update files, download translations or integrate localization).&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/290-dropbox-authenticator/ Dropbox authenticator (by Gimerly)] - Dropbox authenticator.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158106 Easypost (by dcat127)] - Print USPS Postage Labels.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114801 eBay (by seangriffin)] - eBay UDF (functions GetItemStatus and GetSingleItem from the &amp;quot;Shopping API&amp;quot;).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=141340 Gmail (by PhoenixXL)] - Remote Gmail (UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192422 Gmail API (by Ascer)] - Automate communication with Gmail using oAuth 2.0 security. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98504 Google Functions (by Beege)] - Google Functions (Suggestions, Definitions, Translate, Convert).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=115437 Google Maps (by seangriffin)] - Google Maps UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70675 iTunes (by torels)] - iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101802 iTunes (by Beege)] - Another iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150985 No-IP (by Nessie)] - Simply update your no-ip hostname(s) and retrieve the ip address of an no-ip address.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192391 oAuth (by Ascer)] - Open standard for access delegation, commonly used to grant websites or applications access to other websites.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150838 PasteBin (by mrflibblehat)] - Pastebin UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121767 Skype (by FireFox)] - Skype4COM provides an ActiveX interface to the Skype API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113234 Teamspeak 3 (by chipDE)] - Teamspeak 3 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186944 TeamViewer API (by mLipok)] - A collection of function for use with TeamViewer API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186381 Telegram Bot (by LinkOut)] - UDF for [https://core.telegram.org/api Telegram messenger API].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166547 TVmaze.com API (by BBs19)] - TVmaze.com API UDF (TV-Series).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116600 Twitter (by seangriffin)] - Manage Twitter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149247 Yahoo Weather (by Nessie)] - Yahoo Weather API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112775 Youtube Uploader (by BrettF)] - AYTU - AutoIt Youtube Uploader.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50880 ACL (by ptrex)] - Set ACL on windows Objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134508 ACL (by FredAI)] - Do most everything with the DACL and ownership on all types of objects: Files or folders, Registry keys, services, Kernel and WMI objects, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206400 BITS (by DonChunior)] - Background Intelligent Transfer Service to download files from or upload files to HTTP web servers and SMB file shares.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184937 CertUtil (by mLipok)] - Wrapper for windows certutil.exe (command-line program that is installed in Windows as part of Certificate Services).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113560 FileSystemMonitor (by seangriffin)] - Monitors the file system by recording all file system events occurring within a given path.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111018 ITaskBarList (by Beege)] - ITaskBarList UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74118 Local account (by engine)] - Manage local accounts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161193 Magnifier Functions (by Ascend4nt)] - Exposes most of the useful Magnifier API functions available since Windows Vista.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75250 Registry (by engine)] - Windows Registry UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50551 Registry (by seanhart)] - RegWriteAllUsers / RegDeleteAllUsers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=80201 Service (by arcker)] - Build your own service with AutoIt code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124508 Startup (by guinness)] - Create Startup entries in the Startup Folder or Registry.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164756 SCCM (by JLogan3o13)] - Systems Center Configuration Manager Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134628 System restore (by FredAI)] - System restore UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186111 SubstWrapper (by mLipok)] - Wrapper for windows subst.exe command - (Associates a path with a drive letter).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135994 Taskplanner/Taskscheduler COM (by Allow2010)] - an UDF for using the Windows Taskplaner / Task Scheduler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83355 Task Scheduler (by dbzfanatic)] - Task Scheduler UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200068 TaskScheduler (by water)] - Brushed up Task Scheduler UDF. Link to the [[TaskScheduler|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173934 TTS (by Kanashius)] - Used with SAPI Automation Object - text-to-speech (TTS) engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158377 UAC (by AdamUL)] - User Account Control (UAC) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=175719 Utter (by Surya)] - Utilizing more of SAPI (Speech Recognition UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127075 WIMGAPI (by Homes32)] - Manipulate Windows Image Files (.wim) without ImageX.exe.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=28436 Windows Events (by Emperor)] - Create your own Windows events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=6487 Windows Service Control functions (by SumTingWong)] - Some limited functions to control services (create, start, stop, delete, check ...).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81880 Windows Services (by engine)] - Windows Services UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212222 WinRT Libraries (by MattyD)] - Libraries to access WinRT Objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163178 WRMF (by Luigi)] - WRMF - Windows Registry Monitor Call Function.&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/topic/178871-dllcall-with-c-example/#comment-1285754 SMSApi (by mLipok)] - UDF for SMSAPi which provides SMS services. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/index.php?showtopic=178589 BulkSMS (by Skysnake)] - UDF for BulkSMS which provides SMS services. --&amp;gt;&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145099 _AdlibEnhance (by JScript)] - Enhance Adlib to call functions with parameters, pause and resume.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160936 Android (by Moriba)] - Control any Android device.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97826 Animated tray icons (by Yashied)] - Make animated tray icons easily.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163577 Atom Table (by Ascend4nt)] - Store (add, find, delete, and query) strings locally (at program level) or globally (at OS level) with unique numerical identifiers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170087 Barcode generators (by willichan)] - Creates a Code128A/B/C or Creates a Code39 or Code39Extended optimized barcode from supplied data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211660 BlockInput (by Nine)] - Block all input coming from mouse and/or keyboard, without having an UAC warning displayed. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87735 BlockInputEx (by MrCreatoR)] - Supports a few features that built-in BlockInput() function does not.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29763 Clipboard (by eltorro)] - When apps need to watch the clipboard.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170630 ClipboardEx (by ozmike)] - Allows to have more than 1 item in the Clipboard. Handles all data types, not just text.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81267 Clipboard History (by wraithdu)] - Save and restore the entire clipboard contents. Inspired by AHK&#039;s ClipboardAll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169610 CmdLine (by Jefrey)] - Collection of functions to parse command line arguments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126569 Console (by Shaggi)] - Functions and features to work wiht Console input/output.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121833 Copy (by Yashied)] - Copy or move files and directories without suspending your script. Retrieve the current state (copied bytes, error code etc.) while copying.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154684 Date / Time convert (by Melba23)] - Transform date/time formats.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99106 _DLLStructDisplay (by Ascend4nt)] - Show Struct in ListView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157689 _FileGetMimeType (by Wiliat87)] - Retrieve MIME types based on the extension of the filename/filepath/URL provided.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117033 File locking with cooperative semaphores (by willichan)] - Simple file locking without a server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157241 FindMimeFromData (by twbradio)] - FindMimeFromData using urlmon.dll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181997 Font Icon (by J2TeaM)] - Use Font Awesome in your AutoIt project.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68422 HotString (by jvanegmond)] - Similar to the HotKey function but trigger on a string, instead of a key or key combination.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173946 LASM - Light Assembler (by minxomat)] - Inline UDF for an Assembler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161628 LFN (by orbs)] - Overcome MAX_PATH limit of 256 chars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111492 Link Grammar for AutoIt (by JRowe)] -  Input is a regular sentence in English, German or Italian, output is a pattern parsed from the structure of the sentence.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/147-mruau3 MRU (by Yashied)] - Most Recently Used (MRU) List Automation functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188158 .NET Common Language Runtime (CLR) Framework (by Danyfirex, Junkew, Larsj, ptrex, Trancexx)] - Allows AutoIt to access .NET Class Libraries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101733 NoFocusLines (by Melba23)] - Remove the dotted focus lines from buttons, sliders, radios and checkboxes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149176 NotifyIcon (by FireFox)] - Create, delete and manage self notify icons (formerly TrayIconEx). &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=63318 PixelGetColor (by Manadar)] - Get or Read Pixel from memory.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167024 RDC (by Yashied)] - ReadDirectoryChanges Wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51103 Resources (by Zedna)] - Embed any binary data into your AutoIt compiled EXE files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162499 ResourcesEx (by guinness)] - Up to date version of Zedna&#039;s Resources UDF. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111215 Restart (by Yashied)] - Allows to restart a script from any location with full restoration of the original command line parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51547 SciLexer (by Kip)] - Editing control, supports multiple editors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152093 ScriptEditor (by pandel)] - ScriptEditor with I18N support and customizable lexer completely written in AutoIt (based on SciLexer).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162033 Spell Checker (by iCode)] - Spell Checker functions to call Hunspell, Hyphenate and MyThes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164444 Synology filestation (by nend)] - Functions to interact with a Synology NAS server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163328 TimeConvert (by orbs)] - Convert UTC to/from local time, and/or reformat the string representation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint (by UEZ)] - Creating barcodes using the Zint.dll.&lt;br /&gt;
[[Category:UDF]]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15296</id>
		<title>User Defined Functions</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15296"/>
		<updated>2026-05-11T15:30:30Z</updated>

		<summary type="html">&lt;p&gt;Water: Undo revision 15289 by Water (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
This page is a listing of libraries of &#039;&#039;&#039;user defined functions&#039;&#039;&#039; (UDF). These libraries have been written to allow easy integration into your own scripts and are a very valuable resource for any programmer.&amp;lt;br /&amp;gt;&lt;br /&gt;
This list is probably not complete (409 UDFs on 2026-05-07), but constantly supplemented.&lt;br /&gt;
If you do not find a solution here, ask a new question on the [https://www.autoitscript.com/forum/forum/2-general-help-and-support/ forum].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
The listed UDFs might have been written for older versions of AutoIt. So there is no guarantee that every UDF works smoothly with newer versions.&amp;lt;br /&amp;gt;&lt;br /&gt;
None of the UDFs has been tested by the maintainers of this list so you as a user need to make sure that they deliver the expected results.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;When will an UDF be added to this list?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
It should meet all/most of the general requirements for UDFs as described [[UDF-spec|here]].&amp;lt;br&amp;gt;&lt;br /&gt;
In addition the following requirements should be met:&lt;br /&gt;
* &#039;&#039;&#039;Documentation&#039;&#039;&#039;: So users can tell what the UDF is intended to do (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Examples&#039;&#039;&#039;: So users can get an idea how to use the UDF. The more the better (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Operating systems&#039;&#039;&#039;: Should support the latest Microsoft OS (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;AutoIt&#039;&#039;&#039;: Should support the latest version of AutoIt (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Author&#039;&#039;&#039;: The author should still be active on the forum so he can reply to questions (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What to do when one of your UDFs is missing?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please send a [https://www.autoitscript.com/forum/messenger/compose/?to=7903 PM] to user water. Add a short description of the UDF and a link to your post in the [https://www.autoitscript.com/forum/forum/9-autoit-example-scripts/ Example Scripts] or [https://www.autoitscript.com/forum/forum/49-autoit-projects-and-collaboration/ Projects and Collaboration] forum.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Added in the past two years&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date !! Section !! Creator !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-07 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || MattyD || [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP UDF] - SNMPv1 and SNMPv2c.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-01 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment] - Least Squares Adjustment.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-04-01 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || WildByDesign || [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-10 || [[User_Defined_Functions#Inter_Process_Communications|Inter Process Communications]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC] - Inter Process Communication using TCP/IP.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-09 || [[User_Defined_Functions#Browsers|Browsers]] || ioa747 || [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt] - Integrate WebView2 into AutoIt via COM. &lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-19 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF] - TCP/UDP Networking Library.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || BugFix || [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx] - Another kind of group, versatile changeable.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-16 || [[User_Defined_Functions#Security|Security]] || DonChunior || [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred] - Interface to the Windows Credential Management API.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || genius257 || [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast] - Native Win8+ toast notifications.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Media|Media]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Hardware|Hardware]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213296 Monitor] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-09-22 || [[User_Defined_Functions#Misc|Misc]] || UEZ || [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint] - Creating barcodes using the Zint.dll.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-07-27 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || DXRW4E || [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-04-16 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || seangriffin || [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-03-22 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-02-26 || [[User_Defined_Functions#Controls|Controls]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-16 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Gianni || [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask] - Easily run and manage many processes.&lt;br /&gt;
|- &lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || NoNameCode || [https://www.autoitscript.com/forum/index.php?showtopic=211475 Darkmode] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Network_Guy || [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-11 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || t0nZ || [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog] - Logs made easy.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || argumentum || [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-21 || [[User_Defined_Functions#Controls|Controls]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker] - Date Range Picker Control.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-06 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place the Table of contents (TOC) here --&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Automation ==&lt;br /&gt;
&lt;br /&gt;
===Browsers===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154439 Chrome (by seangriffin)] - Automate the most common tasks in Chrome with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95595 Firefox (by Stilgar)] - A little less support for automation than IE, but still very good.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167661 Firefox (by Danp2)] - Modified newer version of Stilgar Firefox UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/224-firefox-profile-backup/ FireFox Profile Backup 1.0 (by careca)] - Backup or restore your firefox profile. The application searches for the profile in home drive that will be the one to backup.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _FF_AutoLogin (by Stilgar)] - This is a auto-login function and login-function-generator for FireFox and the FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92035 _FF_DM (by Stilgar)] - UDF to control the FireFox Download-Manager (not the download-window).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91650 _FF_FoxBox (by Stilgar)] - UDF to control Fox!Box (A Mozilla Firefox extension for the AVM FRITZ!Box) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91665 _FF_Screengrab (by Stilgar)] - UDF to control Screengrab! (FireFox-AddOn) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _HTML (by Stilgar)] - Get informations from any HTML (XML) source, without any browser.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166542 HTMLDocumentEvents (by SmOke_N)] - Track IE document events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167035 IEEx (by SmOke_N)] - IE extended library with some Javascript options.&lt;br /&gt;
* Internet Explorer (by DaleHohm et al.) - IE library that is now supplied with a standard AutoIt install.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153520 IUIAutomation MS framework (by junkew)] - IUIAutomation MS framework to automate chrome, FF, IE etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149203 NavInfo (by Nessie)] - With this UDF you can check if a specified browser/software is installed and which version is being used.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=61090 Opera (by MrCreatoR,)] - Automate the most common tasks in Opera with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191990 WebDriver (by Danp2)] - W3C compliant Webriver UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt (by ioa747)] - AutoIt WebView2 Component (COM Interop).&lt;br /&gt;
&lt;br /&gt;
===Microsoft Office===&lt;br /&gt;
Some features of Microsoft&#039;s Office products are proprietary and cannot readily be manipulated.  Sometimes workarounds are required.&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;[[Known issues with Microsoft Office automation.|This page]]&amp;lt;/u&amp;gt; is dedicated to identifying those issues, provide explanations and list solutions or workarounds.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32144 Microsoft Office Access (by randallc)] - Automate Microsoft Access.&lt;br /&gt;
* Microsoft Office Excel (by water et al.) - This UDF is included in AutoIt. Link to the [[Excel_UDF|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135312 Microsoft Office Excel Charts (by water, GreenCan)] - Creating charts using Microsoft Excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204034 Microsoft Office Excel Pivot Tables (by SudeepJD)] - Create and Update Excel Pivot Tables and Charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126305 Microsoft Office Outlook (Items) (by water)] - Automate Microsoft Outlook Items. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202451 Microsoft Office Outlook (GUI) (by water)] - Automate Microsoft Outlook GUI. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197346 Microsoft Office Outlook Tools (by water)] - Built on top of the OutlookEX UDF it offers some often needed extended functionality (import/export ics/vcf files etc.). Link to the [[OutlookTools|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50254 Microsoft Office PowerPoint (by Toady)] - Automate Microsoft PowerPoint.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=178783 Microsoft Office PowerPoint (by water)] - Automate Microsoft PowerPoint. Link to the [[Powerpoint|documentation]] pages.&lt;br /&gt;
* Microsoft Office Word (by water et al.) - This UDF is included in AutoIt. Link to the [[Word_UDF|documentation]] pages.&lt;br /&gt;
&lt;br /&gt;
===OpenOffice/LibreOffice===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210514 LibreOffice Suite (by donnyh13)] - A huge list of functions for LibreOffice Base, Calc and Writer. Link to the [[LibreOffice|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151530 OOo/LibO Calc (by GMK)] - OpenOfficeCalc UDF (works also for Libre Office).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185932 OpenOffice/LibreOffice Spell Checker (by GMK)] - Function to validate words, and show spell alternatives.&lt;br /&gt;
&lt;br /&gt;
===Other Applications===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106163 Active Directory (by water)] - Extensive library to control and manipulate the Windows active directory ([https://www.autoitscript.com/forum/files/file/355-ad-active-directory-udf/ Download]). Link to the [[Active_Directory_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87956 Java (by seangriffin)] - Creates an access bridge between your application and a Java application. Allowing you to automate some Java applications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86574 SAP (by seangriffin)] - SAP business management automation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149540 SAPWizard (by ozmike)] - SAPWizard UDF.&lt;br /&gt;
&lt;br /&gt;
== Script Coding/Analyzing/Debugging ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209528 ArrayCombinations (by AspirinJunkie)] - Different ways of composing elements of a set.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155442 ArrayMultiColSort (by Melba23)] - Function to sort a 2D array on several columns.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209523 ArrayPlus (by AspirinJunkie)] - Functions for flexible Array handling (create, extract, rebuild, sort, filter, find, print)&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180467 ArrayWorkshop (by czardas)] - Multidimensional array functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=59174 Associative array functions (by Nutster)] - Manage a version of associative arrays in single AutoIt variables. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=198929 AutoIt error logger (AUERLO) (by user4157124)] - File- and stdout (etc.) output of messages, errors, exit method and -code, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110379 AutoItObject (by ProgAndy and others)] - Brings the Object Orientation programming paradigm to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112879 AutoIt Syntax Highlight (by MrCreatoR)] - Highlights AutoIt v3 syntax code to html/bbcode format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191488 cDebug (by c.haslam)] - Dumps the values of all AutoIt subtypes and expressions including nested arrays, DLL structs and maps.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor (by Nine)] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195882 ErrorLog (by mLipok)] - Logs program activities and errors to different output locations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211718 FuzzyString (by AspirinJunkie)] - Fuzzy string comparison and search in string arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143167 GetOpt (by dany)] - Parse GNU and DOS style command line options similar to getopt().&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog (by t0nZ)] - Logs made easy.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156196 Log4a (by zorphnog)] - Logging library loosely based upon the log4j and NLog libaries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195862 Loga (by Danyfirex)] - Simple logging library to keep track of code with an integrated console.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119032 Log UDF (by Yashied)] - Create a text log files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202832 OnDebugMsgBox (by argumentum)] - Catch the dreaded &amp;quot;AutoIt Error&amp;quot; MsgBox and prettify or hide it.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209529 Set (by AspirinJunkie)] - Provides a set data type and brings the corresponding mathematical functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200660 Variants and Safearrays (by LarsJ)] - Create/access/process Variants and SafeArrays.&lt;br /&gt;
&lt;br /&gt;
=== Inter Process Communications ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202485 AppInteract (by MrCreatoR)] - Reliably pass arrays or other types between processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC (by Kanashius)] - Inter Process Communication using TCP/IP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=205109 AutoItSharedData (by SEuBo)] - Create a shared data storage, a simple AutoItObject-Object, using AutoItObject_Internal.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188991 Autoit-Socket-IO (by tarretarretarre)] - Event driven TCP/IP wrapper inspired by Socket.IO with focus on user friendliness and long term sustainability.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126936 Container (by MrCreatoR)] - Scripts interaction method. Allows to transfer whole arrays as data, and even COM objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=55994 DDEML (by doudou)] - Use your AutoIt script as DDE client or server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193277 FMIPC (by argumentum)] - IPC via FileMapping.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127615 Interprocess (by JScript)] - Remotely execute a function in another script (using Mailslot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193158 IPC_IO (by JohnWIlling)] - IPC library supporting multiple connection types (such as: Named Pipe, File, TCP, SharedMemory, MailSlot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202618 IPC Techniques through ROT Objects (by LarsJ)] - Implementing IRunningObjectTable Interface.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106710 Mailslot (by trancexx)] - IPC using Mailslots.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204734 Overlapped Named Pipe IPC (by Nine)] - Very fast interprocess communication that could be used between VBS or AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169797 Pool - Post Office for Organized Labour (by RTFC)] - Provides multiple AutoIt processes with an infrastructure for exchanging messages, data, and remote-control instructions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202587 WCD IPC (by Nine)] - Framework for Inter Process Communication using Windows Messages WM_COPYDATA.&lt;br /&gt;
&lt;br /&gt;
=== Parallel/concurrent processing ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork (by argumentum)] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186853 _Multiprocess (by jguinch)] - Run several external programs at the same time and retrieve the exit code of each process.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask (by Gianni)] - Easily run and manage many processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking (by Network_Guy)] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT (by Nine)] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
&lt;br /&gt;
== Files, Databases and web connections ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180850 ADO (by mLipok)] - A modifed version of the _SQL UDF to access all kind of databases (MSSQL, MySQL, PostgreSQL, SQLite, MS ACCESS, XLS, TXT, and many other which use ADO and ODBC).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105875 ADODB (by spudw2k)] - ADODB Example.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 AXML (by Aipion)] - This is a Wrapper for Pugixml, made with C++.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145142 DBF (by funkey)] - dBase database read and write with DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/topic/114406-csv-file-to-multidimensional-array/#findComment-799820 CSV (by ProgAndy)] - Read/write CSV files to/from 2D arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197909 CSV (by seangriffin)] - Manipulate CSV files using SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155748 CSVSplit (by czardas)] - Convert to and from CSV format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151116 DIF (by willichan)] - Read/write DIF (Data Interchange Format) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119238 Excel file generation (by jerome)] - Excel file generation (multi-sheet workbook) without the need to have Excel installed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143866 Excel XML (by FireFox)] - Work with SpreadsheetML (Open XML file formats).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155905 EXml (by jdelaney)] - Create Excel file (SpreadsheetML) through &amp;quot;Microsoft.XMLDOM&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116072 EzMySql (by Yoriz)] - Use MySQL Databases with AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148232 _FileGetProperty (by BrewManNH)] - Retrieve properties of a file.Xml2Json&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94920 FireBird (by eltorro)] - FireBird, Interbase DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx (by DXRW4E)] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197421 jq (by TheXman)] - Brings the power and flexibility of jq (an open-source command-line based JSON processor) to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209502 JSON (by AspirinJunkie)] - Interacting with JSON data in AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104150 JSON (by Gabriel13)] - RFC4627 compliant JSON encode/decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148114 JSON (by Ward)] - JSMN - A Non-Strict JSON UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156794 JSON (by ozmike)] - Bridge to Native Windows JSON plus OO extension for AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC (by seangriffin)] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173797 JSONgen (by Jefrey)] - Generate JSON.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127101 MS SQL (by TheLuBu)] - MSSQL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51952 MS SQL (by ChrisL)] - _SQL. ADODB Connection.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20814 MySQL (by cdkid)] - MySQL relational database management system.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85617 MySQL (by ProgAndy)] - MySQL UDFs (without ODBC - working with libmysql.dll).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=122360 MySQL (by James)] - MySQL ODBC Connector.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187223 romaSQL (rynow)] - Built on the concept of Laravel Query &amp;amp; doctrine. Connection string is based on ADODB / ODBC.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143331 Sharepoint 2007/2010 (by schoppet)] - Access the SOAP-Webservices of Sharepoint 2007/2010.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17099 SQLite (by ptrex)] - SQLite is a library that implements a self-contained, embeddable, zero-configuration SQL database engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=142977 SQLite Array Functions (by SmOke_N)] - SQLite Array Functions - a faster method for unique arrays and sorting methods.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140521 SQLite - Database (by PhoenixXL)] - UDF for SQLite so that beginners will also be able to do the stuff.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157853 SQLiteEx (by 57ar7up)] - SQLiteEx UDF v0.5.1 - Simplest work with SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163633 Xbase I/O (by RTFC)] - Transfer data between Xbase Data file (*.dbf) and AutoIt array written in pure AutoIt (no SQL, no ADO, no dlls, no external dependencies).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209526 xlsxNative (by AspirinJunkie)] - Read and write xlsx files without excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=19848 XML DOM Wrapper (by eltorro)] - Supports CRUD operations on XML. Including XSL and XPath.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 XML (by mLipok)] - New version of XML DOM Wrapper, with many new features.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208932 Xml2Json (by TheXman)] - Transform XML to JSON.&lt;br /&gt;
&lt;br /&gt;
== Data compression ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85094 7z, zip, gzip, bzip2, tar (by rasim)] - Extensive library that uses a external DLL that must be provided with the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92958 gZip (by Zinthose)] - Based on the parsing of gZip.exe output. It can work with memory, it doesn&#039;t work with files. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87441 LZMA (by trancexx)] - LZMA (Native Windows).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138838 Package (by Yashied)] - Package UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129529 pZip (by asdf8)] - PureZIP_L library UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=76176 UnRAR (by rasim)] - UnRAR.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17727 XZip (by eltorro)] - Another UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161847 XZip (by mLipok)] - UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44524 Zip plugin (by eltorro)] - Zip plugin.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73425 ZIP (by torels)] - ZIP UDF in pure AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116565 zip (by wraithdu)] - Create ZIP files and unpack ZIP files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135565 ZIP (by joakim)] - ZIP STRUCTS UDF (from scratch).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87284 ZLib (by monoceres)] - Based on ZLib.dll. It can compress/uncompress data in memory, it doesn&#039;t work with files.&lt;br /&gt;
&lt;br /&gt;
== Encryption and hash ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81332 _Base64Encode, _Base64Decode (by trancexx)] - Fast _Base64Encode, _Base64Decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153246 Base91 and Base128 (by Beege)] - Base91 and Base128 functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155538 Codecrypter (by RTFC)] - Encrypt scripts without placing the key inside the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=201002 Cryptography API: Next Gen (by TheXman)] - Microsoft&#039;s long-term replacement for their CryptoAPI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210901 Enigma (by willichan)] - Simple encryption based on the Enigma Machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203990 GDPR (by mLipok)] - Functions to encrypt/decrypt strings and files with the GDPR in mind.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95558 Hashes for files (by trancexx)] - Fast RC32, MD4, MD5, SHA1 calculation for big files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107784 TrueCrypt (by FuryCell)] - TrueCrypt UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140737 WinTrust (by kasty)] - verify the integrity of a file with its embedded signature or a given catalog.&lt;br /&gt;
&lt;br /&gt;
== GUI Additions ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast (by genius257)] - Native Win8+ toast notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97241 3D Pie chart (by WideBoyDixon)] - 3D Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173924 Chart_UDF (by Kanashius)] - This UDF can be used to Display bar charts in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96258 ContextHelp (by Yashied)] - Management of context help ([https://www.autoitscript.com/forum/index.php?showtopic=72152-contexthelp/ original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211475 DarkMode (by NoNameCode)] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109096 ExtMsgBox (by Melba23)] - A very customisable replacement for MsgBox.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx (by BugFix)] - Another kind of group, versatile changeable.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105582 GUICtrlOnChangeRegister (by Mat)] - Call a function when an edits content is changed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme (by WildByDesign)] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145149 GUIExtender (by Melba23)] - Expand and contract sections of your GUI ([https://www.autoitscript.com/forum/index.php?showtopic=117909 original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197654 GuiFlatButton (by kurtykurtyboy)] - Change colors of regular buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119505 GUIFrame (by Melba23 &amp;amp; Kip)] - Divide a GUI into adjustable frames.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=144207 GUI Panel (by FireFox)] - Manage child GUIs as panel ctrls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113723 GUI Scrollbars (by Melba23)] - Automatically sized scrollbars with a single command.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161184 MetroGUI (by BBs19)] - Windows 10 style buttons, toggles, radios etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 Modern tray menu (by Holger)] - Allows the creation of modern, fancy GUI and tray menus with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194693 MTSkin (by Taskms4)] - Simply create modern looking GUIs (borderless GUI, Interactive menu panel (with mouse-over detection), a bunch of skins).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182136 Notifications (by S3cret91)] - Display permanent desktop notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=136149 Notify (by Melba23)] - Small notifications on the edge of the display.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161750 Pie chart (by Andreik)] - Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75429 Real Vista Aero Glass (by James)] - Real Vista Aero Glass UDF - you can apply glass effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF (by Nine)] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=71811 SetOnEvent (by martin)] - Provides an easy way for an event to call functions with parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=103871 _SysTray (by wraithdu)] - Get info about and manipulate Systray icons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108445 Toast (by Melba23)] - Small message GUIs which pop out of the Systray.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110003 Tray Icon Bar Graph (by BeeGee)] - Creates a scrolling bar graph as the tray icon.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=132864 Uskin (by JScript)] - Allows you to skin your GUI using the Windows &#039;&#039;.MSstyles&#039;&#039; files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191821 Wi3SMenu (by NHD)] - Create a slide menu with Windows 10 style. Supports color, icon and opacity.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129196 WinSnap (by Beege)] - Automatic Window Alignment by applying that &amp;quot;snappy edge&amp;quot; effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32494 XSkin (by Valuater)] - Allows skinning of your GUI and to apply custom skins.&lt;br /&gt;
&lt;br /&gt;
=== Controls ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202529 BrowseForFolder (by MrCreatoR)] - Handle SHBrowseForFolderW with more options, such as multi selection (checkboxes), window position, controls text and more. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=146406 Calendar (by jmon)] - Calendar UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125293 ChooseFileFolder (byMelba23)] - Single and multiple selections from specified path treeview listing.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96464 Colorpicker (by Yashied)] - Create a button for the user to select a color.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker (by Nine)] - Date Range Picker Control.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=123409 Explorer Frame UDF (by Beege)] - Takes any frame created by GUIFrame and turns it into a MS-Windows like Explorer window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview (by Kanashius)] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173929 GDIPlus Slider UDF (by Kanashius)] - This UDF can be used to create a slider with an imagebackground and an image to move.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=79412 Graph control (by andybiochem)] - Easily create and show bar chart and line charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104399 GraphGDIPlus UDF (by andybiochem)] - Easily create and show bar chart and line charts with GDI+ to take advantage of double-buffering.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105682 GUICtrlCreateFinder (by Mat)] - Allows you to create a window finder control like the one seen in AutoIt Window Info.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107965 GUIHotkey (by Mat)] - UDF for using native hotkey controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182492 GUIListViewEx (by Melba23)] - Insert, delete, move, drag, sort, edit and colour ListView items.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111438 GUIPager (by Mat)] - Create and control native pager controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 GUI/Tray Menu (by Holger, LarsJ, AZJIO)] - GUI/Tray Menu with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166594 GUITreeViewEx (by Melba23)] - Check/clear parent and child checkboxes in a TreeView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=90598 Hotkey input control (by Yashied)] - Hotkeys Input Control UDF Library (Non-native).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173932 ListView Edit UDF (by Kanashius)] - This UDF can be used to simply edit an Listview.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109355 ListView - Explorer like ListView UDF (by Beege)] - This UDF simplify creating MS Explorer-like ListViews.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143711 Marquee (by Melba23)] - Make tickertape info bars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143380 Predict Text UDF (by PhoenixXL)] - Sub classes the edit control and matches the current word through the Database &amp;amp; sets selection in accordance.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163939 Progressbar new style (by Muzaiyan)] - New styles for your progress bar.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74649 Progressbar with GDIplus (by ProgAndy)] - You even can use full textured images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151636 RestrictEdit_SRE UDF (by PhoenixXL)] - Restrict the text that can be entered in an editbox through a String Regular Expression.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128242 Ribbon (by trancexx)] - UDF for Windows Ribbon framework.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114034 StringSize (by Melba23)] - Automatically size controls to fit the text you want to put in them.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126958 Syslink (by Yashied)] - Provides a convenient way to embed hypertext links in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105814 Table (by andybiochem)] - Table UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211024 Toggle Button (by Andreik)] - Create simple toggle buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125251 TVExplorer (by Yashied)] - Allows to create TreeView (TV) Explorer controls that display a tree of files and folders.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=190659 Virtual Listview (by LarsJ)] - Virtual Listview for large amounts of data with a large number of rows.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195053 Windows Message Monitor (by LarsJ)] - Monitor Windows Messages of a window or control.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118317 Battery UDF (by Yashied)] - Retrieves various information and current status of the battery(s).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154727 BuildPartitionTable (by RTFC)] - Scans a physical drive&#039;s partition table and returns a partition_table, allocation_table and volumes_table.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155674 CommAPI (by therealhanuta)] - Serial and parallel communication (COM port, RS-232, LPT port) - without installing DLL&#039;s (using Windows API calls).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77731 Device Management (by weaponx)] - Device Management API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97487 DirectShow (by monoceres)] - DirectShow UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164700 DirectSound (by eukalyptus)] - DirectSound UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164701 Direct2D (by eukalyptus)] - Direct2D UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99713 Drive Info (by NerdFencer)] - Gathers drive info for Hard Drives, Disk Drives, and Floppy Drives.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138989 FritzBox (by Allow2010)] - _FB_Tools - manage your FritzBox from Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121084 I/O Port Functions (by Ascend4nt)] - Input/Output UDF for interacting with ports (x64 Parallel Port, Keyboard etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203207 MediaDevice (by Danyfirex)] - Transfer files to portable devices like phones, storages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php=showtopic=213296 Monitor (by Trong)] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154350 Monitor Configuration (by jaberwacky)] - Monitor Configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155469 Mouse (by AlmarM)] - AutoIt powered mouse events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=147325 MouseTrapEvent (by ozmike)] - MouseTrapEvent UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149083 NetInfo (by Nessie)] - UDF for test internet download speed and upload speed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155539 Network configuration (by jguinch)] - Network configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182684 Nitgen (by Jefrey)] - UDF to work with Nitgen fingerprint readers that use NGenBio SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210968 Printer Manager (by Nine)] - Manage printers with winspool.drv DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155485 Printers management with WMI (by jguinch)] - Add/delete printer, driver, port, or obtain configuration, set default printer ...&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=189190 Serial port UDF / COM port UDF (by MazeM)] - It is very similar to CommAPI using kernel32.dll, but all code is packed into a single file without any dependencies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128546 Serial Port/COM (by martin)] - Serial Port /COM Port UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27755 SMARTDRIVE (by ptrex)] - SMART drive Analysis.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158640 SPI Hardware Interface (by Blinky)] - Communicate with the MAX335 chip using the SPI protocol via the LPT (printer) port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=8188 VISA/GPIB (by Angel)] - VISA/GPIB library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68866 Webcam (by LIMITER)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70857 Webcam (by ludocus)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91018 WiFi (by MattyD)] - Low level control over your wireless LAN.&lt;br /&gt;
&lt;br /&gt;
== Information gathering ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29404 Computer information (by JSThePatriot)] - A general purpose library to get various details about a Windows machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151920 NetworkStatistics (by Ascend4nt)] - Network Interface Info, Statistics, and Traffic.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=54039 WinPcap (by JRSmile)] - Wrapper for the windows packet capture library WinPcap.&lt;br /&gt;
* [https://opensource.grisambre.net/pcapau3/ WinPcap (by Nicolas Ricquemaque)] - A library to access the main functionalities offered by the WinPcap driver.&lt;br /&gt;
&lt;br /&gt;
== Internet protocol suite ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207859 cURLX64 (by Beege)] - cURL UDF with x64 support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=137456 cURL (by seangriffin)] - A UDF for transferring data with URL syntax.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187718 HTTP lib (by Jefrey)] - HTTP lib (GET, POST and upload) UDF to simplify HTTP requests, mainly when dealing about POST data or file uploads.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202895 HttpApi (by TheXman)] - HTTP Server API enables applications to communicate over HTTP without using MS Internet Information Server (IIS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=40243 IMAP (by mikeytown2)] - IMAP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108422 IMAP4 (by Tipulatoid)] - IMAP4 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=43515 IRC (by McGod)] - A lightweight library for communicating with IRC servers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159285 IRC (by rcmaehl)] - IRC UDF - Updated Version of Chips&#039; IRC UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=22838 POP3 (by Apzo)] - POP3 library for retrieving email messages. Not compatible with Gmail because it uses SSL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167339 POP3 (by mLipok)] - POP3 UDF According to the 1939 RFC, modified version with Quoted Printable decoder.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154530 Prowl (by mrflibblehat)] - Push notifications to iPhone, iPod touch or iPad using Prowl (Growl client for iOS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138095 SFTP (by Lupo73)] - UDF to support SFTP protocol using PSFTP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154054 Socket UDF (by funkey)] - Socket UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=23860 SMTP (by Jos)] - Smtp Mailer That Supports Html And Attachments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167292 SMTP Mailer UDF (by mLipok)] - Smtp Mailer That Supports Html And Attachments - Modified Version with support to save EML files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81687 SNMP (by enaiman)] - SNMP_UDF for SNMPv1 and SNMPv2c.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP (by MattyD)] - SNMP UDF SNMPv1 and SNMPv2c. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70759 SNMP - MIB protocol (by ptrex)] - Reading toner status from SNMP device with WMI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166579 SSH (by jeanphile)] - Use the SSH protocol very easily in your code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185329 STUN (by j0kky)] - STUN is a protocol that permits you to know your external IP but, more interesting, your external port associated to your internal port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184817 SyslogSend (by Irios)] - This allows sending (BSD) messages to a syslog server using UDP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169774 TCPServer (by Jefrey)] - Multi client, event-based, able to bind console app to socket.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=57022 UPnP Protocol (by ptrex)] - UPnP - Read and Control your devices in side out.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=84133 WinHTTP (by trancexx)] - Access the HTTP protocol for creating GET and POST requests and submitting them with conforming standards, cookies not supported.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77503 WinInet (by -Ultima-)] - Access standard Internet protocols (FTP, Gopher and HTTP). Supports GET/POST requests and cookies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181645 Winsock (by j0kky)] - Create client/server application using native winsock functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF (by Trong)] - TCP/UDP Networking Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191954 WSA_NBTCP (by ripdad)] - Windows Sockets API - Non-Blocking Transmission Control Protocol.&lt;br /&gt;
&lt;br /&gt;
== Maths ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment (By AsprininJunkie)] - Least Squares Adjustment.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170658 Advanced Math UDF (by scintilla4evr)] - Advanced mathematical functions (primes, number sequences, interpolate, calculate values of functions like Riemann zeta etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=102686 Advanced rounding (by Mat)] - Support for different measures of accuracy and 8 ways to resolve tie breaks.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83529 Big number (by eukalyptus)] - Make calculations with extremely large numbers that AutoIt normally is not able to support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106551 Decimal To fraction (by Malkey)] - Converts any decimal number to a fraction. Example: 1.2 to 6/5.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162921 Eigen4AutoIt (by RFTC)] - Allows to perform fast matrix operations on large numerical data sets, and much more ....&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra (by AspirinJunkie)] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140789 MathsEx UDF (by PhoenixXL)] - Functions for Carrying Out More Advanced Mathematical Calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81189 Number base conversion (by james3mg)] - From, to and between positive bases less than 63 (decimals supported).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117156 NumToWord (by Mat)] - Convert numerals to a human readable string.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108803 Polynomials (by Mat)] - Functions for using polynomials.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83091 Primes (by jennico)] - Many functions dealing with prime number generation and calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94770 Roman Numerals (by AZJIO)] - Roman Numerals.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98160 Root function (by Mat)] - Working out real roots of numbers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209527 Stat (by AspirinJunkie)] - Statistics for Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163899 StringAPL (by minx)] - inline APL interpreter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=82722 Trigonometric and math functions (by trancexx)] - _ATan2(), _Cosh(), _Frexp(), _Hypot(), _Ldexp(), _Logb(), _Sinh(), _Tanh().&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95357 FreeImage library (by ProgAndy)] - Various operations on images, such as rotate, resize, flip.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll (by Trong)] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127263 HtmlHelp (by Geodetic)] - HtmlHelp functions for context-sensitive help from CHM (compiled HTML) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116009 HyperCam (by seangriffin)] - HyperCam (Screen Recording) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182535 HyCam2 (by willichan)] - Automation for HyCam2 screen recording utility.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50608 OCR (by ptrex)] - Real OCR in AU3 - MODI with MS Office 2003.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=89542 OCR (by seangriffin)] - Tesseract (Screen OCR) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206133 OCRSpace (by MrKm)] - Convert Images to text with the OCRSpace API. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51054 Printer controller (by martin)] - Print text in any font, size and colour at any position on the page, draw lines, curves, elipses, pies in any colour, and print images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73993 Printing (by GRS)] - Printing from AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202621 QRCreator (by BugFix)] - Simple QR-code creation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161831 RTF_Printer (by mLipok)] - Printing RichEdit in the background.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94834 Simple DirectMedia Layer (by AdmiralClaws)] - Adds support for joysticks, CDs, 2D graphics, timers. See [https://www.libsdl.org/ SDL website] for more information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207324 UWPOCR (by Danyfirex)] - Universal Windows Platform Optical Character Recognition API.&lt;br /&gt;
&lt;br /&gt;
===Graphics and image===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202987 AutoYolo3 (by smartee)] - Real-Time Object Detection using YOLOv3 wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113881 au3Irrlicht2 (by JRowe)] - Combining Irrlicht and AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86748 AVI writing udf (by monoceres)] - Create uncompressed avi&#039;s from bitmap files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27362 Bitmap Library (by evilertoaster)] - Bitmap Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202663 GIF animation (by Nine)] - Fast cached GIF animation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150231 GTK+  (by prazetto)] - GTK+ Framework | Widgets.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=13096 ImageGetInfo (by Lazycat)] - Read info from JPEG, TIFF, BMP, PNG and GIF - size, color depth, resolution.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/471-image-search-udf Image Search (by VIP)] - Search for an image on the desktop. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70506 IrrLicht (by A. Percy)] - A 3D graphics engine suitable for creating games.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160732 OpenCV (by myliseJ)] - UDF for the OpenCV library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206432 OpenCV v4+ (by smbape)] - OpenCV UDF with support for OpenCV v4+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151011 OpenGL (by LarsJ)] - OpenGL without external libraries etc. For JPEG files it also retrieves various Exif information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148129 OpenGL (2.0) (by minx)] - New set of UDFs for OpenGL + AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152950 S3D (by Starg)] - Draw simple 3D graphics with GDI+.&lt;br /&gt;
&lt;br /&gt;
===Players===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114143 VLC (by seangriffin)] - VLC (Media Player) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91316 VLC Media Player (by ptrex)] - VLC Media Player.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27352 WMP (by ConsultingJoe)] - Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44008 WMP - Media Controls (by CFire)] - Another Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203154 WMP - GUI Control (by SudeepJD)] - IE based WMP Control.&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83481 BASS Function Library (by BrettF)] - Sound and Music via wrappers for Bass, BassEnc, Bass FX, BassSFX, BassAsio and BassCd DLLs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173808 libZPlay (by Danyfirex)] - Multimedia library for playing mp3, mp2, mp1, ogg, flac, ac3, aac, oga, wav and pcm files and streams.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=37072 MIDI (by eynstyne)] - MIDI UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208116 MIDI (by MattyD)] - Wrap of the Windows MIDI functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114742 SAPIListBox (by seangriffin)] - SAPIListBox (Speech Recognition) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=100439 TTS (by Beege)] - Text-to-Speech UDF.&lt;br /&gt;
&lt;br /&gt;
== PDF ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162195 Acrobat Reader - ActiveX Viewer (by mLipok)] - Make your own PDF Viewer GUI with Acrobat Reader ActiveX COM Object &amp;quot;AcroPDF.PDF.1&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164469 Debenu PDF Viewer SDK (by mLipok)] - A collection of functions to display PDF files in your applications using Debenu PDF Viewer SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160875 Debenu Quick PDF Library (by mLipok)] - A collection of functions for Debenu Quick PDF Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75832 FoxIt Reader (by ptrex)] - PDF Reader in AU3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118827 MPDF (by taietel)] - Create PDF from your application.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=42776 PDFCreator (by ptrex)] - Automation of PDFCreator allows you to create and manipulate PDF files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170550 PDFCreator (by mLipok)] - UDF for PDFCreator v1.x.x with working EVENTs Handler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32261 _StringToPDF (by Tam0r)] - Write a string to a PDF file and specify font size, type etc.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145158 Firewall (by JLogan3o13)] - Control and manipulate the Windows Firewall (enable/disable, Exclusions list, enable/disable ports etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194015 Firewall policy2 (by Bilgus)]- Provides access to the firewall policy for Windows Vista+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150819 VirusTotal (by Danyfirex)] - VirusTotal API 2.0 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred (by DonChunior)] - Interface to the Windows Credential Management API.&lt;br /&gt;
&lt;br /&gt;
== Social Media and other Website API ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159254 Cex.io (by AquilesCrespo)] - UDF script for using with the web api from https://cex.io/ server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169333 CrowdinAPI (by mLipok)] - Uses the [https://crowdin.com/page/api crowdin.net website API] for some functions (create projects, add and update files, download translations or integrate localization).&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/290-dropbox-authenticator/ Dropbox authenticator (by Gimerly)] - Dropbox authenticator.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158106 Easypost (by dcat127)] - Print USPS Postage Labels.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114801 eBay (by seangriffin)] - eBay UDF (functions GetItemStatus and GetSingleItem from the &amp;quot;Shopping API&amp;quot;).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=141340 Gmail (by PhoenixXL)] - Remote Gmail (UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192422 Gmail API (by Ascer)] - Automate communication with Gmail using oAuth 2.0 security. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98504 Google Functions (by Beege)] - Google Functions (Suggestions, Definitions, Translate, Convert).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=115437 Google Maps (by seangriffin)] - Google Maps UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70675 iTunes (by torels)] - iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101802 iTunes (by Beege)] - Another iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150985 No-IP (by Nessie)] - Simply update your no-ip hostname(s) and retrieve the ip address of an no-ip address.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192391 oAuth (by Ascer)] - Open standard for access delegation, commonly used to grant websites or applications access to other websites.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150838 PasteBin (by mrflibblehat)] - Pastebin UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121767 Skype (by FireFox)] - Skype4COM provides an ActiveX interface to the Skype API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113234 Teamspeak 3 (by chipDE)] - Teamspeak 3 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186944 TeamViewer API (by mLipok)] - A collection of function for use with TeamViewer API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186381 Telegram Bot (by LinkOut)] - UDF for [https://core.telegram.org/api Telegram messenger API].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166547 TVmaze.com API (by BBs19)] - TVmaze.com API UDF (TV-Series).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116600 Twitter (by seangriffin)] - Manage Twitter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149247 Yahoo Weather (by Nessie)] - Yahoo Weather API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112775 Youtube Uploader (by BrettF)] - AYTU - AutoIt Youtube Uploader.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50880 ACL (by ptrex)] - Set ACL on windows Objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134508 ACL (by FredAI)] - Do most everything with the DACL and ownership on all types of objects: Files or folders, Registry keys, services, Kernel and WMI objects, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206400 BITS (by DonChunior)] - Background Intelligent Transfer Service to download files from or upload files to HTTP web servers and SMB file shares.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184937 CertUtil (by mLipok)] - Wrapper for windows certutil.exe (command-line program that is installed in Windows as part of Certificate Services).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113560 FileSystemMonitor (by seangriffin)] - Monitors the file system by recording all file system events occurring within a given path.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111018 ITaskBarList (by Beege)] - ITaskBarList UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74118 Local account (by engine)] - Manage local accounts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161193 Magnifier Functions (by Ascend4nt)] - Exposes most of the useful Magnifier API functions available since Windows Vista.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75250 Registry (by engine)] - Windows Registry UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50551 Registry (by seanhart)] - RegWriteAllUsers / RegDeleteAllUsers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=80201 Service (by arcker)] - Build your own service with AutoIt code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124508 Startup (by guinness)] - Create Startup entries in the Startup Folder or Registry.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164756 SCCM (by JLogan3o13)] - Systems Center Configuration Manager Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134628 System restore (by FredAI)] - System restore UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186111 SubstWrapper (by mLipok)] - Wrapper for windows subst.exe command - (Associates a path with a drive letter).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135994 Taskplanner/Taskscheduler COM (by Allow2010)] - an UDF for using the Windows Taskplaner / Task Scheduler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83355 Task Scheduler (by dbzfanatic)] - Task Scheduler UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200068 TaskScheduler (by water)] - Brushed up Task Scheduler UDF. Link to the [[TaskScheduler|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173934 TTS (by Kanashius)] - Used with SAPI Automation Object - text-to-speech (TTS) engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158377 UAC (by AdamUL)] - User Account Control (UAC) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=175719 Utter (by Surya)] - Utilizing more of SAPI (Speech Recognition UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127075 WIMGAPI (by Homes32)] - Manipulate Windows Image Files (.wim) without ImageX.exe.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=28436 Windows Events (by Emperor)] - Create your own Windows events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=6487 Windows Service Control functions (by SumTingWong)] - Some limited functions to control services (create, start, stop, delete, check ...).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81880 Windows Services (by engine)] - Windows Services UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163178 WRMF (by Luigi)] - WRMF - Windows Registry Monitor Call Function.&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/topic/178871-dllcall-with-c-example/#comment-1285754 SMSApi (by mLipok)] - UDF for SMSAPi which provides SMS services. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/index.php?showtopic=178589 BulkSMS (by Skysnake)] - UDF for BulkSMS which provides SMS services. --&amp;gt;&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145099 _AdlibEnhance (by JScript)] - Enhance Adlib to call functions with parameters, pause and resume.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160936 Android (by Moriba)] - Control any Android device.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97826 Animated tray icons (by Yashied)] - Make animated tray icons easily.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163577 Atom Table (by Ascend4nt)] - Store (add, find, delete, and query) strings locally (at program level) or globally (at OS level) with unique numerical identifiers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170087 Barcode generators (by willichan)] - Creates a Code128A/B/C or Creates a Code39 or Code39Extended optimized barcode from supplied data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211660 BlockInput (by Nine)] - Block all input coming from mouse and/or keyboard, without having an UAC warning displayed. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87735 BlockInputEx (by MrCreatoR)] - Supports a few features that built-in BlockInput() function does not.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29763 Clipboard (by eltorro)] - When apps need to watch the clipboard.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170630 ClipboardEx (by ozmike)] - Allows to have more than 1 item in the Clipboard. Handles all data types, not just text.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81267 Clipboard History (by wraithdu)] - Save and restore the entire clipboard contents. Inspired by AHK&#039;s ClipboardAll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169610 CmdLine (by Jefrey)] - Collection of functions to parse command line arguments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126569 Console (by Shaggi)] - Functions and features to work wiht Console input/output.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121833 Copy (by Yashied)] - Copy or move files and directories without suspending your script. Retrieve the current state (copied bytes, error code etc.) while copying.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154684 Date / Time convert (by Melba23)] - Transform date/time formats.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99106 _DLLStructDisplay (by Ascend4nt)] - Show Struct in ListView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157689 _FileGetMimeType (by Wiliat87)] - Retrieve MIME types based on the extension of the filename/filepath/URL provided.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117033 File locking with cooperative semaphores (by willichan)] - Simple file locking without a server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157241 FindMimeFromData (by twbradio)] - FindMimeFromData using urlmon.dll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181997 Font Icon (by J2TeaM)] - Use Font Awesome in your AutoIt project.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68422 HotString (by jvanegmond)] - Similar to the HotKey function but trigger on a string, instead of a key or key combination.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173946 LASM - Light Assembler (by minxomat)] - Inline UDF for an Assembler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161628 LFN (by orbs)] - Overcome MAX_PATH limit of 256 chars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111492 Link Grammar for AutoIt (by JRowe)] -  Input is a regular sentence in English, German or Italian, output is a pattern parsed from the structure of the sentence.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/147-mruau3 MRU (by Yashied)] - Most Recently Used (MRU) List Automation functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188158 .NET Common Language Runtime (CLR) Framework (by Danyfirex, Junkew, Larsj, ptrex, Trancexx)] - Allows AutoIt to access .NET Class Libraries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101733 NoFocusLines (by Melba23)] - Remove the dotted focus lines from buttons, sliders, radios and checkboxes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149176 NotifyIcon (by FireFox)] - Create, delete and manage self notify icons (formerly TrayIconEx). &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=63318 PixelGetColor (by Manadar)] - Get or Read Pixel from memory.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167024 RDC (by Yashied)] - ReadDirectoryChanges Wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51103 Resources (by Zedna)] - Embed any binary data into your AutoIt compiled EXE files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162499 ResourcesEx (by guinness)] - Up to date version of Zedna&#039;s Resources UDF. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111215 Restart (by Yashied)] - Allows to restart a script from any location with full restoration of the original command line parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51547 SciLexer (by Kip)] - Editing control, supports multiple editors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152093 ScriptEditor (by pandel)] - ScriptEditor with I18N support and customizable lexer completely written in AutoIt (based on SciLexer).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162033 Spell Checker (by iCode)] - Spell Checker functions to call Hunspell, Hyphenate and MyThes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164444 Synology filestation (by nend)] - Functions to interact with a Synology NAS server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163328 TimeConvert (by orbs)] - Convert UTC to/from local time, and/or reformat the string representation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint (by UEZ)] - Creating barcodes using the Zint.dll.&lt;br /&gt;
[[Category:UDF]]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15295</id>
		<title>User Defined Functions</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15295"/>
		<updated>2026-05-11T15:29:54Z</updated>

		<summary type="html">&lt;p&gt;Water: Undo revision 15290 by Water (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
This page is a listing of libraries of &#039;&#039;&#039;user defined functions&#039;&#039;&#039; (UDF). These libraries have been written to allow easy integration into your own scripts and are a very valuable resource for any programmer.&amp;lt;br /&amp;gt;&lt;br /&gt;
This list is probably not complete (410 UDFs on 2026-05-10), but constantly supplemented.&lt;br /&gt;
If you do not find a solution here, ask a new question on the [https://www.autoitscript.com/forum/forum/2-general-help-and-support/ forum].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
The listed UDFs might have been written for older versions of AutoIt. So there is no guarantee that every UDF works smoothly with newer versions.&amp;lt;br /&amp;gt;&lt;br /&gt;
None of the UDFs has been tested by the maintainers of this list so you as a user need to make sure that they deliver the expected results.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;When will an UDF be added to this list?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
It should meet all/most of the general requirements for UDFs as described [[UDF-spec|here]].&amp;lt;br&amp;gt;&lt;br /&gt;
In addition the following requirements should be met:&lt;br /&gt;
* &#039;&#039;&#039;Documentation&#039;&#039;&#039;: So users can tell what the UDF is intended to do (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Examples&#039;&#039;&#039;: So users can get an idea how to use the UDF. The more the better (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Operating systems&#039;&#039;&#039;: Should support the latest Microsoft OS (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;AutoIt&#039;&#039;&#039;: Should support the latest version of AutoIt (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Author&#039;&#039;&#039;: The author should still be active on the forum so he can reply to questions (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What to do when one of your UDFs is missing?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please send a [https://www.autoitscript.com/forum/messenger/compose/?to=7903 PM] to user water. Add a short description of the UDF and a link to your post in the [https://www.autoitscript.com/forum/forum/9-autoit-example-scripts/ Example Scripts] or [https://www.autoitscript.com/forum/forum/49-autoit-projects-and-collaboration/ Projects and Collaboration] forum.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Added in the past two years&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date !! Section !! Creator !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-10 || [[User_Defined_Functions#Graphics_and_Image|Graphics and Image]] || seangriffin || [https://www.autoitscript.com/forum/imndex.php?showtopic=188682 Box2d] - Physics and game engine.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-07 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || MattyD || [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP UDF] - SNMPv1 and SNMPv2c.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-01 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment] - Least Squares Adjustment.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-04-01 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || WildByDesign || [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-10 || [[User_Defined_Functions#Inter_Process_Communications|Inter Process Communications]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC] - Inter Process Communication using TCP/IP.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-09 || [[User_Defined_Functions#Browsers|Browsers]] || ioa747 || [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt] - Integrate WebView2 into AutoIt via COM. &lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-19 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF] - TCP/UDP Networking Library.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || BugFix || [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx] - Another kind of group, versatile changeable.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-16 || [[User_Defined_Functions#Security|Security]] || DonChunior || [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred] - Interface to the Windows Credential Management API.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || genius257 || [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast] - Native Win8+ toast notifications.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Media|Media]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Hardware|Hardware]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213296 Monitor] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-09-22 || [[User_Defined_Functions#Misc|Misc]] || UEZ || [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint] - Creating barcodes using the Zint.dll.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-07-27 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || DXRW4E || [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-04-16 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || seangriffin || [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-03-22 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-02-26 || [[User_Defined_Functions#Controls|Controls]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-16 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Gianni || [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask] - Easily run and manage many processes.&lt;br /&gt;
|- &lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || NoNameCode || [https://www.autoitscript.com/forum/index.php?showtopic=211475 Darkmode] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Network_Guy || [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-11 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || t0nZ || [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog] - Logs made easy.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || argumentum || [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-21 || [[User_Defined_Functions#Controls|Controls]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker] - Date Range Picker Control.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-06 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place the Table of contents (TOC) here --&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Automation ==&lt;br /&gt;
&lt;br /&gt;
===Browsers===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154439 Chrome (by seangriffin)] - Automate the most common tasks in Chrome with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95595 Firefox (by Stilgar)] - A little less support for automation than IE, but still very good.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167661 Firefox (by Danp2)] - Modified newer version of Stilgar Firefox UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/224-firefox-profile-backup/ FireFox Profile Backup 1.0 (by careca)] - Backup or restore your firefox profile. The application searches for the profile in home drive that will be the one to backup.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _FF_AutoLogin (by Stilgar)] - This is a auto-login function and login-function-generator for FireFox and the FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92035 _FF_DM (by Stilgar)] - UDF to control the FireFox Download-Manager (not the download-window).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91650 _FF_FoxBox (by Stilgar)] - UDF to control Fox!Box (A Mozilla Firefox extension for the AVM FRITZ!Box) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91665 _FF_Screengrab (by Stilgar)] - UDF to control Screengrab! (FireFox-AddOn) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _HTML (by Stilgar)] - Get informations from any HTML (XML) source, without any browser.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166542 HTMLDocumentEvents (by SmOke_N)] - Track IE document events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167035 IEEx (by SmOke_N)] - IE extended library with some Javascript options.&lt;br /&gt;
* Internet Explorer (by DaleHohm et al.) - IE library that is now supplied with a standard AutoIt install.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153520 IUIAutomation MS framework (by junkew)] - IUIAutomation MS framework to automate chrome, FF, IE etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149203 NavInfo (by Nessie)] - With this UDF you can check if a specified browser/software is installed and which version is being used.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=61090 Opera (by MrCreatoR,)] - Automate the most common tasks in Opera with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191990 WebDriver (by Danp2)] - W3C compliant Webriver UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt (by ioa747)] - AutoIt WebView2 Component (COM Interop).&lt;br /&gt;
&lt;br /&gt;
===Microsoft Office===&lt;br /&gt;
Some features of Microsoft&#039;s Office products are proprietary and cannot readily be manipulated.  Sometimes workarounds are required.&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;[[Known issues with Microsoft Office automation.|This page]]&amp;lt;/u&amp;gt; is dedicated to identifying those issues, provide explanations and list solutions or workarounds.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32144 Microsoft Office Access (by randallc)] - Automate Microsoft Access.&lt;br /&gt;
* Microsoft Office Excel (by water et al.) - This UDF is included in AutoIt. Link to the [[Excel_UDF|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135312 Microsoft Office Excel Charts (by water, GreenCan)] - Creating charts using Microsoft Excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204034 Microsoft Office Excel Pivot Tables (by SudeepJD)] - Create and Update Excel Pivot Tables and Charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126305 Microsoft Office Outlook (Items) (by water)] - Automate Microsoft Outlook Items. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202451 Microsoft Office Outlook (GUI) (by water)] - Automate Microsoft Outlook GUI. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197346 Microsoft Office Outlook Tools (by water)] - Built on top of the OutlookEX UDF it offers some often needed extended functionality (import/export ics/vcf files etc.). Link to the [[OutlookTools|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50254 Microsoft Office PowerPoint (by Toady)] - Automate Microsoft PowerPoint.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=178783 Microsoft Office PowerPoint (by water)] - Automate Microsoft PowerPoint. Link to the [[Powerpoint|documentation]] pages.&lt;br /&gt;
* Microsoft Office Word (by water et al.) - This UDF is included in AutoIt. Link to the [[Word_UDF|documentation]] pages.&lt;br /&gt;
&lt;br /&gt;
===OpenOffice/LibreOffice===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210514 LibreOffice Suite (by donnyh13)] - A huge list of functions for LibreOffice Base, Calc and Writer. Link to the [[LibreOffice|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151530 OOo/LibO Calc (by GMK)] - OpenOfficeCalc UDF (works also for Libre Office).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185932 OpenOffice/LibreOffice Spell Checker (by GMK)] - Function to validate words, and show spell alternatives.&lt;br /&gt;
&lt;br /&gt;
===Other Applications===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106163 Active Directory (by water)] - Extensive library to control and manipulate the Windows active directory ([https://www.autoitscript.com/forum/files/file/355-ad-active-directory-udf/ Download]). Link to the [[Active_Directory_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87956 Java (by seangriffin)] - Creates an access bridge between your application and a Java application. Allowing you to automate some Java applications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86574 SAP (by seangriffin)] - SAP business management automation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149540 SAPWizard (by ozmike)] - SAPWizard UDF.&lt;br /&gt;
&lt;br /&gt;
== Script Coding/Analyzing/Debugging ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209528 ArrayCombinations (by AspirinJunkie)] - Different ways of composing elements of a set.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155442 ArrayMultiColSort (by Melba23)] - Function to sort a 2D array on several columns.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209523 ArrayPlus (by AspirinJunkie)] - Functions for flexible Array handling (create, extract, rebuild, sort, filter, find, print)&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180467 ArrayWorkshop (by czardas)] - Multidimensional array functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=59174 Associative array functions (by Nutster)] - Manage a version of associative arrays in single AutoIt variables. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=198929 AutoIt error logger (AUERLO) (by user4157124)] - File- and stdout (etc.) output of messages, errors, exit method and -code, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110379 AutoItObject (by ProgAndy and others)] - Brings the Object Orientation programming paradigm to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112879 AutoIt Syntax Highlight (by MrCreatoR)] - Highlights AutoIt v3 syntax code to html/bbcode format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191488 cDebug (by c.haslam)] - Dumps the values of all AutoIt subtypes and expressions including nested arrays, DLL structs and maps.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor (by Nine)] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195882 ErrorLog (by mLipok)] - Logs program activities and errors to different output locations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211718 FuzzyString (by AspirinJunkie)] - Fuzzy string comparison and search in string arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143167 GetOpt (by dany)] - Parse GNU and DOS style command line options similar to getopt().&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog (by t0nZ)] - Logs made easy.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156196 Log4a (by zorphnog)] - Logging library loosely based upon the log4j and NLog libaries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195862 Loga (by Danyfirex)] - Simple logging library to keep track of code with an integrated console.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119032 Log UDF (by Yashied)] - Create a text log files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202832 OnDebugMsgBox (by argumentum)] - Catch the dreaded &amp;quot;AutoIt Error&amp;quot; MsgBox and prettify or hide it.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209529 Set (by AspirinJunkie)] - Provides a set data type and brings the corresponding mathematical functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200660 Variants and Safearrays (by LarsJ)] - Create/access/process Variants and SafeArrays.&lt;br /&gt;
&lt;br /&gt;
=== Inter Process Communications ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202485 AppInteract (by MrCreatoR)] - Reliably pass arrays or other types between processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC (by Kanashius)] - Inter Process Communication using TCP/IP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=205109 AutoItSharedData (by SEuBo)] - Create a shared data storage, a simple AutoItObject-Object, using AutoItObject_Internal.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188991 Autoit-Socket-IO (by tarretarretarre)] - Event driven TCP/IP wrapper inspired by Socket.IO with focus on user friendliness and long term sustainability.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126936 Container (by MrCreatoR)] - Scripts interaction method. Allows to transfer whole arrays as data, and even COM objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=55994 DDEML (by doudou)] - Use your AutoIt script as DDE client or server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193277 FMIPC (by argumentum)] - IPC via FileMapping.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127615 Interprocess (by JScript)] - Remotely execute a function in another script (using Mailslot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193158 IPC_IO (by JohnWIlling)] - IPC library supporting multiple connection types (such as: Named Pipe, File, TCP, SharedMemory, MailSlot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202618 IPC Techniques through ROT Objects (by LarsJ)] - Implementing IRunningObjectTable Interface.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106710 Mailslot (by trancexx)] - IPC using Mailslots.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204734 Overlapped Named Pipe IPC (by Nine)] - Very fast interprocess communication that could be used between VBS or AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169797 Pool - Post Office for Organized Labour (by RTFC)] - Provides multiple AutoIt processes with an infrastructure for exchanging messages, data, and remote-control instructions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202587 WCD IPC (by Nine)] - Framework for Inter Process Communication using Windows Messages WM_COPYDATA.&lt;br /&gt;
&lt;br /&gt;
=== Parallel/concurrent processing ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork (by argumentum)] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186853 _Multiprocess (by jguinch)] - Run several external programs at the same time and retrieve the exit code of each process.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask (by Gianni)] - Easily run and manage many processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking (by Network_Guy)] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT (by Nine)] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
&lt;br /&gt;
== Files, Databases and web connections ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180850 ADO (by mLipok)] - A modifed version of the _SQL UDF to access all kind of databases (MSSQL, MySQL, PostgreSQL, SQLite, MS ACCESS, XLS, TXT, and many other which use ADO and ODBC).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105875 ADODB (by spudw2k)] - ADODB Example.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 AXML (by Aipion)] - This is a Wrapper for Pugixml, made with C++.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145142 DBF (by funkey)] - dBase database read and write with DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/topic/114406-csv-file-to-multidimensional-array/#findComment-799820 CSV (by ProgAndy)] - Read/write CSV files to/from 2D arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197909 CSV (by seangriffin)] - Manipulate CSV files using SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155748 CSVSplit (by czardas)] - Convert to and from CSV format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151116 DIF (by willichan)] - Read/write DIF (Data Interchange Format) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119238 Excel file generation (by jerome)] - Excel file generation (multi-sheet workbook) without the need to have Excel installed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143866 Excel XML (by FireFox)] - Work with SpreadsheetML (Open XML file formats).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155905 EXml (by jdelaney)] - Create Excel file (SpreadsheetML) through &amp;quot;Microsoft.XMLDOM&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116072 EzMySql (by Yoriz)] - Use MySQL Databases with AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148232 _FileGetProperty (by BrewManNH)] - Retrieve properties of a file.Xml2Json&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94920 FireBird (by eltorro)] - FireBird, Interbase DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx (by DXRW4E)] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197421 jq (by TheXman)] - Brings the power and flexibility of jq (an open-source command-line based JSON processor) to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209502 JSON (by AspirinJunkie)] - Interacting with JSON data in AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104150 JSON (by Gabriel13)] - RFC4627 compliant JSON encode/decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148114 JSON (by Ward)] - JSMN - A Non-Strict JSON UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156794 JSON (by ozmike)] - Bridge to Native Windows JSON plus OO extension for AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC (by seangriffin)] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173797 JSONgen (by Jefrey)] - Generate JSON.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127101 MS SQL (by TheLuBu)] - MSSQL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51952 MS SQL (by ChrisL)] - _SQL. ADODB Connection.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20814 MySQL (by cdkid)] - MySQL relational database management system.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85617 MySQL (by ProgAndy)] - MySQL UDFs (without ODBC - working with libmysql.dll).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=122360 MySQL (by James)] - MySQL ODBC Connector.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187223 romaSQL (rynow)] - Built on the concept of Laravel Query &amp;amp; doctrine. Connection string is based on ADODB / ODBC.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143331 Sharepoint 2007/2010 (by schoppet)] - Access the SOAP-Webservices of Sharepoint 2007/2010.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17099 SQLite (by ptrex)] - SQLite is a library that implements a self-contained, embeddable, zero-configuration SQL database engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=142977 SQLite Array Functions (by SmOke_N)] - SQLite Array Functions - a faster method for unique arrays and sorting methods.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140521 SQLite - Database (by PhoenixXL)] - UDF for SQLite so that beginners will also be able to do the stuff.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157853 SQLiteEx (by 57ar7up)] - SQLiteEx UDF v0.5.1 - Simplest work with SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163633 Xbase I/O (by RTFC)] - Transfer data between Xbase Data file (*.dbf) and AutoIt array written in pure AutoIt (no SQL, no ADO, no dlls, no external dependencies).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209526 xlsxNative (by AspirinJunkie)] - Read and write xlsx files without excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=19848 XML DOM Wrapper (by eltorro)] - Supports CRUD operations on XML. Including XSL and XPath.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 XML (by mLipok)] - New version of XML DOM Wrapper, with many new features.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208932 Xml2Json (by TheXman)] - Transform XML to JSON.&lt;br /&gt;
&lt;br /&gt;
== Data compression ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85094 7z, zip, gzip, bzip2, tar (by rasim)] - Extensive library that uses a external DLL that must be provided with the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92958 gZip (by Zinthose)] - Based on the parsing of gZip.exe output. It can work with memory, it doesn&#039;t work with files. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87441 LZMA (by trancexx)] - LZMA (Native Windows).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138838 Package (by Yashied)] - Package UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129529 pZip (by asdf8)] - PureZIP_L library UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=76176 UnRAR (by rasim)] - UnRAR.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17727 XZip (by eltorro)] - Another UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161847 XZip (by mLipok)] - UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44524 Zip plugin (by eltorro)] - Zip plugin.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73425 ZIP (by torels)] - ZIP UDF in pure AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116565 zip (by wraithdu)] - Create ZIP files and unpack ZIP files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135565 ZIP (by joakim)] - ZIP STRUCTS UDF (from scratch).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87284 ZLib (by monoceres)] - Based on ZLib.dll. It can compress/uncompress data in memory, it doesn&#039;t work with files.&lt;br /&gt;
&lt;br /&gt;
== Encryption and hash ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81332 _Base64Encode, _Base64Decode (by trancexx)] - Fast _Base64Encode, _Base64Decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153246 Base91 and Base128 (by Beege)] - Base91 and Base128 functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155538 Codecrypter (by RTFC)] - Encrypt scripts without placing the key inside the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=201002 Cryptography API: Next Gen (by TheXman)] - Microsoft&#039;s long-term replacement for their CryptoAPI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210901 Enigma (by willichan)] - Simple encryption based on the Enigma Machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203990 GDPR (by mLipok)] - Functions to encrypt/decrypt strings and files with the GDPR in mind.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95558 Hashes for files (by trancexx)] - Fast RC32, MD4, MD5, SHA1 calculation for big files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107784 TrueCrypt (by FuryCell)] - TrueCrypt UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140737 WinTrust (by kasty)] - verify the integrity of a file with its embedded signature or a given catalog.&lt;br /&gt;
&lt;br /&gt;
== GUI Additions ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast (by genius257)] - Native Win8+ toast notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97241 3D Pie chart (by WideBoyDixon)] - 3D Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173924 Chart_UDF (by Kanashius)] - This UDF can be used to Display bar charts in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96258 ContextHelp (by Yashied)] - Management of context help ([https://www.autoitscript.com/forum/index.php?showtopic=72152-contexthelp/ original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211475 DarkMode (by NoNameCode)] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109096 ExtMsgBox (by Melba23)] - A very customisable replacement for MsgBox.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx (by BugFix)] - Another kind of group, versatile changeable.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105582 GUICtrlOnChangeRegister (by Mat)] - Call a function when an edits content is changed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme (by WildByDesign)] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145149 GUIExtender (by Melba23)] - Expand and contract sections of your GUI ([https://www.autoitscript.com/forum/index.php?showtopic=117909 original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197654 GuiFlatButton (by kurtykurtyboy)] - Change colors of regular buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119505 GUIFrame (by Melba23 &amp;amp; Kip)] - Divide a GUI into adjustable frames.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=144207 GUI Panel (by FireFox)] - Manage child GUIs as panel ctrls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113723 GUI Scrollbars (by Melba23)] - Automatically sized scrollbars with a single command.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161184 MetroGUI (by BBs19)] - Windows 10 style buttons, toggles, radios etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 Modern tray menu (by Holger)] - Allows the creation of modern, fancy GUI and tray menus with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194693 MTSkin (by Taskms4)] - Simply create modern looking GUIs (borderless GUI, Interactive menu panel (with mouse-over detection), a bunch of skins).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182136 Notifications (by S3cret91)] - Display permanent desktop notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=136149 Notify (by Melba23)] - Small notifications on the edge of the display.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161750 Pie chart (by Andreik)] - Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75429 Real Vista Aero Glass (by James)] - Real Vista Aero Glass UDF - you can apply glass effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF (by Nine)] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=71811 SetOnEvent (by martin)] - Provides an easy way for an event to call functions with parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=103871 _SysTray (by wraithdu)] - Get info about and manipulate Systray icons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108445 Toast (by Melba23)] - Small message GUIs which pop out of the Systray.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110003 Tray Icon Bar Graph (by BeeGee)] - Creates a scrolling bar graph as the tray icon.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=132864 Uskin (by JScript)] - Allows you to skin your GUI using the Windows &#039;&#039;.MSstyles&#039;&#039; files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191821 Wi3SMenu (by NHD)] - Create a slide menu with Windows 10 style. Supports color, icon and opacity.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129196 WinSnap (by Beege)] - Automatic Window Alignment by applying that &amp;quot;snappy edge&amp;quot; effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32494 XSkin (by Valuater)] - Allows skinning of your GUI and to apply custom skins.&lt;br /&gt;
&lt;br /&gt;
=== Controls ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202529 BrowseForFolder (by MrCreatoR)] - Handle SHBrowseForFolderW with more options, such as multi selection (checkboxes), window position, controls text and more. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=146406 Calendar (by jmon)] - Calendar UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125293 ChooseFileFolder (byMelba23)] - Single and multiple selections from specified path treeview listing.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96464 Colorpicker (by Yashied)] - Create a button for the user to select a color.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker (by Nine)] - Date Range Picker Control.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=123409 Explorer Frame UDF (by Beege)] - Takes any frame created by GUIFrame and turns it into a MS-Windows like Explorer window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview (by Kanashius)] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173929 GDIPlus Slider UDF (by Kanashius)] - This UDF can be used to create a slider with an imagebackground and an image to move.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=79412 Graph control (by andybiochem)] - Easily create and show bar chart and line charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104399 GraphGDIPlus UDF (by andybiochem)] - Easily create and show bar chart and line charts with GDI+ to take advantage of double-buffering.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105682 GUICtrlCreateFinder (by Mat)] - Allows you to create a window finder control like the one seen in AutoIt Window Info.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107965 GUIHotkey (by Mat)] - UDF for using native hotkey controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182492 GUIListViewEx (by Melba23)] - Insert, delete, move, drag, sort, edit and colour ListView items.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111438 GUIPager (by Mat)] - Create and control native pager controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 GUI/Tray Menu (by Holger, LarsJ, AZJIO)] - GUI/Tray Menu with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166594 GUITreeViewEx (by Melba23)] - Check/clear parent and child checkboxes in a TreeView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=90598 Hotkey input control (by Yashied)] - Hotkeys Input Control UDF Library (Non-native).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173932 ListView Edit UDF (by Kanashius)] - This UDF can be used to simply edit an Listview.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109355 ListView - Explorer like ListView UDF (by Beege)] - This UDF simplify creating MS Explorer-like ListViews.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143711 Marquee (by Melba23)] - Make tickertape info bars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143380 Predict Text UDF (by PhoenixXL)] - Sub classes the edit control and matches the current word through the Database &amp;amp; sets selection in accordance.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163939 Progressbar new style (by Muzaiyan)] - New styles for your progress bar.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74649 Progressbar with GDIplus (by ProgAndy)] - You even can use full textured images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151636 RestrictEdit_SRE UDF (by PhoenixXL)] - Restrict the text that can be entered in an editbox through a String Regular Expression.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128242 Ribbon (by trancexx)] - UDF for Windows Ribbon framework.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114034 StringSize (by Melba23)] - Automatically size controls to fit the text you want to put in them.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126958 Syslink (by Yashied)] - Provides a convenient way to embed hypertext links in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105814 Table (by andybiochem)] - Table UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211024 Toggle Button (by Andreik)] - Create simple toggle buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125251 TVExplorer (by Yashied)] - Allows to create TreeView (TV) Explorer controls that display a tree of files and folders.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=190659 Virtual Listview (by LarsJ)] - Virtual Listview for large amounts of data with a large number of rows.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195053 Windows Message Monitor (by LarsJ)] - Monitor Windows Messages of a window or control.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118317 Battery UDF (by Yashied)] - Retrieves various information and current status of the battery(s).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154727 BuildPartitionTable (by RTFC)] - Scans a physical drive&#039;s partition table and returns a partition_table, allocation_table and volumes_table.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155674 CommAPI (by therealhanuta)] - Serial and parallel communication (COM port, RS-232, LPT port) - without installing DLL&#039;s (using Windows API calls).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77731 Device Management (by weaponx)] - Device Management API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97487 DirectShow (by monoceres)] - DirectShow UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164700 DirectSound (by eukalyptus)] - DirectSound UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164701 Direct2D (by eukalyptus)] - Direct2D UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99713 Drive Info (by NerdFencer)] - Gathers drive info for Hard Drives, Disk Drives, and Floppy Drives.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138989 FritzBox (by Allow2010)] - _FB_Tools - manage your FritzBox from Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121084 I/O Port Functions (by Ascend4nt)] - Input/Output UDF for interacting with ports (x64 Parallel Port, Keyboard etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203207 MediaDevice (by Danyfirex)] - Transfer files to portable devices like phones, storages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php=showtopic=213296 Monitor (by Trong)] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154350 Monitor Configuration (by jaberwacky)] - Monitor Configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155469 Mouse (by AlmarM)] - AutoIt powered mouse events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=147325 MouseTrapEvent (by ozmike)] - MouseTrapEvent UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149083 NetInfo (by Nessie)] - UDF for test internet download speed and upload speed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155539 Network configuration (by jguinch)] - Network configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182684 Nitgen (by Jefrey)] - UDF to work with Nitgen fingerprint readers that use NGenBio SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210968 Printer Manager (by Nine)] - Manage printers with winspool.drv DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155485 Printers management with WMI (by jguinch)] - Add/delete printer, driver, port, or obtain configuration, set default printer ...&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=189190 Serial port UDF / COM port UDF (by MazeM)] - It is very similar to CommAPI using kernel32.dll, but all code is packed into a single file without any dependencies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128546 Serial Port/COM (by martin)] - Serial Port /COM Port UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27755 SMARTDRIVE (by ptrex)] - SMART drive Analysis.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158640 SPI Hardware Interface (by Blinky)] - Communicate with the MAX335 chip using the SPI protocol via the LPT (printer) port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=8188 VISA/GPIB (by Angel)] - VISA/GPIB library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68866 Webcam (by LIMITER)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70857 Webcam (by ludocus)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91018 WiFi (by MattyD)] - Low level control over your wireless LAN.&lt;br /&gt;
&lt;br /&gt;
== Information gathering ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29404 Computer information (by JSThePatriot)] - A general purpose library to get various details about a Windows machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151920 NetworkStatistics (by Ascend4nt)] - Network Interface Info, Statistics, and Traffic.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=54039 WinPcap (by JRSmile)] - Wrapper for the windows packet capture library WinPcap.&lt;br /&gt;
* [https://opensource.grisambre.net/pcapau3/ WinPcap (by Nicolas Ricquemaque)] - A library to access the main functionalities offered by the WinPcap driver.&lt;br /&gt;
&lt;br /&gt;
== Internet protocol suite ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207859 cURLX64 (by Beege)] - cURL UDF with x64 support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=137456 cURL (by seangriffin)] - A UDF for transferring data with URL syntax.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187718 HTTP lib (by Jefrey)] - HTTP lib (GET, POST and upload) UDF to simplify HTTP requests, mainly when dealing about POST data or file uploads.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202895 HttpApi (by TheXman)] - HTTP Server API enables applications to communicate over HTTP without using MS Internet Information Server (IIS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=40243 IMAP (by mikeytown2)] - IMAP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108422 IMAP4 (by Tipulatoid)] - IMAP4 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=43515 IRC (by McGod)] - A lightweight library for communicating with IRC servers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159285 IRC (by rcmaehl)] - IRC UDF - Updated Version of Chips&#039; IRC UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=22838 POP3 (by Apzo)] - POP3 library for retrieving email messages. Not compatible with Gmail because it uses SSL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167339 POP3 (by mLipok)] - POP3 UDF According to the 1939 RFC, modified version with Quoted Printable decoder.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154530 Prowl (by mrflibblehat)] - Push notifications to iPhone, iPod touch or iPad using Prowl (Growl client for iOS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138095 SFTP (by Lupo73)] - UDF to support SFTP protocol using PSFTP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154054 Socket UDF (by funkey)] - Socket UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=23860 SMTP (by Jos)] - Smtp Mailer That Supports Html And Attachments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167292 SMTP Mailer UDF (by mLipok)] - Smtp Mailer That Supports Html And Attachments - Modified Version with support to save EML files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81687 SNMP (by enaiman)] - SNMP_UDF for SNMPv1 and SNMPv2c.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP (by MattyD)] - SNMP UDF SNMPv1 and SNMPv2c. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70759 SNMP - MIB protocol (by ptrex)] - Reading toner status from SNMP device with WMI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166579 SSH (by jeanphile)] - Use the SSH protocol very easily in your code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185329 STUN (by j0kky)] - STUN is a protocol that permits you to know your external IP but, more interesting, your external port associated to your internal port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184817 SyslogSend (by Irios)] - This allows sending (BSD) messages to a syslog server using UDP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169774 TCPServer (by Jefrey)] - Multi client, event-based, able to bind console app to socket.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=57022 UPnP Protocol (by ptrex)] - UPnP - Read and Control your devices in side out.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=84133 WinHTTP (by trancexx)] - Access the HTTP protocol for creating GET and POST requests and submitting them with conforming standards, cookies not supported.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77503 WinInet (by -Ultima-)] - Access standard Internet protocols (FTP, Gopher and HTTP). Supports GET/POST requests and cookies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181645 Winsock (by j0kky)] - Create client/server application using native winsock functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF (by Trong)] - TCP/UDP Networking Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191954 WSA_NBTCP (by ripdad)] - Windows Sockets API - Non-Blocking Transmission Control Protocol.&lt;br /&gt;
&lt;br /&gt;
== Maths ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment (By AsprininJunkie)] - Least Squares Adjustment.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170658 Advanced Math UDF (by scintilla4evr)] - Advanced mathematical functions (primes, number sequences, interpolate, calculate values of functions like Riemann zeta etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=102686 Advanced rounding (by Mat)] - Support for different measures of accuracy and 8 ways to resolve tie breaks.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83529 Big number (by eukalyptus)] - Make calculations with extremely large numbers that AutoIt normally is not able to support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106551 Decimal To fraction (by Malkey)] - Converts any decimal number to a fraction. Example: 1.2 to 6/5.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162921 Eigen4AutoIt (by RFTC)] - Allows to perform fast matrix operations on large numerical data sets, and much more ....&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra (by AspirinJunkie)] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140789 MathsEx UDF (by PhoenixXL)] - Functions for Carrying Out More Advanced Mathematical Calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81189 Number base conversion (by james3mg)] - From, to and between positive bases less than 63 (decimals supported).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117156 NumToWord (by Mat)] - Convert numerals to a human readable string.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108803 Polynomials (by Mat)] - Functions for using polynomials.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83091 Primes (by jennico)] - Many functions dealing with prime number generation and calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94770 Roman Numerals (by AZJIO)] - Roman Numerals.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98160 Root function (by Mat)] - Working out real roots of numbers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209527 Stat (by AspirinJunkie)] - Statistics for Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163899 StringAPL (by minx)] - inline APL interpreter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=82722 Trigonometric and math functions (by trancexx)] - _ATan2(), _Cosh(), _Frexp(), _Hypot(), _Ldexp(), _Logb(), _Sinh(), _Tanh().&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95357 FreeImage library (by ProgAndy)] - Various operations on images, such as rotate, resize, flip.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll (by Trong)] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127263 HtmlHelp (by Geodetic)] - HtmlHelp functions for context-sensitive help from CHM (compiled HTML) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116009 HyperCam (by seangriffin)] - HyperCam (Screen Recording) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182535 HyCam2 (by willichan)] - Automation for HyCam2 screen recording utility.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50608 OCR (by ptrex)] - Real OCR in AU3 - MODI with MS Office 2003.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=89542 OCR (by seangriffin)] - Tesseract (Screen OCR) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206133 OCRSpace (by MrKm)] - Convert Images to text with the OCRSpace API. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51054 Printer controller (by martin)] - Print text in any font, size and colour at any position on the page, draw lines, curves, elipses, pies in any colour, and print images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73993 Printing (by GRS)] - Printing from AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202621 QRCreator (by BugFix)] - Simple QR-code creation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161831 RTF_Printer (by mLipok)] - Printing RichEdit in the background.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94834 Simple DirectMedia Layer (by AdmiralClaws)] - Adds support for joysticks, CDs, 2D graphics, timers. See [https://www.libsdl.org/ SDL website] for more information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207324 UWPOCR (by Danyfirex)] - Universal Windows Platform Optical Character Recognition API.&lt;br /&gt;
&lt;br /&gt;
===Graphics and image===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202987 AutoYolo3 (by smartee)] - Real-Time Object Detection using YOLOv3 wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113881 au3Irrlicht2 (by JRowe)] - Combining Irrlicht and AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86748 AVI writing udf (by monoceres)] - Create uncompressed avi&#039;s from bitmap files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27362 Bitmap Library (by evilertoaster)] - Bitmap Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202663 GIF animation (by Nine)] - Fast cached GIF animation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150231 GTK+  (by prazetto)] - GTK+ Framework | Widgets.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=13096 ImageGetInfo (by Lazycat)] - Read info from JPEG, TIFF, BMP, PNG and GIF - size, color depth, resolution.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/471-image-search-udf Image Search (by VIP)] - Search for an image on the desktop. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70506 IrrLicht (by A. Percy)] - A 3D graphics engine suitable for creating games.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160732 OpenCV (by myliseJ)] - UDF for the OpenCV library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206432 OpenCV v4+ (by smbape)] - OpenCV UDF with support for OpenCV v4+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151011 OpenGL (by LarsJ)] - OpenGL without external libraries etc. For JPEG files it also retrieves various Exif information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148129 OpenGL (2.0) (by minx)] - New set of UDFs for OpenGL + AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152950 S3D (by Starg)] - Draw simple 3D graphics with GDI+.&lt;br /&gt;
&lt;br /&gt;
===Players===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114143 VLC (by seangriffin)] - VLC (Media Player) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91316 VLC Media Player (by ptrex)] - VLC Media Player.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27352 WMP (by ConsultingJoe)] - Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44008 WMP - Media Controls (by CFire)] - Another Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203154 WMP - GUI Control (by SudeepJD)] - IE based WMP Control.&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83481 BASS Function Library (by BrettF)] - Sound and Music via wrappers for Bass, BassEnc, Bass FX, BassSFX, BassAsio and BassCd DLLs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173808 libZPlay (by Danyfirex)] - Multimedia library for playing mp3, mp2, mp1, ogg, flac, ac3, aac, oga, wav and pcm files and streams.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=37072 MIDI (by eynstyne)] - MIDI UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208116 MIDI (by MattyD)] - Wrap of the Windows MIDI functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114742 SAPIListBox (by seangriffin)] - SAPIListBox (Speech Recognition) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=100439 TTS (by Beege)] - Text-to-Speech UDF.&lt;br /&gt;
&lt;br /&gt;
== PDF ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162195 Acrobat Reader - ActiveX Viewer (by mLipok)] - Make your own PDF Viewer GUI with Acrobat Reader ActiveX COM Object &amp;quot;AcroPDF.PDF.1&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164469 Debenu PDF Viewer SDK (by mLipok)] - A collection of functions to display PDF files in your applications using Debenu PDF Viewer SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160875 Debenu Quick PDF Library (by mLipok)] - A collection of functions for Debenu Quick PDF Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75832 FoxIt Reader (by ptrex)] - PDF Reader in AU3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118827 MPDF (by taietel)] - Create PDF from your application.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=42776 PDFCreator (by ptrex)] - Automation of PDFCreator allows you to create and manipulate PDF files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170550 PDFCreator (by mLipok)] - UDF for PDFCreator v1.x.x with working EVENTs Handler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32261 _StringToPDF (by Tam0r)] - Write a string to a PDF file and specify font size, type etc.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145158 Firewall (by JLogan3o13)] - Control and manipulate the Windows Firewall (enable/disable, Exclusions list, enable/disable ports etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194015 Firewall policy2 (by Bilgus)]- Provides access to the firewall policy for Windows Vista+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150819 VirusTotal (by Danyfirex)] - VirusTotal API 2.0 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred (by DonChunior)] - Interface to the Windows Credential Management API.&lt;br /&gt;
&lt;br /&gt;
== Social Media and other Website API ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159254 Cex.io (by AquilesCrespo)] - UDF script for using with the web api from https://cex.io/ server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169333 CrowdinAPI (by mLipok)] - Uses the [https://crowdin.com/page/api crowdin.net website API] for some functions (create projects, add and update files, download translations or integrate localization).&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/290-dropbox-authenticator/ Dropbox authenticator (by Gimerly)] - Dropbox authenticator.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158106 Easypost (by dcat127)] - Print USPS Postage Labels.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114801 eBay (by seangriffin)] - eBay UDF (functions GetItemStatus and GetSingleItem from the &amp;quot;Shopping API&amp;quot;).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=141340 Gmail (by PhoenixXL)] - Remote Gmail (UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192422 Gmail API (by Ascer)] - Automate communication with Gmail using oAuth 2.0 security. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98504 Google Functions (by Beege)] - Google Functions (Suggestions, Definitions, Translate, Convert).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=115437 Google Maps (by seangriffin)] - Google Maps UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70675 iTunes (by torels)] - iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101802 iTunes (by Beege)] - Another iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150985 No-IP (by Nessie)] - Simply update your no-ip hostname(s) and retrieve the ip address of an no-ip address.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192391 oAuth (by Ascer)] - Open standard for access delegation, commonly used to grant websites or applications access to other websites.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150838 PasteBin (by mrflibblehat)] - Pastebin UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121767 Skype (by FireFox)] - Skype4COM provides an ActiveX interface to the Skype API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113234 Teamspeak 3 (by chipDE)] - Teamspeak 3 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186944 TeamViewer API (by mLipok)] - A collection of function for use with TeamViewer API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186381 Telegram Bot (by LinkOut)] - UDF for [https://core.telegram.org/api Telegram messenger API].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166547 TVmaze.com API (by BBs19)] - TVmaze.com API UDF (TV-Series).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116600 Twitter (by seangriffin)] - Manage Twitter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149247 Yahoo Weather (by Nessie)] - Yahoo Weather API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112775 Youtube Uploader (by BrettF)] - AYTU - AutoIt Youtube Uploader.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50880 ACL (by ptrex)] - Set ACL on windows Objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134508 ACL (by FredAI)] - Do most everything with the DACL and ownership on all types of objects: Files or folders, Registry keys, services, Kernel and WMI objects, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206400 BITS (by DonChunior)] - Background Intelligent Transfer Service to download files from or upload files to HTTP web servers and SMB file shares.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184937 CertUtil (by mLipok)] - Wrapper for windows certutil.exe (command-line program that is installed in Windows as part of Certificate Services).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113560 FileSystemMonitor (by seangriffin)] - Monitors the file system by recording all file system events occurring within a given path.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111018 ITaskBarList (by Beege)] - ITaskBarList UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74118 Local account (by engine)] - Manage local accounts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161193 Magnifier Functions (by Ascend4nt)] - Exposes most of the useful Magnifier API functions available since Windows Vista.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75250 Registry (by engine)] - Windows Registry UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50551 Registry (by seanhart)] - RegWriteAllUsers / RegDeleteAllUsers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=80201 Service (by arcker)] - Build your own service with AutoIt code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124508 Startup (by guinness)] - Create Startup entries in the Startup Folder or Registry.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164756 SCCM (by JLogan3o13)] - Systems Center Configuration Manager Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134628 System restore (by FredAI)] - System restore UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186111 SubstWrapper (by mLipok)] - Wrapper for windows subst.exe command - (Associates a path with a drive letter).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135994 Taskplanner/Taskscheduler COM (by Allow2010)] - an UDF for using the Windows Taskplaner / Task Scheduler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83355 Task Scheduler (by dbzfanatic)] - Task Scheduler UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200068 TaskScheduler (by water)] - Brushed up Task Scheduler UDF. Link to the [[TaskScheduler|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173934 TTS (by Kanashius)] - Used with SAPI Automation Object - text-to-speech (TTS) engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158377 UAC (by AdamUL)] - User Account Control (UAC) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=175719 Utter (by Surya)] - Utilizing more of SAPI (Speech Recognition UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127075 WIMGAPI (by Homes32)] - Manipulate Windows Image Files (.wim) without ImageX.exe.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=28436 Windows Events (by Emperor)] - Create your own Windows events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=6487 Windows Service Control functions (by SumTingWong)] - Some limited functions to control services (create, start, stop, delete, check ...).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81880 Windows Services (by engine)] - Windows Services UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163178 WRMF (by Luigi)] - WRMF - Windows Registry Monitor Call Function.&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/topic/178871-dllcall-with-c-example/#comment-1285754 SMSApi (by mLipok)] - UDF for SMSAPi which provides SMS services. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/index.php?showtopic=178589 BulkSMS (by Skysnake)] - UDF for BulkSMS which provides SMS services. --&amp;gt;&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145099 _AdlibEnhance (by JScript)] - Enhance Adlib to call functions with parameters, pause and resume.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160936 Android (by Moriba)] - Control any Android device.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97826 Animated tray icons (by Yashied)] - Make animated tray icons easily.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163577 Atom Table (by Ascend4nt)] - Store (add, find, delete, and query) strings locally (at program level) or globally (at OS level) with unique numerical identifiers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170087 Barcode generators (by willichan)] - Creates a Code128A/B/C or Creates a Code39 or Code39Extended optimized barcode from supplied data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211660 BlockInput (by Nine)] - Block all input coming from mouse and/or keyboard, without having an UAC warning displayed. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87735 BlockInputEx (by MrCreatoR)] - Supports a few features that built-in BlockInput() function does not.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29763 Clipboard (by eltorro)] - When apps need to watch the clipboard.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170630 ClipboardEx (by ozmike)] - Allows to have more than 1 item in the Clipboard. Handles all data types, not just text.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81267 Clipboard History (by wraithdu)] - Save and restore the entire clipboard contents. Inspired by AHK&#039;s ClipboardAll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169610 CmdLine (by Jefrey)] - Collection of functions to parse command line arguments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126569 Console (by Shaggi)] - Functions and features to work wiht Console input/output.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121833 Copy (by Yashied)] - Copy or move files and directories without suspending your script. Retrieve the current state (copied bytes, error code etc.) while copying.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154684 Date / Time convert (by Melba23)] - Transform date/time formats.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99106 _DLLStructDisplay (by Ascend4nt)] - Show Struct in ListView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157689 _FileGetMimeType (by Wiliat87)] - Retrieve MIME types based on the extension of the filename/filepath/URL provided.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117033 File locking with cooperative semaphores (by willichan)] - Simple file locking without a server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157241 FindMimeFromData (by twbradio)] - FindMimeFromData using urlmon.dll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181997 Font Icon (by J2TeaM)] - Use Font Awesome in your AutoIt project.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68422 HotString (by jvanegmond)] - Similar to the HotKey function but trigger on a string, instead of a key or key combination.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173946 LASM - Light Assembler (by minxomat)] - Inline UDF for an Assembler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161628 LFN (by orbs)] - Overcome MAX_PATH limit of 256 chars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111492 Link Grammar for AutoIt (by JRowe)] -  Input is a regular sentence in English, German or Italian, output is a pattern parsed from the structure of the sentence.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/147-mruau3 MRU (by Yashied)] - Most Recently Used (MRU) List Automation functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188158 .NET Common Language Runtime (CLR) Framework (by Danyfirex, Junkew, Larsj, ptrex, Trancexx)] - Allows AutoIt to access .NET Class Libraries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101733 NoFocusLines (by Melba23)] - Remove the dotted focus lines from buttons, sliders, radios and checkboxes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149176 NotifyIcon (by FireFox)] - Create, delete and manage self notify icons (formerly TrayIconEx). &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=63318 PixelGetColor (by Manadar)] - Get or Read Pixel from memory.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167024 RDC (by Yashied)] - ReadDirectoryChanges Wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51103 Resources (by Zedna)] - Embed any binary data into your AutoIt compiled EXE files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162499 ResourcesEx (by guinness)] - Up to date version of Zedna&#039;s Resources UDF. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111215 Restart (by Yashied)] - Allows to restart a script from any location with full restoration of the original command line parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51547 SciLexer (by Kip)] - Editing control, supports multiple editors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152093 ScriptEditor (by pandel)] - ScriptEditor with I18N support and customizable lexer completely written in AutoIt (based on SciLexer).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162033 Spell Checker (by iCode)] - Spell Checker functions to call Hunspell, Hyphenate and MyThes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164444 Synology filestation (by nend)] - Functions to interact with a Synology NAS server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163328 TimeConvert (by orbs)] - Convert UTC to/from local time, and/or reformat the string representation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint (by UEZ)] - Creating barcodes using the Zint.dll.&lt;br /&gt;
[[Category:UDF]]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15294</id>
		<title>User Defined Functions</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15294"/>
		<updated>2026-05-11T15:28:40Z</updated>

		<summary type="html">&lt;p&gt;Water: Undo revision 15291 by Water (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
This page is a listing of libraries of &#039;&#039;&#039;user defined functions&#039;&#039;&#039; (UDF). These libraries have been written to allow easy integration into your own scripts and are a very valuable resource for any programmer.&amp;lt;br /&amp;gt;&lt;br /&gt;
This list is probably not complete (410 UDFs on 2026-05-10), but constantly supplemented.&lt;br /&gt;
If you do not find a solution here, ask a new question on the [https://www.autoitscript.com/forum/forum/2-general-help-and-support/ forum].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
The listed UDFs might have been written for older versions of AutoIt. So there is no guarantee that every UDF works smoothly with newer versions.&amp;lt;br /&amp;gt;&lt;br /&gt;
None of the UDFs has been tested by the maintainers of this list so you as a user need to make sure that they deliver the expected results.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;When will an UDF be added to this list?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
It should meet all/most of the general requirements for UDFs as described [[UDF-spec|here]].&amp;lt;br&amp;gt;&lt;br /&gt;
In addition the following requirements should be met:&lt;br /&gt;
* &#039;&#039;&#039;Documentation&#039;&#039;&#039;: So users can tell what the UDF is intended to do (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Examples&#039;&#039;&#039;: So users can get an idea how to use the UDF. The more the better (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Operating systems&#039;&#039;&#039;: Should support the latest Microsoft OS (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;AutoIt&#039;&#039;&#039;: Should support the latest version of AutoIt (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Author&#039;&#039;&#039;: The author should still be active on the forum so he can reply to questions (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What to do when one of your UDFs is missing?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please send a [https://www.autoitscript.com/forum/messenger/compose/?to=7903 PM] to user water. Add a short description of the UDF and a link to your post in the [https://www.autoitscript.com/forum/forum/9-autoit-example-scripts/ Example Scripts] or [https://www.autoitscript.com/forum/forum/49-autoit-projects-and-collaboration/ Projects and Collaboration] forum.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Added in the past two years&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date !! Section !! Creator !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-10 || [[User_Defined_Functions#Graphics_and_image|Graphics and Image]] || seangriffin || [https://www.autoitscript.com/forum/imndex.php?showtopic=188682 Box2d] - Physics and game engine.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-07 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || MattyD || [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP UDF] - SNMPv1 and SNMPv2c.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-01 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment] - Least Squares Adjustment.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-04-01 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || WildByDesign || [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-10 || [[User_Defined_Functions#Inter_Process_Communications|Inter Process Communications]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC] - Inter Process Communication using TCP/IP.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-09 || [[User_Defined_Functions#Browsers|Browsers]] || ioa747 || [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt] - Integrate WebView2 into AutoIt via COM. &lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-19 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF] - TCP/UDP Networking Library.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || BugFix || [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx] - Another kind of group, versatile changeable.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-16 || [[User_Defined_Functions#Security|Security]] || DonChunior || [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred] - Interface to the Windows Credential Management API.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || genius257 || [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast] - Native Win8+ toast notifications.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Media|Media]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Hardware|Hardware]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213296 Monitor] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-09-22 || [[User_Defined_Functions#Misc|Misc]] || UEZ || [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint] - Creating barcodes using the Zint.dll.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-07-27 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || DXRW4E || [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-04-16 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || seangriffin || [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-03-22 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-02-26 || [[User_Defined_Functions#Controls|Controls]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-16 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Gianni || [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask] - Easily run and manage many processes.&lt;br /&gt;
|- &lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || NoNameCode || [https://www.autoitscript.com/forum/index.php?showtopic=211475 Darkmode] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Network_Guy || [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-11 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || t0nZ || [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog] - Logs made easy.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || argumentum || [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-21 || [[User_Defined_Functions#Controls|Controls]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker] - Date Range Picker Control.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-06 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place the Table of contents (TOC) here --&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Automation ==&lt;br /&gt;
&lt;br /&gt;
===Browsers===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154439 Chrome (by seangriffin)] - Automate the most common tasks in Chrome with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95595 Firefox (by Stilgar)] - A little less support for automation than IE, but still very good.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167661 Firefox (by Danp2)] - Modified newer version of Stilgar Firefox UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/224-firefox-profile-backup/ FireFox Profile Backup 1.0 (by careca)] - Backup or restore your firefox profile. The application searches for the profile in home drive that will be the one to backup.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _FF_AutoLogin (by Stilgar)] - This is a auto-login function and login-function-generator for FireFox and the FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92035 _FF_DM (by Stilgar)] - UDF to control the FireFox Download-Manager (not the download-window).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91650 _FF_FoxBox (by Stilgar)] - UDF to control Fox!Box (A Mozilla Firefox extension for the AVM FRITZ!Box) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91665 _FF_Screengrab (by Stilgar)] - UDF to control Screengrab! (FireFox-AddOn) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _HTML (by Stilgar)] - Get informations from any HTML (XML) source, without any browser.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166542 HTMLDocumentEvents (by SmOke_N)] - Track IE document events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167035 IEEx (by SmOke_N)] - IE extended library with some Javascript options.&lt;br /&gt;
* Internet Explorer (by DaleHohm et al.) - IE library that is now supplied with a standard AutoIt install.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153520 IUIAutomation MS framework (by junkew)] - IUIAutomation MS framework to automate chrome, FF, IE etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149203 NavInfo (by Nessie)] - With this UDF you can check if a specified browser/software is installed and which version is being used.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=61090 Opera (by MrCreatoR,)] - Automate the most common tasks in Opera with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191990 WebDriver (by Danp2)] - W3C compliant Webriver UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt (by ioa747)] - AutoIt WebView2 Component (COM Interop).&lt;br /&gt;
&lt;br /&gt;
===Microsoft Office===&lt;br /&gt;
Some features of Microsoft&#039;s Office products are proprietary and cannot readily be manipulated.  Sometimes workarounds are required.&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;[[Known issues with Microsoft Office automation.|This page]]&amp;lt;/u&amp;gt; is dedicated to identifying those issues, provide explanations and list solutions or workarounds.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32144 Microsoft Office Access (by randallc)] - Automate Microsoft Access.&lt;br /&gt;
* Microsoft Office Excel (by water et al.) - This UDF is included in AutoIt. Link to the [[Excel_UDF|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135312 Microsoft Office Excel Charts (by water, GreenCan)] - Creating charts using Microsoft Excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204034 Microsoft Office Excel Pivot Tables (by SudeepJD)] - Create and Update Excel Pivot Tables and Charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126305 Microsoft Office Outlook (Items) (by water)] - Automate Microsoft Outlook Items. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202451 Microsoft Office Outlook (GUI) (by water)] - Automate Microsoft Outlook GUI. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197346 Microsoft Office Outlook Tools (by water)] - Built on top of the OutlookEX UDF it offers some often needed extended functionality (import/export ics/vcf files etc.). Link to the [[OutlookTools|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50254 Microsoft Office PowerPoint (by Toady)] - Automate Microsoft PowerPoint.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=178783 Microsoft Office PowerPoint (by water)] - Automate Microsoft PowerPoint. Link to the [[Powerpoint|documentation]] pages.&lt;br /&gt;
* Microsoft Office Word (by water et al.) - This UDF is included in AutoIt. Link to the [[Word_UDF|documentation]] pages.&lt;br /&gt;
&lt;br /&gt;
===OpenOffice/LibreOffice===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210514 LibreOffice Suite (by donnyh13)] - A huge list of functions for LibreOffice Base, Calc and Writer. Link to the [[LibreOffice|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151530 OOo/LibO Calc (by GMK)] - OpenOfficeCalc UDF (works also for Libre Office).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185932 OpenOffice/LibreOffice Spell Checker (by GMK)] - Function to validate words, and show spell alternatives.&lt;br /&gt;
&lt;br /&gt;
===Other Applications===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106163 Active Directory (by water)] - Extensive library to control and manipulate the Windows active directory ([https://www.autoitscript.com/forum/files/file/355-ad-active-directory-udf/ Download]). Link to the [[Active_Directory_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87956 Java (by seangriffin)] - Creates an access bridge between your application and a Java application. Allowing you to automate some Java applications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86574 SAP (by seangriffin)] - SAP business management automation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149540 SAPWizard (by ozmike)] - SAPWizard UDF.&lt;br /&gt;
&lt;br /&gt;
== Script Coding/Analyzing/Debugging ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209528 ArrayCombinations (by AspirinJunkie)] - Different ways of composing elements of a set.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155442 ArrayMultiColSort (by Melba23)] - Function to sort a 2D array on several columns.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209523 ArrayPlus (by AspirinJunkie)] - Functions for flexible Array handling (create, extract, rebuild, sort, filter, find, print)&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180467 ArrayWorkshop (by czardas)] - Multidimensional array functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=59174 Associative array functions (by Nutster)] - Manage a version of associative arrays in single AutoIt variables. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=198929 AutoIt error logger (AUERLO) (by user4157124)] - File- and stdout (etc.) output of messages, errors, exit method and -code, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110379 AutoItObject (by ProgAndy and others)] - Brings the Object Orientation programming paradigm to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112879 AutoIt Syntax Highlight (by MrCreatoR)] - Highlights AutoIt v3 syntax code to html/bbcode format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191488 cDebug (by c.haslam)] - Dumps the values of all AutoIt subtypes and expressions including nested arrays, DLL structs and maps.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor (by Nine)] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195882 ErrorLog (by mLipok)] - Logs program activities and errors to different output locations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211718 FuzzyString (by AspirinJunkie)] - Fuzzy string comparison and search in string arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143167 GetOpt (by dany)] - Parse GNU and DOS style command line options similar to getopt().&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog (by t0nZ)] - Logs made easy.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156196 Log4a (by zorphnog)] - Logging library loosely based upon the log4j and NLog libaries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195862 Loga (by Danyfirex)] - Simple logging library to keep track of code with an integrated console.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119032 Log UDF (by Yashied)] - Create a text log files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202832 OnDebugMsgBox (by argumentum)] - Catch the dreaded &amp;quot;AutoIt Error&amp;quot; MsgBox and prettify or hide it.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209529 Set (by AspirinJunkie)] - Provides a set data type and brings the corresponding mathematical functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200660 Variants and Safearrays (by LarsJ)] - Create/access/process Variants and SafeArrays.&lt;br /&gt;
&lt;br /&gt;
=== Inter Process Communications ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202485 AppInteract (by MrCreatoR)] - Reliably pass arrays or other types between processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC (by Kanashius)] - Inter Process Communication using TCP/IP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=205109 AutoItSharedData (by SEuBo)] - Create a shared data storage, a simple AutoItObject-Object, using AutoItObject_Internal.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188991 Autoit-Socket-IO (by tarretarretarre)] - Event driven TCP/IP wrapper inspired by Socket.IO with focus on user friendliness and long term sustainability.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126936 Container (by MrCreatoR)] - Scripts interaction method. Allows to transfer whole arrays as data, and even COM objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=55994 DDEML (by doudou)] - Use your AutoIt script as DDE client or server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193277 FMIPC (by argumentum)] - IPC via FileMapping.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127615 Interprocess (by JScript)] - Remotely execute a function in another script (using Mailslot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193158 IPC_IO (by JohnWIlling)] - IPC library supporting multiple connection types (such as: Named Pipe, File, TCP, SharedMemory, MailSlot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202618 IPC Techniques through ROT Objects (by LarsJ)] - Implementing IRunningObjectTable Interface.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106710 Mailslot (by trancexx)] - IPC using Mailslots.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204734 Overlapped Named Pipe IPC (by Nine)] - Very fast interprocess communication that could be used between VBS or AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169797 Pool - Post Office for Organized Labour (by RTFC)] - Provides multiple AutoIt processes with an infrastructure for exchanging messages, data, and remote-control instructions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202587 WCD IPC (by Nine)] - Framework for Inter Process Communication using Windows Messages WM_COPYDATA.&lt;br /&gt;
&lt;br /&gt;
=== Parallel/concurrent processing ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork (by argumentum)] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186853 _Multiprocess (by jguinch)] - Run several external programs at the same time and retrieve the exit code of each process.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask (by Gianni)] - Easily run and manage many processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking (by Network_Guy)] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT (by Nine)] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
&lt;br /&gt;
== Files, Databases and web connections ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180850 ADO (by mLipok)] - A modifed version of the _SQL UDF to access all kind of databases (MSSQL, MySQL, PostgreSQL, SQLite, MS ACCESS, XLS, TXT, and many other which use ADO and ODBC).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105875 ADODB (by spudw2k)] - ADODB Example.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 AXML (by Aipion)] - This is a Wrapper for Pugixml, made with C++.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145142 DBF (by funkey)] - dBase database read and write with DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/topic/114406-csv-file-to-multidimensional-array/#findComment-799820 CSV (by ProgAndy)] - Read/write CSV files to/from 2D arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197909 CSV (by seangriffin)] - Manipulate CSV files using SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155748 CSVSplit (by czardas)] - Convert to and from CSV format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151116 DIF (by willichan)] - Read/write DIF (Data Interchange Format) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119238 Excel file generation (by jerome)] - Excel file generation (multi-sheet workbook) without the need to have Excel installed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143866 Excel XML (by FireFox)] - Work with SpreadsheetML (Open XML file formats).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155905 EXml (by jdelaney)] - Create Excel file (SpreadsheetML) through &amp;quot;Microsoft.XMLDOM&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116072 EzMySql (by Yoriz)] - Use MySQL Databases with AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148232 _FileGetProperty (by BrewManNH)] - Retrieve properties of a file.Xml2Json&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94920 FireBird (by eltorro)] - FireBird, Interbase DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx (by DXRW4E)] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197421 jq (by TheXman)] - Brings the power and flexibility of jq (an open-source command-line based JSON processor) to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209502 JSON (by AspirinJunkie)] - Interacting with JSON data in AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104150 JSON (by Gabriel13)] - RFC4627 compliant JSON encode/decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148114 JSON (by Ward)] - JSMN - A Non-Strict JSON UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156794 JSON (by ozmike)] - Bridge to Native Windows JSON plus OO extension for AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC (by seangriffin)] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173797 JSONgen (by Jefrey)] - Generate JSON.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127101 MS SQL (by TheLuBu)] - MSSQL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51952 MS SQL (by ChrisL)] - _SQL. ADODB Connection.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20814 MySQL (by cdkid)] - MySQL relational database management system.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85617 MySQL (by ProgAndy)] - MySQL UDFs (without ODBC - working with libmysql.dll).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=122360 MySQL (by James)] - MySQL ODBC Connector.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187223 romaSQL (rynow)] - Built on the concept of Laravel Query &amp;amp; doctrine. Connection string is based on ADODB / ODBC.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143331 Sharepoint 2007/2010 (by schoppet)] - Access the SOAP-Webservices of Sharepoint 2007/2010.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17099 SQLite (by ptrex)] - SQLite is a library that implements a self-contained, embeddable, zero-configuration SQL database engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=142977 SQLite Array Functions (by SmOke_N)] - SQLite Array Functions - a faster method for unique arrays and sorting methods.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140521 SQLite - Database (by PhoenixXL)] - UDF for SQLite so that beginners will also be able to do the stuff.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157853 SQLiteEx (by 57ar7up)] - SQLiteEx UDF v0.5.1 - Simplest work with SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163633 Xbase I/O (by RTFC)] - Transfer data between Xbase Data file (*.dbf) and AutoIt array written in pure AutoIt (no SQL, no ADO, no dlls, no external dependencies).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209526 xlsxNative (by AspirinJunkie)] - Read and write xlsx files without excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=19848 XML DOM Wrapper (by eltorro)] - Supports CRUD operations on XML. Including XSL and XPath.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 XML (by mLipok)] - New version of XML DOM Wrapper, with many new features.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208932 Xml2Json (by TheXman)] - Transform XML to JSON.&lt;br /&gt;
&lt;br /&gt;
== Data compression ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85094 7z, zip, gzip, bzip2, tar (by rasim)] - Extensive library that uses a external DLL that must be provided with the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92958 gZip (by Zinthose)] - Based on the parsing of gZip.exe output. It can work with memory, it doesn&#039;t work with files. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87441 LZMA (by trancexx)] - LZMA (Native Windows).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138838 Package (by Yashied)] - Package UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129529 pZip (by asdf8)] - PureZIP_L library UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=76176 UnRAR (by rasim)] - UnRAR.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17727 XZip (by eltorro)] - Another UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161847 XZip (by mLipok)] - UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44524 Zip plugin (by eltorro)] - Zip plugin.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73425 ZIP (by torels)] - ZIP UDF in pure AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116565 zip (by wraithdu)] - Create ZIP files and unpack ZIP files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135565 ZIP (by joakim)] - ZIP STRUCTS UDF (from scratch).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87284 ZLib (by monoceres)] - Based on ZLib.dll. It can compress/uncompress data in memory, it doesn&#039;t work with files.&lt;br /&gt;
&lt;br /&gt;
== Encryption and hash ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81332 _Base64Encode, _Base64Decode (by trancexx)] - Fast _Base64Encode, _Base64Decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153246 Base91 and Base128 (by Beege)] - Base91 and Base128 functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155538 Codecrypter (by RTFC)] - Encrypt scripts without placing the key inside the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=201002 Cryptography API: Next Gen (by TheXman)] - Microsoft&#039;s long-term replacement for their CryptoAPI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210901 Enigma (by willichan)] - Simple encryption based on the Enigma Machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203990 GDPR (by mLipok)] - Functions to encrypt/decrypt strings and files with the GDPR in mind.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95558 Hashes for files (by trancexx)] - Fast RC32, MD4, MD5, SHA1 calculation for big files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107784 TrueCrypt (by FuryCell)] - TrueCrypt UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140737 WinTrust (by kasty)] - verify the integrity of a file with its embedded signature or a given catalog.&lt;br /&gt;
&lt;br /&gt;
== GUI Additions ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast (by genius257)] - Native Win8+ toast notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97241 3D Pie chart (by WideBoyDixon)] - 3D Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173924 Chart_UDF (by Kanashius)] - This UDF can be used to Display bar charts in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96258 ContextHelp (by Yashied)] - Management of context help ([https://www.autoitscript.com/forum/index.php?showtopic=72152-contexthelp/ original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211475 DarkMode (by NoNameCode)] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109096 ExtMsgBox (by Melba23)] - A very customisable replacement for MsgBox.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx (by BugFix)] - Another kind of group, versatile changeable.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105582 GUICtrlOnChangeRegister (by Mat)] - Call a function when an edits content is changed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme (by WildByDesign)] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145149 GUIExtender (by Melba23)] - Expand and contract sections of your GUI ([https://www.autoitscript.com/forum/index.php?showtopic=117909 original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197654 GuiFlatButton (by kurtykurtyboy)] - Change colors of regular buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119505 GUIFrame (by Melba23 &amp;amp; Kip)] - Divide a GUI into adjustable frames.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=144207 GUI Panel (by FireFox)] - Manage child GUIs as panel ctrls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113723 GUI Scrollbars (by Melba23)] - Automatically sized scrollbars with a single command.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161184 MetroGUI (by BBs19)] - Windows 10 style buttons, toggles, radios etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 Modern tray menu (by Holger)] - Allows the creation of modern, fancy GUI and tray menus with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194693 MTSkin (by Taskms4)] - Simply create modern looking GUIs (borderless GUI, Interactive menu panel (with mouse-over detection), a bunch of skins).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182136 Notifications (by S3cret91)] - Display permanent desktop notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=136149 Notify (by Melba23)] - Small notifications on the edge of the display.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161750 Pie chart (by Andreik)] - Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75429 Real Vista Aero Glass (by James)] - Real Vista Aero Glass UDF - you can apply glass effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF (by Nine)] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=71811 SetOnEvent (by martin)] - Provides an easy way for an event to call functions with parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=103871 _SysTray (by wraithdu)] - Get info about and manipulate Systray icons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108445 Toast (by Melba23)] - Small message GUIs which pop out of the Systray.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110003 Tray Icon Bar Graph (by BeeGee)] - Creates a scrolling bar graph as the tray icon.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=132864 Uskin (by JScript)] - Allows you to skin your GUI using the Windows &#039;&#039;.MSstyles&#039;&#039; files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191821 Wi3SMenu (by NHD)] - Create a slide menu with Windows 10 style. Supports color, icon and opacity.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129196 WinSnap (by Beege)] - Automatic Window Alignment by applying that &amp;quot;snappy edge&amp;quot; effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32494 XSkin (by Valuater)] - Allows skinning of your GUI and to apply custom skins.&lt;br /&gt;
&lt;br /&gt;
=== Controls ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202529 BrowseForFolder (by MrCreatoR)] - Handle SHBrowseForFolderW with more options, such as multi selection (checkboxes), window position, controls text and more. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=146406 Calendar (by jmon)] - Calendar UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125293 ChooseFileFolder (byMelba23)] - Single and multiple selections from specified path treeview listing.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96464 Colorpicker (by Yashied)] - Create a button for the user to select a color.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker (by Nine)] - Date Range Picker Control.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=123409 Explorer Frame UDF (by Beege)] - Takes any frame created by GUIFrame and turns it into a MS-Windows like Explorer window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview (by Kanashius)] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173929 GDIPlus Slider UDF (by Kanashius)] - This UDF can be used to create a slider with an imagebackground and an image to move.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=79412 Graph control (by andybiochem)] - Easily create and show bar chart and line charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104399 GraphGDIPlus UDF (by andybiochem)] - Easily create and show bar chart and line charts with GDI+ to take advantage of double-buffering.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105682 GUICtrlCreateFinder (by Mat)] - Allows you to create a window finder control like the one seen in AutoIt Window Info.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107965 GUIHotkey (by Mat)] - UDF for using native hotkey controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182492 GUIListViewEx (by Melba23)] - Insert, delete, move, drag, sort, edit and colour ListView items.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111438 GUIPager (by Mat)] - Create and control native pager controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 GUI/Tray Menu (by Holger, LarsJ, AZJIO)] - GUI/Tray Menu with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166594 GUITreeViewEx (by Melba23)] - Check/clear parent and child checkboxes in a TreeView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=90598 Hotkey input control (by Yashied)] - Hotkeys Input Control UDF Library (Non-native).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173932 ListView Edit UDF (by Kanashius)] - This UDF can be used to simply edit an Listview.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109355 ListView - Explorer like ListView UDF (by Beege)] - This UDF simplify creating MS Explorer-like ListViews.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143711 Marquee (by Melba23)] - Make tickertape info bars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143380 Predict Text UDF (by PhoenixXL)] - Sub classes the edit control and matches the current word through the Database &amp;amp; sets selection in accordance.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163939 Progressbar new style (by Muzaiyan)] - New styles for your progress bar.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74649 Progressbar with GDIplus (by ProgAndy)] - You even can use full textured images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151636 RestrictEdit_SRE UDF (by PhoenixXL)] - Restrict the text that can be entered in an editbox through a String Regular Expression.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128242 Ribbon (by trancexx)] - UDF for Windows Ribbon framework.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114034 StringSize (by Melba23)] - Automatically size controls to fit the text you want to put in them.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126958 Syslink (by Yashied)] - Provides a convenient way to embed hypertext links in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105814 Table (by andybiochem)] - Table UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211024 Toggle Button (by Andreik)] - Create simple toggle buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125251 TVExplorer (by Yashied)] - Allows to create TreeView (TV) Explorer controls that display a tree of files and folders.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=190659 Virtual Listview (by LarsJ)] - Virtual Listview for large amounts of data with a large number of rows.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195053 Windows Message Monitor (by LarsJ)] - Monitor Windows Messages of a window or control.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118317 Battery UDF (by Yashied)] - Retrieves various information and current status of the battery(s).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154727 BuildPartitionTable (by RTFC)] - Scans a physical drive&#039;s partition table and returns a partition_table, allocation_table and volumes_table.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155674 CommAPI (by therealhanuta)] - Serial and parallel communication (COM port, RS-232, LPT port) - without installing DLL&#039;s (using Windows API calls).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77731 Device Management (by weaponx)] - Device Management API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97487 DirectShow (by monoceres)] - DirectShow UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164700 DirectSound (by eukalyptus)] - DirectSound UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164701 Direct2D (by eukalyptus)] - Direct2D UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99713 Drive Info (by NerdFencer)] - Gathers drive info for Hard Drives, Disk Drives, and Floppy Drives.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138989 FritzBox (by Allow2010)] - _FB_Tools - manage your FritzBox from Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121084 I/O Port Functions (by Ascend4nt)] - Input/Output UDF for interacting with ports (x64 Parallel Port, Keyboard etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203207 MediaDevice (by Danyfirex)] - Transfer files to portable devices like phones, storages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php=showtopic=213296 Monitor (by Trong)] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154350 Monitor Configuration (by jaberwacky)] - Monitor Configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155469 Mouse (by AlmarM)] - AutoIt powered mouse events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=147325 MouseTrapEvent (by ozmike)] - MouseTrapEvent UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149083 NetInfo (by Nessie)] - UDF for test internet download speed and upload speed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155539 Network configuration (by jguinch)] - Network configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182684 Nitgen (by Jefrey)] - UDF to work with Nitgen fingerprint readers that use NGenBio SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210968 Printer Manager (by Nine)] - Manage printers with winspool.drv DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155485 Printers management with WMI (by jguinch)] - Add/delete printer, driver, port, or obtain configuration, set default printer ...&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=189190 Serial port UDF / COM port UDF (by MazeM)] - It is very similar to CommAPI using kernel32.dll, but all code is packed into a single file without any dependencies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128546 Serial Port/COM (by martin)] - Serial Port /COM Port UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27755 SMARTDRIVE (by ptrex)] - SMART drive Analysis.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158640 SPI Hardware Interface (by Blinky)] - Communicate with the MAX335 chip using the SPI protocol via the LPT (printer) port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=8188 VISA/GPIB (by Angel)] - VISA/GPIB library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68866 Webcam (by LIMITER)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70857 Webcam (by ludocus)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91018 WiFi (by MattyD)] - Low level control over your wireless LAN.&lt;br /&gt;
&lt;br /&gt;
== Information gathering ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29404 Computer information (by JSThePatriot)] - A general purpose library to get various details about a Windows machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151920 NetworkStatistics (by Ascend4nt)] - Network Interface Info, Statistics, and Traffic.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=54039 WinPcap (by JRSmile)] - Wrapper for the windows packet capture library WinPcap.&lt;br /&gt;
* [https://opensource.grisambre.net/pcapau3/ WinPcap (by Nicolas Ricquemaque)] - A library to access the main functionalities offered by the WinPcap driver.&lt;br /&gt;
&lt;br /&gt;
== Internet protocol suite ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207859 cURLX64 (by Beege)] - cURL UDF with x64 support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=137456 cURL (by seangriffin)] - A UDF for transferring data with URL syntax.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187718 HTTP lib (by Jefrey)] - HTTP lib (GET, POST and upload) UDF to simplify HTTP requests, mainly when dealing about POST data or file uploads.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202895 HttpApi (by TheXman)] - HTTP Server API enables applications to communicate over HTTP without using MS Internet Information Server (IIS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=40243 IMAP (by mikeytown2)] - IMAP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108422 IMAP4 (by Tipulatoid)] - IMAP4 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=43515 IRC (by McGod)] - A lightweight library for communicating with IRC servers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159285 IRC (by rcmaehl)] - IRC UDF - Updated Version of Chips&#039; IRC UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=22838 POP3 (by Apzo)] - POP3 library for retrieving email messages. Not compatible with Gmail because it uses SSL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167339 POP3 (by mLipok)] - POP3 UDF According to the 1939 RFC, modified version with Quoted Printable decoder.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154530 Prowl (by mrflibblehat)] - Push notifications to iPhone, iPod touch or iPad using Prowl (Growl client for iOS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138095 SFTP (by Lupo73)] - UDF to support SFTP protocol using PSFTP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154054 Socket UDF (by funkey)] - Socket UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=23860 SMTP (by Jos)] - Smtp Mailer That Supports Html And Attachments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167292 SMTP Mailer UDF (by mLipok)] - Smtp Mailer That Supports Html And Attachments - Modified Version with support to save EML files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81687 SNMP (by enaiman)] - SNMP_UDF for SNMPv1 and SNMPv2c.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP (by MattyD)] - SNMP UDF SNMPv1 and SNMPv2c. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70759 SNMP - MIB protocol (by ptrex)] - Reading toner status from SNMP device with WMI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166579 SSH (by jeanphile)] - Use the SSH protocol very easily in your code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185329 STUN (by j0kky)] - STUN is a protocol that permits you to know your external IP but, more interesting, your external port associated to your internal port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184817 SyslogSend (by Irios)] - This allows sending (BSD) messages to a syslog server using UDP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169774 TCPServer (by Jefrey)] - Multi client, event-based, able to bind console app to socket.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=57022 UPnP Protocol (by ptrex)] - UPnP - Read and Control your devices in side out.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=84133 WinHTTP (by trancexx)] - Access the HTTP protocol for creating GET and POST requests and submitting them with conforming standards, cookies not supported.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77503 WinInet (by -Ultima-)] - Access standard Internet protocols (FTP, Gopher and HTTP). Supports GET/POST requests and cookies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181645 Winsock (by j0kky)] - Create client/server application using native winsock functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF (by Trong)] - TCP/UDP Networking Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191954 WSA_NBTCP (by ripdad)] - Windows Sockets API - Non-Blocking Transmission Control Protocol.&lt;br /&gt;
&lt;br /&gt;
== Maths ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment (By AsprininJunkie)] - Least Squares Adjustment.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170658 Advanced Math UDF (by scintilla4evr)] - Advanced mathematical functions (primes, number sequences, interpolate, calculate values of functions like Riemann zeta etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=102686 Advanced rounding (by Mat)] - Support for different measures of accuracy and 8 ways to resolve tie breaks.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83529 Big number (by eukalyptus)] - Make calculations with extremely large numbers that AutoIt normally is not able to support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106551 Decimal To fraction (by Malkey)] - Converts any decimal number to a fraction. Example: 1.2 to 6/5.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162921 Eigen4AutoIt (by RFTC)] - Allows to perform fast matrix operations on large numerical data sets, and much more ....&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra (by AspirinJunkie)] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140789 MathsEx UDF (by PhoenixXL)] - Functions for Carrying Out More Advanced Mathematical Calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81189 Number base conversion (by james3mg)] - From, to and between positive bases less than 63 (decimals supported).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117156 NumToWord (by Mat)] - Convert numerals to a human readable string.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108803 Polynomials (by Mat)] - Functions for using polynomials.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83091 Primes (by jennico)] - Many functions dealing with prime number generation and calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94770 Roman Numerals (by AZJIO)] - Roman Numerals.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98160 Root function (by Mat)] - Working out real roots of numbers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209527 Stat (by AspirinJunkie)] - Statistics for Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163899 StringAPL (by minx)] - inline APL interpreter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=82722 Trigonometric and math functions (by trancexx)] - _ATan2(), _Cosh(), _Frexp(), _Hypot(), _Ldexp(), _Logb(), _Sinh(), _Tanh().&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95357 FreeImage library (by ProgAndy)] - Various operations on images, such as rotate, resize, flip.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll (by Trong)] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127263 HtmlHelp (by Geodetic)] - HtmlHelp functions for context-sensitive help from CHM (compiled HTML) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116009 HyperCam (by seangriffin)] - HyperCam (Screen Recording) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182535 HyCam2 (by willichan)] - Automation for HyCam2 screen recording utility.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50608 OCR (by ptrex)] - Real OCR in AU3 - MODI with MS Office 2003.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=89542 OCR (by seangriffin)] - Tesseract (Screen OCR) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206133 OCRSpace (by MrKm)] - Convert Images to text with the OCRSpace API. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51054 Printer controller (by martin)] - Print text in any font, size and colour at any position on the page, draw lines, curves, elipses, pies in any colour, and print images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73993 Printing (by GRS)] - Printing from AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202621 QRCreator (by BugFix)] - Simple QR-code creation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161831 RTF_Printer (by mLipok)] - Printing RichEdit in the background.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94834 Simple DirectMedia Layer (by AdmiralClaws)] - Adds support for joysticks, CDs, 2D graphics, timers. See [https://www.libsdl.org/ SDL website] for more information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207324 UWPOCR (by Danyfirex)] - Universal Windows Platform Optical Character Recognition API.&lt;br /&gt;
&lt;br /&gt;
===Graphics and image===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202987 AutoYolo3 (by smartee)] - Real-Time Object Detection using YOLOv3 wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113881 au3Irrlicht2 (by JRowe)] - Combining Irrlicht and AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86748 AVI writing udf (by monoceres)] - Create uncompressed avi&#039;s from bitmap files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27362 Bitmap Library (by evilertoaster)] - Bitmap Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202663 GIF animation (by Nine)] - Fast cached GIF animation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150231 GTK+  (by prazetto)] - GTK+ Framework | Widgets.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=13096 ImageGetInfo (by Lazycat)] - Read info from JPEG, TIFF, BMP, PNG and GIF - size, color depth, resolution.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/471-image-search-udf Image Search (by VIP)] - Search for an image on the desktop. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70506 IrrLicht (by A. Percy)] - A 3D graphics engine suitable for creating games.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160732 OpenCV (by myliseJ)] - UDF for the OpenCV library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206432 OpenCV v4+ (by smbape)] - OpenCV UDF with support for OpenCV v4+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151011 OpenGL (by LarsJ)] - OpenGL without external libraries etc. For JPEG files it also retrieves various Exif information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148129 OpenGL (2.0) (by minx)] - New set of UDFs for OpenGL + AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152950 S3D (by Starg)] - Draw simple 3D graphics with GDI+.&lt;br /&gt;
&lt;br /&gt;
===Players===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114143 VLC (by seangriffin)] - VLC (Media Player) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91316 VLC Media Player (by ptrex)] - VLC Media Player.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27352 WMP (by ConsultingJoe)] - Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44008 WMP - Media Controls (by CFire)] - Another Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203154 WMP - GUI Control (by SudeepJD)] - IE based WMP Control.&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83481 BASS Function Library (by BrettF)] - Sound and Music via wrappers for Bass, BassEnc, Bass FX, BassSFX, BassAsio and BassCd DLLs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173808 libZPlay (by Danyfirex)] - Multimedia library for playing mp3, mp2, mp1, ogg, flac, ac3, aac, oga, wav and pcm files and streams.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=37072 MIDI (by eynstyne)] - MIDI UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208116 MIDI (by MattyD)] - Wrap of the Windows MIDI functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114742 SAPIListBox (by seangriffin)] - SAPIListBox (Speech Recognition) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=100439 TTS (by Beege)] - Text-to-Speech UDF.&lt;br /&gt;
&lt;br /&gt;
== PDF ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162195 Acrobat Reader - ActiveX Viewer (by mLipok)] - Make your own PDF Viewer GUI with Acrobat Reader ActiveX COM Object &amp;quot;AcroPDF.PDF.1&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164469 Debenu PDF Viewer SDK (by mLipok)] - A collection of functions to display PDF files in your applications using Debenu PDF Viewer SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160875 Debenu Quick PDF Library (by mLipok)] - A collection of functions for Debenu Quick PDF Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75832 FoxIt Reader (by ptrex)] - PDF Reader in AU3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118827 MPDF (by taietel)] - Create PDF from your application.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=42776 PDFCreator (by ptrex)] - Automation of PDFCreator allows you to create and manipulate PDF files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170550 PDFCreator (by mLipok)] - UDF for PDFCreator v1.x.x with working EVENTs Handler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32261 _StringToPDF (by Tam0r)] - Write a string to a PDF file and specify font size, type etc.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145158 Firewall (by JLogan3o13)] - Control and manipulate the Windows Firewall (enable/disable, Exclusions list, enable/disable ports etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194015 Firewall policy2 (by Bilgus)]- Provides access to the firewall policy for Windows Vista+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150819 VirusTotal (by Danyfirex)] - VirusTotal API 2.0 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred (by DonChunior)] - Interface to the Windows Credential Management API.&lt;br /&gt;
&lt;br /&gt;
== Social Media and other Website API ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159254 Cex.io (by AquilesCrespo)] - UDF script for using with the web api from https://cex.io/ server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169333 CrowdinAPI (by mLipok)] - Uses the [https://crowdin.com/page/api crowdin.net website API] for some functions (create projects, add and update files, download translations or integrate localization).&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/290-dropbox-authenticator/ Dropbox authenticator (by Gimerly)] - Dropbox authenticator.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158106 Easypost (by dcat127)] - Print USPS Postage Labels.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114801 eBay (by seangriffin)] - eBay UDF (functions GetItemStatus and GetSingleItem from the &amp;quot;Shopping API&amp;quot;).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=141340 Gmail (by PhoenixXL)] - Remote Gmail (UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192422 Gmail API (by Ascer)] - Automate communication with Gmail using oAuth 2.0 security. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98504 Google Functions (by Beege)] - Google Functions (Suggestions, Definitions, Translate, Convert).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=115437 Google Maps (by seangriffin)] - Google Maps UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70675 iTunes (by torels)] - iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101802 iTunes (by Beege)] - Another iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150985 No-IP (by Nessie)] - Simply update your no-ip hostname(s) and retrieve the ip address of an no-ip address.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192391 oAuth (by Ascer)] - Open standard for access delegation, commonly used to grant websites or applications access to other websites.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150838 PasteBin (by mrflibblehat)] - Pastebin UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121767 Skype (by FireFox)] - Skype4COM provides an ActiveX interface to the Skype API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113234 Teamspeak 3 (by chipDE)] - Teamspeak 3 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186944 TeamViewer API (by mLipok)] - A collection of function for use with TeamViewer API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186381 Telegram Bot (by LinkOut)] - UDF for [https://core.telegram.org/api Telegram messenger API].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166547 TVmaze.com API (by BBs19)] - TVmaze.com API UDF (TV-Series).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116600 Twitter (by seangriffin)] - Manage Twitter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149247 Yahoo Weather (by Nessie)] - Yahoo Weather API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112775 Youtube Uploader (by BrettF)] - AYTU - AutoIt Youtube Uploader.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50880 ACL (by ptrex)] - Set ACL on windows Objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134508 ACL (by FredAI)] - Do most everything with the DACL and ownership on all types of objects: Files or folders, Registry keys, services, Kernel and WMI objects, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206400 BITS (by DonChunior)] - Background Intelligent Transfer Service to download files from or upload files to HTTP web servers and SMB file shares.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184937 CertUtil (by mLipok)] - Wrapper for windows certutil.exe (command-line program that is installed in Windows as part of Certificate Services).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113560 FileSystemMonitor (by seangriffin)] - Monitors the file system by recording all file system events occurring within a given path.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111018 ITaskBarList (by Beege)] - ITaskBarList UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74118 Local account (by engine)] - Manage local accounts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161193 Magnifier Functions (by Ascend4nt)] - Exposes most of the useful Magnifier API functions available since Windows Vista.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75250 Registry (by engine)] - Windows Registry UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50551 Registry (by seanhart)] - RegWriteAllUsers / RegDeleteAllUsers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=80201 Service (by arcker)] - Build your own service with AutoIt code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124508 Startup (by guinness)] - Create Startup entries in the Startup Folder or Registry.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164756 SCCM (by JLogan3o13)] - Systems Center Configuration Manager Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134628 System restore (by FredAI)] - System restore UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186111 SubstWrapper (by mLipok)] - Wrapper for windows subst.exe command - (Associates a path with a drive letter).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135994 Taskplanner/Taskscheduler COM (by Allow2010)] - an UDF for using the Windows Taskplaner / Task Scheduler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83355 Task Scheduler (by dbzfanatic)] - Task Scheduler UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200068 TaskScheduler (by water)] - Brushed up Task Scheduler UDF. Link to the [[TaskScheduler|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173934 TTS (by Kanashius)] - Used with SAPI Automation Object - text-to-speech (TTS) engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158377 UAC (by AdamUL)] - User Account Control (UAC) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=175719 Utter (by Surya)] - Utilizing more of SAPI (Speech Recognition UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127075 WIMGAPI (by Homes32)] - Manipulate Windows Image Files (.wim) without ImageX.exe.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=28436 Windows Events (by Emperor)] - Create your own Windows events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=6487 Windows Service Control functions (by SumTingWong)] - Some limited functions to control services (create, start, stop, delete, check ...).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81880 Windows Services (by engine)] - Windows Services UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163178 WRMF (by Luigi)] - WRMF - Windows Registry Monitor Call Function.&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/topic/178871-dllcall-with-c-example/#comment-1285754 SMSApi (by mLipok)] - UDF for SMSAPi which provides SMS services. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/index.php?showtopic=178589 BulkSMS (by Skysnake)] - UDF for BulkSMS which provides SMS services. --&amp;gt;&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145099 _AdlibEnhance (by JScript)] - Enhance Adlib to call functions with parameters, pause and resume.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160936 Android (by Moriba)] - Control any Android device.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97826 Animated tray icons (by Yashied)] - Make animated tray icons easily.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163577 Atom Table (by Ascend4nt)] - Store (add, find, delete, and query) strings locally (at program level) or globally (at OS level) with unique numerical identifiers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170087 Barcode generators (by willichan)] - Creates a Code128A/B/C or Creates a Code39 or Code39Extended optimized barcode from supplied data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211660 BlockInput (by Nine)] - Block all input coming from mouse and/or keyboard, without having an UAC warning displayed. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87735 BlockInputEx (by MrCreatoR)] - Supports a few features that built-in BlockInput() function does not.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29763 Clipboard (by eltorro)] - When apps need to watch the clipboard.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170630 ClipboardEx (by ozmike)] - Allows to have more than 1 item in the Clipboard. Handles all data types, not just text.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81267 Clipboard History (by wraithdu)] - Save and restore the entire clipboard contents. Inspired by AHK&#039;s ClipboardAll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169610 CmdLine (by Jefrey)] - Collection of functions to parse command line arguments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126569 Console (by Shaggi)] - Functions and features to work wiht Console input/output.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121833 Copy (by Yashied)] - Copy or move files and directories without suspending your script. Retrieve the current state (copied bytes, error code etc.) while copying.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154684 Date / Time convert (by Melba23)] - Transform date/time formats.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99106 _DLLStructDisplay (by Ascend4nt)] - Show Struct in ListView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157689 _FileGetMimeType (by Wiliat87)] - Retrieve MIME types based on the extension of the filename/filepath/URL provided.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117033 File locking with cooperative semaphores (by willichan)] - Simple file locking without a server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157241 FindMimeFromData (by twbradio)] - FindMimeFromData using urlmon.dll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181997 Font Icon (by J2TeaM)] - Use Font Awesome in your AutoIt project.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68422 HotString (by jvanegmond)] - Similar to the HotKey function but trigger on a string, instead of a key or key combination.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173946 LASM - Light Assembler (by minxomat)] - Inline UDF for an Assembler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161628 LFN (by orbs)] - Overcome MAX_PATH limit of 256 chars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111492 Link Grammar for AutoIt (by JRowe)] -  Input is a regular sentence in English, German or Italian, output is a pattern parsed from the structure of the sentence.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/147-mruau3 MRU (by Yashied)] - Most Recently Used (MRU) List Automation functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188158 .NET Common Language Runtime (CLR) Framework (by Danyfirex, Junkew, Larsj, ptrex, Trancexx)] - Allows AutoIt to access .NET Class Libraries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101733 NoFocusLines (by Melba23)] - Remove the dotted focus lines from buttons, sliders, radios and checkboxes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149176 NotifyIcon (by FireFox)] - Create, delete and manage self notify icons (formerly TrayIconEx). &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=63318 PixelGetColor (by Manadar)] - Get or Read Pixel from memory.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167024 RDC (by Yashied)] - ReadDirectoryChanges Wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51103 Resources (by Zedna)] - Embed any binary data into your AutoIt compiled EXE files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162499 ResourcesEx (by guinness)] - Up to date version of Zedna&#039;s Resources UDF. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111215 Restart (by Yashied)] - Allows to restart a script from any location with full restoration of the original command line parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51547 SciLexer (by Kip)] - Editing control, supports multiple editors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152093 ScriptEditor (by pandel)] - ScriptEditor with I18N support and customizable lexer completely written in AutoIt (based on SciLexer).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162033 Spell Checker (by iCode)] - Spell Checker functions to call Hunspell, Hyphenate and MyThes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164444 Synology filestation (by nend)] - Functions to interact with a Synology NAS server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163328 TimeConvert (by orbs)] - Convert UTC to/from local time, and/or reformat the string representation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint (by UEZ)] - Creating barcodes using the Zint.dll.&lt;br /&gt;
[[Category:UDF]]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15293</id>
		<title>User Defined Functions</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15293"/>
		<updated>2026-05-11T15:27:48Z</updated>

		<summary type="html">&lt;p&gt;Water: Undo revision 15292 by Water (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
This page is a listing of libraries of &#039;&#039;&#039;user defined functions&#039;&#039;&#039; (UDF). These libraries have been written to allow easy integration into your own scripts and are a very valuable resource for any programmer.&amp;lt;br /&amp;gt;&lt;br /&gt;
This list is probably not complete (410 UDFs on 2026-05-10), but constantly supplemented.&lt;br /&gt;
If you do not find a solution here, ask a new question on the [https://www.autoitscript.com/forum/forum/2-general-help-and-support/ forum].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
The listed UDFs might have been written for older versions of AutoIt. So there is no guarantee that every UDF works smoothly with newer versions.&amp;lt;br /&amp;gt;&lt;br /&gt;
None of the UDFs has been tested by the maintainers of this list so you as a user need to make sure that they deliver the expected results.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;When will an UDF be added to this list?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
It should meet all/most of the general requirements for UDFs as described [[UDF-spec|here]].&amp;lt;br&amp;gt;&lt;br /&gt;
In addition the following requirements should be met:&lt;br /&gt;
* &#039;&#039;&#039;Documentation&#039;&#039;&#039;: So users can tell what the UDF is intended to do (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Examples&#039;&#039;&#039;: So users can get an idea how to use the UDF. The more the better (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Operating systems&#039;&#039;&#039;: Should support the latest Microsoft OS (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;AutoIt&#039;&#039;&#039;: Should support the latest version of AutoIt (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Author&#039;&#039;&#039;: The author should still be active on the forum so he can reply to questions (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What to do when one of your UDFs is missing?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please send a [https://www.autoitscript.com/forum/messenger/compose/?to=7903 PM] to user water. Add a short description of the UDF and a link to your post in the [https://www.autoitscript.com/forum/forum/9-autoit-example-scripts/ Example Scripts] or [https://www.autoitscript.com/forum/forum/49-autoit-projects-and-collaboration/ Projects and Collaboration] forum.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Added in the past two years&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date !! Section !! Creator !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-10 || [[User_Defined_Functions#Graphics_and_image|Graphics and Image]] || seangriffin || [https://www.autoitscript.com/forum/imndex.php?showtopic=188682 Box2d] - Physics and game engine.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-07 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || MattyD || [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP UDF] - SNMPv1 and SNMPv2c.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-01 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment] - Least Squares Adjustment.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-04-01 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || WildByDesign || [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-10 || [[User_Defined_Functions#Inter_Process_Communications|Inter Process Communications]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC] - Inter Process Communication using TCP/IP.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-09 || [[User_Defined_Functions#Browsers|Browsers]] || ioa747 || [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt] - Integrate WebView2 into AutoIt via COM. &lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-19 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF] - TCP/UDP Networking Library.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || BugFix || [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx] - Another kind of group, versatile changeable.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-16 || [[User_Defined_Functions#Security|Security]] || DonChunior || [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred] - Interface to the Windows Credential Management API.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || genius257 || [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast] - Native Win8+ toast notifications.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Media|Media]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Hardware|Hardware]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213296 Monitor] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-09-22 || [[User_Defined_Functions#Misc|Misc]] || UEZ || [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint] - Creating barcodes using the Zint.dll.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-07-27 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || DXRW4E || [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-04-16 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || seangriffin || [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-03-22 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-02-26 || [[User_Defined_Functions#Controls|Controls]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-16 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Gianni || [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask] - Easily run and manage many processes.&lt;br /&gt;
|- &lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || NoNameCode || [https://www.autoitscript.com/forum/index.php?showtopic=211475 Darkmode] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Network_Guy || [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-11 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || t0nZ || [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog] - Logs made easy.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || argumentum || [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-21 || [[User_Defined_Functions#Controls|Controls]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker] - Date Range Picker Control.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-06 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place the Table of contents (TOC) here --&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Automation ==&lt;br /&gt;
&lt;br /&gt;
===Browsers===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154439 Chrome (by seangriffin)] - Automate the most common tasks in Chrome with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95595 Firefox (by Stilgar)] - A little less support for automation than IE, but still very good.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167661 Firefox (by Danp2)] - Modified newer version of Stilgar Firefox UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/224-firefox-profile-backup/ FireFox Profile Backup 1.0 (by careca)] - Backup or restore your firefox profile. The application searches for the profile in home drive that will be the one to backup.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _FF_AutoLogin (by Stilgar)] - This is a auto-login function and login-function-generator for FireFox and the FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92035 _FF_DM (by Stilgar)] - UDF to control the FireFox Download-Manager (not the download-window).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91650 _FF_FoxBox (by Stilgar)] - UDF to control Fox!Box (A Mozilla Firefox extension for the AVM FRITZ!Box) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91665 _FF_Screengrab (by Stilgar)] - UDF to control Screengrab! (FireFox-AddOn) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _HTML (by Stilgar)] - Get informations from any HTML (XML) source, without any browser.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166542 HTMLDocumentEvents (by SmOke_N)] - Track IE document events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167035 IEEx (by SmOke_N)] - IE extended library with some Javascript options.&lt;br /&gt;
* Internet Explorer (by DaleHohm et al.) - IE library that is now supplied with a standard AutoIt install.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153520 IUIAutomation MS framework (by junkew)] - IUIAutomation MS framework to automate chrome, FF, IE etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149203 NavInfo (by Nessie)] - With this UDF you can check if a specified browser/software is installed and which version is being used.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=61090 Opera (by MrCreatoR,)] - Automate the most common tasks in Opera with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191990 WebDriver (by Danp2)] - W3C compliant Webriver UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt (by ioa747)] - AutoIt WebView2 Component (COM Interop).&lt;br /&gt;
&lt;br /&gt;
===Microsoft Office===&lt;br /&gt;
Some features of Microsoft&#039;s Office products are proprietary and cannot readily be manipulated.  Sometimes workarounds are required.&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;[[Known issues with Microsoft Office automation.|This page]]&amp;lt;/u&amp;gt; is dedicated to identifying those issues, provide explanations and list solutions or workarounds.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32144 Microsoft Office Access (by randallc)] - Automate Microsoft Access.&lt;br /&gt;
* Microsoft Office Excel (by water et al.) - This UDF is included in AutoIt. Link to the [[Excel_UDF|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135312 Microsoft Office Excel Charts (by water, GreenCan)] - Creating charts using Microsoft Excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204034 Microsoft Office Excel Pivot Tables (by SudeepJD)] - Create and Update Excel Pivot Tables and Charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126305 Microsoft Office Outlook (Items) (by water)] - Automate Microsoft Outlook Items. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202451 Microsoft Office Outlook (GUI) (by water)] - Automate Microsoft Outlook GUI. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197346 Microsoft Office Outlook Tools (by water)] - Built on top of the OutlookEX UDF it offers some often needed extended functionality (import/export ics/vcf files etc.). Link to the [[OutlookTools|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50254 Microsoft Office PowerPoint (by Toady)] - Automate Microsoft PowerPoint.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=178783 Microsoft Office PowerPoint (by water)] - Automate Microsoft PowerPoint. Link to the [[Powerpoint|documentation]] pages.&lt;br /&gt;
* Microsoft Office Word (by water et al.) - This UDF is included in AutoIt. Link to the [[Word_UDF|documentation]] pages.&lt;br /&gt;
&lt;br /&gt;
===OpenOffice/LibreOffice===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210514 LibreOffice Suite (by donnyh13)] - A huge list of functions for LibreOffice Base, Calc and Writer. Link to the [[LibreOffice|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151530 OOo/LibO Calc (by GMK)] - OpenOfficeCalc UDF (works also for Libre Office).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185932 OpenOffice/LibreOffice Spell Checker (by GMK)] - Function to validate words, and show spell alternatives.&lt;br /&gt;
&lt;br /&gt;
===Other Applications===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106163 Active Directory (by water)] - Extensive library to control and manipulate the Windows active directory ([https://www.autoitscript.com/forum/files/file/355-ad-active-directory-udf/ Download]). Link to the [[Active_Directory_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87956 Java (by seangriffin)] - Creates an access bridge between your application and a Java application. Allowing you to automate some Java applications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86574 SAP (by seangriffin)] - SAP business management automation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149540 SAPWizard (by ozmike)] - SAPWizard UDF.&lt;br /&gt;
&lt;br /&gt;
== Script Coding/Analyzing/Debugging ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209528 ArrayCombinations (by AspirinJunkie)] - Different ways of composing elements of a set.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155442 ArrayMultiColSort (by Melba23)] - Function to sort a 2D array on several columns.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209523 ArrayPlus (by AspirinJunkie)] - Functions for flexible Array handling (create, extract, rebuild, sort, filter, find, print)&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180467 ArrayWorkshop (by czardas)] - Multidimensional array functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=59174 Associative array functions (by Nutster)] - Manage a version of associative arrays in single AutoIt variables. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=198929 AutoIt error logger (AUERLO) (by user4157124)] - File- and stdout (etc.) output of messages, errors, exit method and -code, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110379 AutoItObject (by ProgAndy and others)] - Brings the Object Orientation programming paradigm to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112879 AutoIt Syntax Highlight (by MrCreatoR)] - Highlights AutoIt v3 syntax code to html/bbcode format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191488 cDebug (by c.haslam)] - Dumps the values of all AutoIt subtypes and expressions including nested arrays, DLL structs and maps.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor (by Nine)] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195882 ErrorLog (by mLipok)] - Logs program activities and errors to different output locations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211718 FuzzyString (by AspirinJunkie)] - Fuzzy string comparison and search in string arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143167 GetOpt (by dany)] - Parse GNU and DOS style command line options similar to getopt().&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog (by t0nZ)] - Logs made easy.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156196 Log4a (by zorphnog)] - Logging library loosely based upon the log4j and NLog libaries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195862 Loga (by Danyfirex)] - Simple logging library to keep track of code with an integrated console.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119032 Log UDF (by Yashied)] - Create a text log files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202832 OnDebugMsgBox (by argumentum)] - Catch the dreaded &amp;quot;AutoIt Error&amp;quot; MsgBox and prettify or hide it.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209529 Set (by AspirinJunkie)] - Provides a set data type and brings the corresponding mathematical functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200660 Variants and Safearrays (by LarsJ)] - Create/access/process Variants and SafeArrays.&lt;br /&gt;
&lt;br /&gt;
=== Inter Process Communications ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202485 AppInteract (by MrCreatoR)] - Reliably pass arrays or other types between processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC (by Kanashius)] - Inter Process Communication using TCP/IP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=205109 AutoItSharedData (by SEuBo)] - Create a shared data storage, a simple AutoItObject-Object, using AutoItObject_Internal.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188991 Autoit-Socket-IO (by tarretarretarre)] - Event driven TCP/IP wrapper inspired by Socket.IO with focus on user friendliness and long term sustainability.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126936 Container (by MrCreatoR)] - Scripts interaction method. Allows to transfer whole arrays as data, and even COM objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=55994 DDEML (by doudou)] - Use your AutoIt script as DDE client or server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193277 FMIPC (by argumentum)] - IPC via FileMapping.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127615 Interprocess (by JScript)] - Remotely execute a function in another script (using Mailslot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193158 IPC_IO (by JohnWIlling)] - IPC library supporting multiple connection types (such as: Named Pipe, File, TCP, SharedMemory, MailSlot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202618 IPC Techniques through ROT Objects (by LarsJ)] - Implementing IRunningObjectTable Interface.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106710 Mailslot (by trancexx)] - IPC using Mailslots.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204734 Overlapped Named Pipe IPC (by Nine)] - Very fast interprocess communication that could be used between VBS or AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169797 Pool - Post Office for Organized Labour (by RTFC)] - Provides multiple AutoIt processes with an infrastructure for exchanging messages, data, and remote-control instructions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202587 WCD IPC (by Nine)] - Framework for Inter Process Communication using Windows Messages WM_COPYDATA.&lt;br /&gt;
&lt;br /&gt;
=== Parallel/concurrent processing ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork (by argumentum)] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186853 _Multiprocess (by jguinch)] - Run several external programs at the same time and retrieve the exit code of each process.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask (by Gianni)] - Easily run and manage many processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking (by Network_Guy)] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT (by Nine)] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
&lt;br /&gt;
== Files, Databases and web connections ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180850 ADO (by mLipok)] - A modifed version of the _SQL UDF to access all kind of databases (MSSQL, MySQL, PostgreSQL, SQLite, MS ACCESS, XLS, TXT, and many other which use ADO and ODBC).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105875 ADODB (by spudw2k)] - ADODB Example.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 AXML (by Aipion)] - This is a Wrapper for Pugixml, made with C++.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145142 DBF (by funkey)] - dBase database read and write with DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/topic/114406-csv-file-to-multidimensional-array/#findComment-799820 CSV (by ProgAndy)] - Read/write CSV files to/from 2D arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197909 CSV (by seangriffin)] - Manipulate CSV files using SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155748 CSVSplit (by czardas)] - Convert to and from CSV format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151116 DIF (by willichan)] - Read/write DIF (Data Interchange Format) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119238 Excel file generation (by jerome)] - Excel file generation (multi-sheet workbook) without the need to have Excel installed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143866 Excel XML (by FireFox)] - Work with SpreadsheetML (Open XML file formats).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155905 EXml (by jdelaney)] - Create Excel file (SpreadsheetML) through &amp;quot;Microsoft.XMLDOM&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116072 EzMySql (by Yoriz)] - Use MySQL Databases with AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148232 _FileGetProperty (by BrewManNH)] - Retrieve properties of a file.Xml2Json&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94920 FireBird (by eltorro)] - FireBird, Interbase DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx (by DXRW4E)] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197421 jq (by TheXman)] - Brings the power and flexibility of jq (an open-source command-line based JSON processor) to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209502 JSON (by AspirinJunkie)] - Interacting with JSON data in AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104150 JSON (by Gabriel13)] - RFC4627 compliant JSON encode/decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148114 JSON (by Ward)] - JSMN - A Non-Strict JSON UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156794 JSON (by ozmike)] - Bridge to Native Windows JSON plus OO extension for AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC (by seangriffin)] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173797 JSONgen (by Jefrey)] - Generate JSON.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127101 MS SQL (by TheLuBu)] - MSSQL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51952 MS SQL (by ChrisL)] - _SQL. ADODB Connection.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20814 MySQL (by cdkid)] - MySQL relational database management system.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85617 MySQL (by ProgAndy)] - MySQL UDFs (without ODBC - working with libmysql.dll).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=122360 MySQL (by James)] - MySQL ODBC Connector.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187223 romaSQL (rynow)] - Built on the concept of Laravel Query &amp;amp; doctrine. Connection string is based on ADODB / ODBC.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143331 Sharepoint 2007/2010 (by schoppet)] - Access the SOAP-Webservices of Sharepoint 2007/2010.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17099 SQLite (by ptrex)] - SQLite is a library that implements a self-contained, embeddable, zero-configuration SQL database engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=142977 SQLite Array Functions (by SmOke_N)] - SQLite Array Functions - a faster method for unique arrays and sorting methods.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140521 SQLite - Database (by PhoenixXL)] - UDF for SQLite so that beginners will also be able to do the stuff.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157853 SQLiteEx (by 57ar7up)] - SQLiteEx UDF v0.5.1 - Simplest work with SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163633 Xbase I/O (by RTFC)] - Transfer data between Xbase Data file (*.dbf) and AutoIt array written in pure AutoIt (no SQL, no ADO, no dlls, no external dependencies).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209526 xlsxNative (by AspirinJunkie)] - Read and write xlsx files without excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=19848 XML DOM Wrapper (by eltorro)] - Supports CRUD operations on XML. Including XSL and XPath.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 XML (by mLipok)] - New version of XML DOM Wrapper, with many new features.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208932 Xml2Json (by TheXman)] - Transform XML to JSON.&lt;br /&gt;
&lt;br /&gt;
== Data compression ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85094 7z, zip, gzip, bzip2, tar (by rasim)] - Extensive library that uses a external DLL that must be provided with the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92958 gZip (by Zinthose)] - Based on the parsing of gZip.exe output. It can work with memory, it doesn&#039;t work with files. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87441 LZMA (by trancexx)] - LZMA (Native Windows).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138838 Package (by Yashied)] - Package UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129529 pZip (by asdf8)] - PureZIP_L library UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=76176 UnRAR (by rasim)] - UnRAR.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17727 XZip (by eltorro)] - Another UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161847 XZip (by mLipok)] - UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44524 Zip plugin (by eltorro)] - Zip plugin.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73425 ZIP (by torels)] - ZIP UDF in pure AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116565 zip (by wraithdu)] - Create ZIP files and unpack ZIP files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135565 ZIP (by joakim)] - ZIP STRUCTS UDF (from scratch).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87284 ZLib (by monoceres)] - Based on ZLib.dll. It can compress/uncompress data in memory, it doesn&#039;t work with files.&lt;br /&gt;
&lt;br /&gt;
== Encryption and hash ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81332 _Base64Encode, _Base64Decode (by trancexx)] - Fast _Base64Encode, _Base64Decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153246 Base91 and Base128 (by Beege)] - Base91 and Base128 functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155538 Codecrypter (by RTFC)] - Encrypt scripts without placing the key inside the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=201002 Cryptography API: Next Gen (by TheXman)] - Microsoft&#039;s long-term replacement for their CryptoAPI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210901 Enigma (by willichan)] - Simple encryption based on the Enigma Machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203990 GDPR (by mLipok)] - Functions to encrypt/decrypt strings and files with the GDPR in mind.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95558 Hashes for files (by trancexx)] - Fast RC32, MD4, MD5, SHA1 calculation for big files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107784 TrueCrypt (by FuryCell)] - TrueCrypt UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140737 WinTrust (by kasty)] - verify the integrity of a file with its embedded signature or a given catalog.&lt;br /&gt;
&lt;br /&gt;
== GUI Additions ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast (by genius257)] - Native Win8+ toast notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97241 3D Pie chart (by WideBoyDixon)] - 3D Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173924 Chart_UDF (by Kanashius)] - This UDF can be used to Display bar charts in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96258 ContextHelp (by Yashied)] - Management of context help ([https://www.autoitscript.com/forum/index.php?showtopic=72152-contexthelp/ original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211475 DarkMode (by NoNameCode)] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109096 ExtMsgBox (by Melba23)] - A very customisable replacement for MsgBox.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx (by BugFix)] - Another kind of group, versatile changeable.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105582 GUICtrlOnChangeRegister (by Mat)] - Call a function when an edits content is changed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme (by WildByDesign)] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145149 GUIExtender (by Melba23)] - Expand and contract sections of your GUI ([https://www.autoitscript.com/forum/index.php?showtopic=117909 original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197654 GuiFlatButton (by kurtykurtyboy)] - Change colors of regular buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119505 GUIFrame (by Melba23 &amp;amp; Kip)] - Divide a GUI into adjustable frames.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=144207 GUI Panel (by FireFox)] - Manage child GUIs as panel ctrls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113723 GUI Scrollbars (by Melba23)] - Automatically sized scrollbars with a single command.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161184 MetroGUI (by BBs19)] - Windows 10 style buttons, toggles, radios etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 Modern tray menu (by Holger)] - Allows the creation of modern, fancy GUI and tray menus with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194693 MTSkin (by Taskms4)] - Simply create modern looking GUIs (borderless GUI, Interactive menu panel (with mouse-over detection), a bunch of skins).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182136 Notifications (by S3cret91)] - Display permanent desktop notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=136149 Notify (by Melba23)] - Small notifications on the edge of the display.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161750 Pie chart (by Andreik)] - Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75429 Real Vista Aero Glass (by James)] - Real Vista Aero Glass UDF - you can apply glass effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF (by Nine)] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=71811 SetOnEvent (by martin)] - Provides an easy way for an event to call functions with parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=103871 _SysTray (by wraithdu)] - Get info about and manipulate Systray icons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108445 Toast (by Melba23)] - Small message GUIs which pop out of the Systray.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110003 Tray Icon Bar Graph (by BeeGee)] - Creates a scrolling bar graph as the tray icon.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=132864 Uskin (by JScript)] - Allows you to skin your GUI using the Windows &#039;&#039;.MSstyles&#039;&#039; files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191821 Wi3SMenu (by NHD)] - Create a slide menu with Windows 10 style. Supports color, icon and opacity.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129196 WinSnap (by Beege)] - Automatic Window Alignment by applying that &amp;quot;snappy edge&amp;quot; effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32494 XSkin (by Valuater)] - Allows skinning of your GUI and to apply custom skins.&lt;br /&gt;
&lt;br /&gt;
=== Controls ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202529 BrowseForFolder (by MrCreatoR)] - Handle SHBrowseForFolderW with more options, such as multi selection (checkboxes), window position, controls text and more. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=146406 Calendar (by jmon)] - Calendar UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125293 ChooseFileFolder (byMelba23)] - Single and multiple selections from specified path treeview listing.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96464 Colorpicker (by Yashied)] - Create a button for the user to select a color.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker (by Nine)] - Date Range Picker Control.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=123409 Explorer Frame UDF (by Beege)] - Takes any frame created by GUIFrame and turns it into a MS-Windows like Explorer window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview (by Kanashius)] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173929 GDIPlus Slider UDF (by Kanashius)] - This UDF can be used to create a slider with an imagebackground and an image to move.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=79412 Graph control (by andybiochem)] - Easily create and show bar chart and line charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104399 GraphGDIPlus UDF (by andybiochem)] - Easily create and show bar chart and line charts with GDI+ to take advantage of double-buffering.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105682 GUICtrlCreateFinder (by Mat)] - Allows you to create a window finder control like the one seen in AutoIt Window Info.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107965 GUIHotkey (by Mat)] - UDF for using native hotkey controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182492 GUIListViewEx (by Melba23)] - Insert, delete, move, drag, sort, edit and colour ListView items.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111438 GUIPager (by Mat)] - Create and control native pager controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 GUI/Tray Menu (by Holger, LarsJ, AZJIO)] - GUI/Tray Menu with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166594 GUITreeViewEx (by Melba23)] - Check/clear parent and child checkboxes in a TreeView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=90598 Hotkey input control (by Yashied)] - Hotkeys Input Control UDF Library (Non-native).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173932 ListView Edit UDF (by Kanashius)] - This UDF can be used to simply edit an Listview.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109355 ListView - Explorer like ListView UDF (by Beege)] - This UDF simplify creating MS Explorer-like ListViews.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143711 Marquee (by Melba23)] - Make tickertape info bars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143380 Predict Text UDF (by PhoenixXL)] - Sub classes the edit control and matches the current word through the Database &amp;amp; sets selection in accordance.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163939 Progressbar new style (by Muzaiyan)] - New styles for your progress bar.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74649 Progressbar with GDIplus (by ProgAndy)] - You even can use full textured images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151636 RestrictEdit_SRE UDF (by PhoenixXL)] - Restrict the text that can be entered in an editbox through a String Regular Expression.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128242 Ribbon (by trancexx)] - UDF for Windows Ribbon framework.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114034 StringSize (by Melba23)] - Automatically size controls to fit the text you want to put in them.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126958 Syslink (by Yashied)] - Provides a convenient way to embed hypertext links in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105814 Table (by andybiochem)] - Table UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211024 Toggle Button (by Andreik)] - Create simple toggle buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125251 TVExplorer (by Yashied)] - Allows to create TreeView (TV) Explorer controls that display a tree of files and folders.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=190659 Virtual Listview (by LarsJ)] - Virtual Listview for large amounts of data with a large number of rows.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195053 Windows Message Monitor (by LarsJ)] - Monitor Windows Messages of a window or control.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118317 Battery UDF (by Yashied)] - Retrieves various information and current status of the battery(s).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154727 BuildPartitionTable (by RTFC)] - Scans a physical drive&#039;s partition table and returns a partition_table, allocation_table and volumes_table.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155674 CommAPI (by therealhanuta)] - Serial and parallel communication (COM port, RS-232, LPT port) - without installing DLL&#039;s (using Windows API calls).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77731 Device Management (by weaponx)] - Device Management API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97487 DirectShow (by monoceres)] - DirectShow UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164700 DirectSound (by eukalyptus)] - DirectSound UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164701 Direct2D (by eukalyptus)] - Direct2D UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99713 Drive Info (by NerdFencer)] - Gathers drive info for Hard Drives, Disk Drives, and Floppy Drives.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138989 FritzBox (by Allow2010)] - _FB_Tools - manage your FritzBox from Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121084 I/O Port Functions (by Ascend4nt)] - Input/Output UDF for interacting with ports (x64 Parallel Port, Keyboard etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203207 MediaDevice (by Danyfirex)] - Transfer files to portable devices like phones, storages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php=showtopic=213296 Monitor (by Trong)] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154350 Monitor Configuration (by jaberwacky)] - Monitor Configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155469 Mouse (by AlmarM)] - AutoIt powered mouse events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=147325 MouseTrapEvent (by ozmike)] - MouseTrapEvent UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149083 NetInfo (by Nessie)] - UDF for test internet download speed and upload speed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155539 Network configuration (by jguinch)] - Network configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182684 Nitgen (by Jefrey)] - UDF to work with Nitgen fingerprint readers that use NGenBio SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210968 Printer Manager (by Nine)] - Manage printers with winspool.drv DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155485 Printers management with WMI (by jguinch)] - Add/delete printer, driver, port, or obtain configuration, set default printer ...&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=189190 Serial port UDF / COM port UDF (by MazeM)] - It is very similar to CommAPI using kernel32.dll, but all code is packed into a single file without any dependencies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128546 Serial Port/COM (by martin)] - Serial Port /COM Port UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27755 SMARTDRIVE (by ptrex)] - SMART drive Analysis.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158640 SPI Hardware Interface (by Blinky)] - Communicate with the MAX335 chip using the SPI protocol via the LPT (printer) port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=8188 VISA/GPIB (by Angel)] - VISA/GPIB library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68866 Webcam (by LIMITER)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70857 Webcam (by ludocus)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91018 WiFi (by MattyD)] - Low level control over your wireless LAN.&lt;br /&gt;
&lt;br /&gt;
== Information gathering ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29404 Computer information (by JSThePatriot)] - A general purpose library to get various details about a Windows machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151920 NetworkStatistics (by Ascend4nt)] - Network Interface Info, Statistics, and Traffic.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=54039 WinPcap (by JRSmile)] - Wrapper for the windows packet capture library WinPcap.&lt;br /&gt;
* [https://opensource.grisambre.net/pcapau3/ WinPcap (by Nicolas Ricquemaque)] - A library to access the main functionalities offered by the WinPcap driver.&lt;br /&gt;
&lt;br /&gt;
== Internet protocol suite ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207859 cURLX64 (by Beege)] - cURL UDF with x64 support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=137456 cURL (by seangriffin)] - A UDF for transferring data with URL syntax.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187718 HTTP lib (by Jefrey)] - HTTP lib (GET, POST and upload) UDF to simplify HTTP requests, mainly when dealing about POST data or file uploads.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202895 HttpApi (by TheXman)] - HTTP Server API enables applications to communicate over HTTP without using MS Internet Information Server (IIS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=40243 IMAP (by mikeytown2)] - IMAP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108422 IMAP4 (by Tipulatoid)] - IMAP4 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=43515 IRC (by McGod)] - A lightweight library for communicating with IRC servers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159285 IRC (by rcmaehl)] - IRC UDF - Updated Version of Chips&#039; IRC UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=22838 POP3 (by Apzo)] - POP3 library for retrieving email messages. Not compatible with Gmail because it uses SSL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167339 POP3 (by mLipok)] - POP3 UDF According to the 1939 RFC, modified version with Quoted Printable decoder.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154530 Prowl (by mrflibblehat)] - Push notifications to iPhone, iPod touch or iPad using Prowl (Growl client for iOS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138095 SFTP (by Lupo73)] - UDF to support SFTP protocol using PSFTP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154054 Socket UDF (by funkey)] - Socket UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=23860 SMTP (by Jos)] - Smtp Mailer That Supports Html And Attachments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167292 SMTP Mailer UDF (by mLipok)] - Smtp Mailer That Supports Html And Attachments - Modified Version with support to save EML files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81687 SNMP (by enaiman)] - SNMP_UDF for SNMPv1 and SNMPv2c.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP (by MattyD)] - SNMP UDF SNMPv1 and SNMPv2c. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70759 SNMP - MIB protocol (by ptrex)] - Reading toner status from SNMP device with WMI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166579 SSH (by jeanphile)] - Use the SSH protocol very easily in your code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185329 STUN (by j0kky)] - STUN is a protocol that permits you to know your external IP but, more interesting, your external port associated to your internal port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184817 SyslogSend (by Irios)] - This allows sending (BSD) messages to a syslog server using UDP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169774 TCPServer (by Jefrey)] - Multi client, event-based, able to bind console app to socket.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=57022 UPnP Protocol (by ptrex)] - UPnP - Read and Control your devices in side out.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=84133 WinHTTP (by trancexx)] - Access the HTTP protocol for creating GET and POST requests and submitting them with conforming standards, cookies not supported.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77503 WinInet (by -Ultima-)] - Access standard Internet protocols (FTP, Gopher and HTTP). Supports GET/POST requests and cookies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181645 Winsock (by j0kky)] - Create client/server application using native winsock functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF (by Trong)] - TCP/UDP Networking Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191954 WSA_NBTCP (by ripdad)] - Windows Sockets API - Non-Blocking Transmission Control Protocol.&lt;br /&gt;
&lt;br /&gt;
== Maths ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment (By AsprininJunkie)] - Least Squares Adjustment.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170658 Advanced Math UDF (by scintilla4evr)] - Advanced mathematical functions (primes, number sequences, interpolate, calculate values of functions like Riemann zeta etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=102686 Advanced rounding (by Mat)] - Support for different measures of accuracy and 8 ways to resolve tie breaks.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83529 Big number (by eukalyptus)] - Make calculations with extremely large numbers that AutoIt normally is not able to support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106551 Decimal To fraction (by Malkey)] - Converts any decimal number to a fraction. Example: 1.2 to 6/5.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162921 Eigen4AutoIt (by RFTC)] - Allows to perform fast matrix operations on large numerical data sets, and much more ....&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra (by AspirinJunkie)] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140789 MathsEx UDF (by PhoenixXL)] - Functions for Carrying Out More Advanced Mathematical Calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81189 Number base conversion (by james3mg)] - From, to and between positive bases less than 63 (decimals supported).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117156 NumToWord (by Mat)] - Convert numerals to a human readable string.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108803 Polynomials (by Mat)] - Functions for using polynomials.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83091 Primes (by jennico)] - Many functions dealing with prime number generation and calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94770 Roman Numerals (by AZJIO)] - Roman Numerals.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98160 Root function (by Mat)] - Working out real roots of numbers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209527 Stat (by AspirinJunkie)] - Statistics for Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163899 StringAPL (by minx)] - inline APL interpreter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=82722 Trigonometric and math functions (by trancexx)] - _ATan2(), _Cosh(), _Frexp(), _Hypot(), _Ldexp(), _Logb(), _Sinh(), _Tanh().&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95357 FreeImage library (by ProgAndy)] - Various operations on images, such as rotate, resize, flip.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll (by Trong)] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127263 HtmlHelp (by Geodetic)] - HtmlHelp functions for context-sensitive help from CHM (compiled HTML) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116009 HyperCam (by seangriffin)] - HyperCam (Screen Recording) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182535 HyCam2 (by willichan)] - Automation for HyCam2 screen recording utility.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50608 OCR (by ptrex)] - Real OCR in AU3 - MODI with MS Office 2003.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=89542 OCR (by seangriffin)] - Tesseract (Screen OCR) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206133 OCRSpace (by MrKm)] - Convert Images to text with the OCRSpace API. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51054 Printer controller (by martin)] - Print text in any font, size and colour at any position on the page, draw lines, curves, elipses, pies in any colour, and print images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73993 Printing (by GRS)] - Printing from AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202621 QRCreator (by BugFix)] - Simple QR-code creation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161831 RTF_Printer (by mLipok)] - Printing RichEdit in the background.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94834 Simple DirectMedia Layer (by AdmiralClaws)] - Adds support for joysticks, CDs, 2D graphics, timers. See [https://www.libsdl.org/ SDL website] for more information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207324 UWPOCR (by Danyfirex)] - Universal Windows Platform Optical Character Recognition API.&lt;br /&gt;
&lt;br /&gt;
===Graphics and image===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202987 AutoYolo3 (by smartee)] - Real-Time Object Detection using YOLOv3 wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113881 au3Irrlicht2 (by JRowe)] - Combining Irrlicht and AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86748 AVI writing udf (by monoceres)] - Create uncompressed avi&#039;s from bitmap files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27362 Bitmap Library (by evilertoaster)] - Bitmap Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/imndex.php?showtopic=188682 Box2d (by Seangriffin)] - Physics and game engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202663 GIF animation (by Nine)] - Fast cached GIF animation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150231 GTK+  (by prazetto)] - GTK+ Framework | Widgets.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=13096 ImageGetInfo (by Lazycat)] - Read info from JPEG, TIFF, BMP, PNG and GIF - size, color depth, resolution.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/471-image-search-udf Image Search (by VIP)] - Search for an image on the desktop. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70506 IrrLicht (by A. Percy)] - A 3D graphics engine suitable for creating games.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160732 OpenCV (by myliseJ)] - UDF for the OpenCV library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206432 OpenCV v4+ (by smbape)] - OpenCV UDF with support for OpenCV v4+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151011 OpenGL (by LarsJ)] - OpenGL without external libraries etc. For JPEG files it also retrieves various Exif information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148129 OpenGL (2.0) (by minx)] - New set of UDFs for OpenGL + AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152950 S3D (by Starg)] - Draw simple 3D graphics with GDI+.&lt;br /&gt;
&lt;br /&gt;
===Players===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114143 VLC (by seangriffin)] - VLC (Media Player) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91316 VLC Media Player (by ptrex)] - VLC Media Player.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27352 WMP (by ConsultingJoe)] - Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44008 WMP - Media Controls (by CFire)] - Another Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203154 WMP - GUI Control (by SudeepJD)] - IE based WMP Control.&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83481 BASS Function Library (by BrettF)] - Sound and Music via wrappers for Bass, BassEnc, Bass FX, BassSFX, BassAsio and BassCd DLLs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173808 libZPlay (by Danyfirex)] - Multimedia library for playing mp3, mp2, mp1, ogg, flac, ac3, aac, oga, wav and pcm files and streams.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=37072 MIDI (by eynstyne)] - MIDI UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208116 MIDI (by MattyD)] - Wrap of the Windows MIDI functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114742 SAPIListBox (by seangriffin)] - SAPIListBox (Speech Recognition) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=100439 TTS (by Beege)] - Text-to-Speech UDF.&lt;br /&gt;
&lt;br /&gt;
== PDF ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162195 Acrobat Reader - ActiveX Viewer (by mLipok)] - Make your own PDF Viewer GUI with Acrobat Reader ActiveX COM Object &amp;quot;AcroPDF.PDF.1&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164469 Debenu PDF Viewer SDK (by mLipok)] - A collection of functions to display PDF files in your applications using Debenu PDF Viewer SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160875 Debenu Quick PDF Library (by mLipok)] - A collection of functions for Debenu Quick PDF Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75832 FoxIt Reader (by ptrex)] - PDF Reader in AU3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118827 MPDF (by taietel)] - Create PDF from your application.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=42776 PDFCreator (by ptrex)] - Automation of PDFCreator allows you to create and manipulate PDF files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170550 PDFCreator (by mLipok)] - UDF for PDFCreator v1.x.x with working EVENTs Handler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32261 _StringToPDF (by Tam0r)] - Write a string to a PDF file and specify font size, type etc.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145158 Firewall (by JLogan3o13)] - Control and manipulate the Windows Firewall (enable/disable, Exclusions list, enable/disable ports etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194015 Firewall policy2 (by Bilgus)]- Provides access to the firewall policy for Windows Vista+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150819 VirusTotal (by Danyfirex)] - VirusTotal API 2.0 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred (by DonChunior)] - Interface to the Windows Credential Management API.&lt;br /&gt;
&lt;br /&gt;
== Social Media and other Website API ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159254 Cex.io (by AquilesCrespo)] - UDF script for using with the web api from https://cex.io/ server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169333 CrowdinAPI (by mLipok)] - Uses the [https://crowdin.com/page/api crowdin.net website API] for some functions (create projects, add and update files, download translations or integrate localization).&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/290-dropbox-authenticator/ Dropbox authenticator (by Gimerly)] - Dropbox authenticator.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158106 Easypost (by dcat127)] - Print USPS Postage Labels.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114801 eBay (by seangriffin)] - eBay UDF (functions GetItemStatus and GetSingleItem from the &amp;quot;Shopping API&amp;quot;).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=141340 Gmail (by PhoenixXL)] - Remote Gmail (UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192422 Gmail API (by Ascer)] - Automate communication with Gmail using oAuth 2.0 security. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98504 Google Functions (by Beege)] - Google Functions (Suggestions, Definitions, Translate, Convert).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=115437 Google Maps (by seangriffin)] - Google Maps UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70675 iTunes (by torels)] - iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101802 iTunes (by Beege)] - Another iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150985 No-IP (by Nessie)] - Simply update your no-ip hostname(s) and retrieve the ip address of an no-ip address.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192391 oAuth (by Ascer)] - Open standard for access delegation, commonly used to grant websites or applications access to other websites.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150838 PasteBin (by mrflibblehat)] - Pastebin UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121767 Skype (by FireFox)] - Skype4COM provides an ActiveX interface to the Skype API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113234 Teamspeak 3 (by chipDE)] - Teamspeak 3 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186944 TeamViewer API (by mLipok)] - A collection of function for use with TeamViewer API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186381 Telegram Bot (by LinkOut)] - UDF for [https://core.telegram.org/api Telegram messenger API].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166547 TVmaze.com API (by BBs19)] - TVmaze.com API UDF (TV-Series).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116600 Twitter (by seangriffin)] - Manage Twitter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149247 Yahoo Weather (by Nessie)] - Yahoo Weather API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112775 Youtube Uploader (by BrettF)] - AYTU - AutoIt Youtube Uploader.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50880 ACL (by ptrex)] - Set ACL on windows Objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134508 ACL (by FredAI)] - Do most everything with the DACL and ownership on all types of objects: Files or folders, Registry keys, services, Kernel and WMI objects, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206400 BITS (by DonChunior)] - Background Intelligent Transfer Service to download files from or upload files to HTTP web servers and SMB file shares.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184937 CertUtil (by mLipok)] - Wrapper for windows certutil.exe (command-line program that is installed in Windows as part of Certificate Services).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113560 FileSystemMonitor (by seangriffin)] - Monitors the file system by recording all file system events occurring within a given path.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111018 ITaskBarList (by Beege)] - ITaskBarList UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74118 Local account (by engine)] - Manage local accounts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161193 Magnifier Functions (by Ascend4nt)] - Exposes most of the useful Magnifier API functions available since Windows Vista.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75250 Registry (by engine)] - Windows Registry UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50551 Registry (by seanhart)] - RegWriteAllUsers / RegDeleteAllUsers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=80201 Service (by arcker)] - Build your own service with AutoIt code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124508 Startup (by guinness)] - Create Startup entries in the Startup Folder or Registry.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164756 SCCM (by JLogan3o13)] - Systems Center Configuration Manager Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134628 System restore (by FredAI)] - System restore UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186111 SubstWrapper (by mLipok)] - Wrapper for windows subst.exe command - (Associates a path with a drive letter).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135994 Taskplanner/Taskscheduler COM (by Allow2010)] - an UDF for using the Windows Taskplaner / Task Scheduler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83355 Task Scheduler (by dbzfanatic)] - Task Scheduler UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200068 TaskScheduler (by water)] - Brushed up Task Scheduler UDF. Link to the [[TaskScheduler|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173934 TTS (by Kanashius)] - Used with SAPI Automation Object - text-to-speech (TTS) engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158377 UAC (by AdamUL)] - User Account Control (UAC) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=175719 Utter (by Surya)] - Utilizing more of SAPI (Speech Recognition UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127075 WIMGAPI (by Homes32)] - Manipulate Windows Image Files (.wim) without ImageX.exe.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=28436 Windows Events (by Emperor)] - Create your own Windows events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=6487 Windows Service Control functions (by SumTingWong)] - Some limited functions to control services (create, start, stop, delete, check ...).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81880 Windows Services (by engine)] - Windows Services UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163178 WRMF (by Luigi)] - WRMF - Windows Registry Monitor Call Function.&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/topic/178871-dllcall-with-c-example/#comment-1285754 SMSApi (by mLipok)] - UDF for SMSAPi which provides SMS services. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/index.php?showtopic=178589 BulkSMS (by Skysnake)] - UDF for BulkSMS which provides SMS services. --&amp;gt;&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145099 _AdlibEnhance (by JScript)] - Enhance Adlib to call functions with parameters, pause and resume.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160936 Android (by Moriba)] - Control any Android device.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97826 Animated tray icons (by Yashied)] - Make animated tray icons easily.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163577 Atom Table (by Ascend4nt)] - Store (add, find, delete, and query) strings locally (at program level) or globally (at OS level) with unique numerical identifiers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170087 Barcode generators (by willichan)] - Creates a Code128A/B/C or Creates a Code39 or Code39Extended optimized barcode from supplied data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211660 BlockInput (by Nine)] - Block all input coming from mouse and/or keyboard, without having an UAC warning displayed. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87735 BlockInputEx (by MrCreatoR)] - Supports a few features that built-in BlockInput() function does not.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29763 Clipboard (by eltorro)] - When apps need to watch the clipboard.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170630 ClipboardEx (by ozmike)] - Allows to have more than 1 item in the Clipboard. Handles all data types, not just text.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81267 Clipboard History (by wraithdu)] - Save and restore the entire clipboard contents. Inspired by AHK&#039;s ClipboardAll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169610 CmdLine (by Jefrey)] - Collection of functions to parse command line arguments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126569 Console (by Shaggi)] - Functions and features to work wiht Console input/output.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121833 Copy (by Yashied)] - Copy or move files and directories without suspending your script. Retrieve the current state (copied bytes, error code etc.) while copying.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154684 Date / Time convert (by Melba23)] - Transform date/time formats.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99106 _DLLStructDisplay (by Ascend4nt)] - Show Struct in ListView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157689 _FileGetMimeType (by Wiliat87)] - Retrieve MIME types based on the extension of the filename/filepath/URL provided.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117033 File locking with cooperative semaphores (by willichan)] - Simple file locking without a server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157241 FindMimeFromData (by twbradio)] - FindMimeFromData using urlmon.dll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181997 Font Icon (by J2TeaM)] - Use Font Awesome in your AutoIt project.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68422 HotString (by jvanegmond)] - Similar to the HotKey function but trigger on a string, instead of a key or key combination.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173946 LASM - Light Assembler (by minxomat)] - Inline UDF for an Assembler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161628 LFN (by orbs)] - Overcome MAX_PATH limit of 256 chars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111492 Link Grammar for AutoIt (by JRowe)] -  Input is a regular sentence in English, German or Italian, output is a pattern parsed from the structure of the sentence.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/147-mruau3 MRU (by Yashied)] - Most Recently Used (MRU) List Automation functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188158 .NET Common Language Runtime (CLR) Framework (by Danyfirex, Junkew, Larsj, ptrex, Trancexx)] - Allows AutoIt to access .NET Class Libraries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101733 NoFocusLines (by Melba23)] - Remove the dotted focus lines from buttons, sliders, radios and checkboxes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149176 NotifyIcon (by FireFox)] - Create, delete and manage self notify icons (formerly TrayIconEx). &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=63318 PixelGetColor (by Manadar)] - Get or Read Pixel from memory.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167024 RDC (by Yashied)] - ReadDirectoryChanges Wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51103 Resources (by Zedna)] - Embed any binary data into your AutoIt compiled EXE files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162499 ResourcesEx (by guinness)] - Up to date version of Zedna&#039;s Resources UDF. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111215 Restart (by Yashied)] - Allows to restart a script from any location with full restoration of the original command line parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51547 SciLexer (by Kip)] - Editing control, supports multiple editors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152093 ScriptEditor (by pandel)] - ScriptEditor with I18N support and customizable lexer completely written in AutoIt (based on SciLexer).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162033 Spell Checker (by iCode)] - Spell Checker functions to call Hunspell, Hyphenate and MyThes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164444 Synology filestation (by nend)] - Functions to interact with a Synology NAS server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163328 TimeConvert (by orbs)] - Convert UTC to/from local time, and/or reformat the string representation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint (by UEZ)] - Creating barcodes using the Zint.dll.&lt;br /&gt;
[[Category:UDF]]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15292</id>
		<title>User Defined Functions</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15292"/>
		<updated>2026-05-10T18:03:54Z</updated>

		<summary type="html">&lt;p&gt;Water: /* Graphics and image */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
This page is a listing of libraries of &#039;&#039;&#039;user defined functions&#039;&#039;&#039; (UDF). These libraries have been written to allow easy integration into your own scripts and are a very valuable resource for any programmer.&amp;lt;br /&amp;gt;&lt;br /&gt;
This list is probably not complete (410 UDFs on 2026-05-10), but constantly supplemented.&lt;br /&gt;
If you do not find a solution here, ask a new question on the [https://www.autoitscript.com/forum/forum/2-general-help-and-support/ forum].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
The listed UDFs might have been written for older versions of AutoIt. So there is no guarantee that every UDF works smoothly with newer versions.&amp;lt;br /&amp;gt;&lt;br /&gt;
None of the UDFs has been tested by the maintainers of this list so you as a user need to make sure that they deliver the expected results.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;When will an UDF be added to this list?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
It should meet all/most of the general requirements for UDFs as described [[UDF-spec|here]].&amp;lt;br&amp;gt;&lt;br /&gt;
In addition the following requirements should be met:&lt;br /&gt;
* &#039;&#039;&#039;Documentation&#039;&#039;&#039;: So users can tell what the UDF is intended to do (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Examples&#039;&#039;&#039;: So users can get an idea how to use the UDF. The more the better (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Operating systems&#039;&#039;&#039;: Should support the latest Microsoft OS (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;AutoIt&#039;&#039;&#039;: Should support the latest version of AutoIt (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Author&#039;&#039;&#039;: The author should still be active on the forum so he can reply to questions (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What to do when one of your UDFs is missing?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please send a [https://www.autoitscript.com/forum/messenger/compose/?to=7903 PM] to user water. Add a short description of the UDF and a link to your post in the [https://www.autoitscript.com/forum/forum/9-autoit-example-scripts/ Example Scripts] or [https://www.autoitscript.com/forum/forum/49-autoit-projects-and-collaboration/ Projects and Collaboration] forum.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Added in the past two years&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date !! Section !! Creator !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-10 || [[User_Defined_Functions#Graphics_and_image|Graphics and Image]] || seangriffin || [https://www.autoitscript.com/forum/imndex.php?showtopic=188682 Box2d] - Physics and game engine.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-07 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || MattyD || [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP UDF] - SNMPv1 and SNMPv2c.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-01 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment] - Least Squares Adjustment.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-04-01 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || WildByDesign || [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-10 || [[User_Defined_Functions#Inter_Process_Communications|Inter Process Communications]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC] - Inter Process Communication using TCP/IP.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-09 || [[User_Defined_Functions#Browsers|Browsers]] || ioa747 || [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt] - Integrate WebView2 into AutoIt via COM. &lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-19 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF] - TCP/UDP Networking Library.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || BugFix || [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx] - Another kind of group, versatile changeable.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-16 || [[User_Defined_Functions#Security|Security]] || DonChunior || [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred] - Interface to the Windows Credential Management API.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || genius257 || [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast] - Native Win8+ toast notifications.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Media|Media]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Hardware|Hardware]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213296 Monitor] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-09-22 || [[User_Defined_Functions#Misc|Misc]] || UEZ || [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint] - Creating barcodes using the Zint.dll.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-07-27 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || DXRW4E || [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-04-16 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || seangriffin || [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-03-22 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-02-26 || [[User_Defined_Functions#Controls|Controls]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-16 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Gianni || [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask] - Easily run and manage many processes.&lt;br /&gt;
|- &lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || NoNameCode || [https://www.autoitscript.com/forum/index.php?showtopic=211475 Darkmode] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Network_Guy || [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-11 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || t0nZ || [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog] - Logs made easy.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || argumentum || [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-21 || [[User_Defined_Functions#Controls|Controls]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker] - Date Range Picker Control.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-06 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place the Table of contents (TOC) here --&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Automation ==&lt;br /&gt;
&lt;br /&gt;
===Browsers===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154439 Chrome (by seangriffin)] - Automate the most common tasks in Chrome with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95595 Firefox (by Stilgar)] - A little less support for automation than IE, but still very good.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167661 Firefox (by Danp2)] - Modified newer version of Stilgar Firefox UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/224-firefox-profile-backup/ FireFox Profile Backup 1.0 (by careca)] - Backup or restore your firefox profile. The application searches for the profile in home drive that will be the one to backup.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _FF_AutoLogin (by Stilgar)] - This is a auto-login function and login-function-generator for FireFox and the FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92035 _FF_DM (by Stilgar)] - UDF to control the FireFox Download-Manager (not the download-window).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91650 _FF_FoxBox (by Stilgar)] - UDF to control Fox!Box (A Mozilla Firefox extension for the AVM FRITZ!Box) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91665 _FF_Screengrab (by Stilgar)] - UDF to control Screengrab! (FireFox-AddOn) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _HTML (by Stilgar)] - Get informations from any HTML (XML) source, without any browser.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166542 HTMLDocumentEvents (by SmOke_N)] - Track IE document events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167035 IEEx (by SmOke_N)] - IE extended library with some Javascript options.&lt;br /&gt;
* Internet Explorer (by DaleHohm et al.) - IE library that is now supplied with a standard AutoIt install.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153520 IUIAutomation MS framework (by junkew)] - IUIAutomation MS framework to automate chrome, FF, IE etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149203 NavInfo (by Nessie)] - With this UDF you can check if a specified browser/software is installed and which version is being used.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=61090 Opera (by MrCreatoR,)] - Automate the most common tasks in Opera with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191990 WebDriver (by Danp2)] - W3C compliant Webriver UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt (by ioa747)] - AutoIt WebView2 Component (COM Interop).&lt;br /&gt;
&lt;br /&gt;
===Microsoft Office===&lt;br /&gt;
Some features of Microsoft&#039;s Office products are proprietary and cannot readily be manipulated.  Sometimes workarounds are required.&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;[[Known issues with Microsoft Office automation.|This page]]&amp;lt;/u&amp;gt; is dedicated to identifying those issues, provide explanations and list solutions or workarounds.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32144 Microsoft Office Access (by randallc)] - Automate Microsoft Access.&lt;br /&gt;
* Microsoft Office Excel (by water et al.) - This UDF is included in AutoIt. Link to the [[Excel_UDF|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135312 Microsoft Office Excel Charts (by water, GreenCan)] - Creating charts using Microsoft Excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204034 Microsoft Office Excel Pivot Tables (by SudeepJD)] - Create and Update Excel Pivot Tables and Charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126305 Microsoft Office Outlook (Items) (by water)] - Automate Microsoft Outlook Items. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202451 Microsoft Office Outlook (GUI) (by water)] - Automate Microsoft Outlook GUI. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197346 Microsoft Office Outlook Tools (by water)] - Built on top of the OutlookEX UDF it offers some often needed extended functionality (import/export ics/vcf files etc.). Link to the [[OutlookTools|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50254 Microsoft Office PowerPoint (by Toady)] - Automate Microsoft PowerPoint.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=178783 Microsoft Office PowerPoint (by water)] - Automate Microsoft PowerPoint. Link to the [[Powerpoint|documentation]] pages.&lt;br /&gt;
* Microsoft Office Word (by water et al.) - This UDF is included in AutoIt. Link to the [[Word_UDF|documentation]] pages.&lt;br /&gt;
&lt;br /&gt;
===OpenOffice/LibreOffice===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210514 LibreOffice Suite (by donnyh13)] - A huge list of functions for LibreOffice Base, Calc and Writer. Link to the [[LibreOffice|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151530 OOo/LibO Calc (by GMK)] - OpenOfficeCalc UDF (works also for Libre Office).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185932 OpenOffice/LibreOffice Spell Checker (by GMK)] - Function to validate words, and show spell alternatives.&lt;br /&gt;
&lt;br /&gt;
===Other Applications===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106163 Active Directory (by water)] - Extensive library to control and manipulate the Windows active directory ([https://www.autoitscript.com/forum/files/file/355-ad-active-directory-udf/ Download]). Link to the [[Active_Directory_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87956 Java (by seangriffin)] - Creates an access bridge between your application and a Java application. Allowing you to automate some Java applications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86574 SAP (by seangriffin)] - SAP business management automation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149540 SAPWizard (by ozmike)] - SAPWizard UDF.&lt;br /&gt;
&lt;br /&gt;
== Script Coding/Analyzing/Debugging ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209528 ArrayCombinations (by AspirinJunkie)] - Different ways of composing elements of a set.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155442 ArrayMultiColSort (by Melba23)] - Function to sort a 2D array on several columns.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209523 ArrayPlus (by AspirinJunkie)] - Functions for flexible Array handling (create, extract, rebuild, sort, filter, find, print)&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180467 ArrayWorkshop (by czardas)] - Multidimensional array functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=59174 Associative array functions (by Nutster)] - Manage a version of associative arrays in single AutoIt variables. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=198929 AutoIt error logger (AUERLO) (by user4157124)] - File- and stdout (etc.) output of messages, errors, exit method and -code, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110379 AutoItObject (by ProgAndy and others)] - Brings the Object Orientation programming paradigm to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112879 AutoIt Syntax Highlight (by MrCreatoR)] - Highlights AutoIt v3 syntax code to html/bbcode format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191488 cDebug (by c.haslam)] - Dumps the values of all AutoIt subtypes and expressions including nested arrays, DLL structs and maps.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor (by Nine)] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195882 ErrorLog (by mLipok)] - Logs program activities and errors to different output locations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211718 FuzzyString (by AspirinJunkie)] - Fuzzy string comparison and search in string arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143167 GetOpt (by dany)] - Parse GNU and DOS style command line options similar to getopt().&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog (by t0nZ)] - Logs made easy.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156196 Log4a (by zorphnog)] - Logging library loosely based upon the log4j and NLog libaries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195862 Loga (by Danyfirex)] - Simple logging library to keep track of code with an integrated console.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119032 Log UDF (by Yashied)] - Create a text log files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202832 OnDebugMsgBox (by argumentum)] - Catch the dreaded &amp;quot;AutoIt Error&amp;quot; MsgBox and prettify or hide it.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209529 Set (by AspirinJunkie)] - Provides a set data type and brings the corresponding mathematical functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200660 Variants and Safearrays (by LarsJ)] - Create/access/process Variants and SafeArrays.&lt;br /&gt;
&lt;br /&gt;
=== Inter Process Communications ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202485 AppInteract (by MrCreatoR)] - Reliably pass arrays or other types between processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC (by Kanashius)] - Inter Process Communication using TCP/IP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=205109 AutoItSharedData (by SEuBo)] - Create a shared data storage, a simple AutoItObject-Object, using AutoItObject_Internal.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188991 Autoit-Socket-IO (by tarretarretarre)] - Event driven TCP/IP wrapper inspired by Socket.IO with focus on user friendliness and long term sustainability.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126936 Container (by MrCreatoR)] - Scripts interaction method. Allows to transfer whole arrays as data, and even COM objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=55994 DDEML (by doudou)] - Use your AutoIt script as DDE client or server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193277 FMIPC (by argumentum)] - IPC via FileMapping.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127615 Interprocess (by JScript)] - Remotely execute a function in another script (using Mailslot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193158 IPC_IO (by JohnWIlling)] - IPC library supporting multiple connection types (such as: Named Pipe, File, TCP, SharedMemory, MailSlot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202618 IPC Techniques through ROT Objects (by LarsJ)] - Implementing IRunningObjectTable Interface.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106710 Mailslot (by trancexx)] - IPC using Mailslots.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204734 Overlapped Named Pipe IPC (by Nine)] - Very fast interprocess communication that could be used between VBS or AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169797 Pool - Post Office for Organized Labour (by RTFC)] - Provides multiple AutoIt processes with an infrastructure for exchanging messages, data, and remote-control instructions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202587 WCD IPC (by Nine)] - Framework for Inter Process Communication using Windows Messages WM_COPYDATA.&lt;br /&gt;
&lt;br /&gt;
=== Parallel/concurrent processing ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork (by argumentum)] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186853 _Multiprocess (by jguinch)] - Run several external programs at the same time and retrieve the exit code of each process.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask (by Gianni)] - Easily run and manage many processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking (by Network_Guy)] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT (by Nine)] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
&lt;br /&gt;
== Files, Databases and web connections ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180850 ADO (by mLipok)] - A modifed version of the _SQL UDF to access all kind of databases (MSSQL, MySQL, PostgreSQL, SQLite, MS ACCESS, XLS, TXT, and many other which use ADO and ODBC).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105875 ADODB (by spudw2k)] - ADODB Example.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 AXML (by Aipion)] - This is a Wrapper for Pugixml, made with C++.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145142 DBF (by funkey)] - dBase database read and write with DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/topic/114406-csv-file-to-multidimensional-array/#findComment-799820 CSV (by ProgAndy)] - Read/write CSV files to/from 2D arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197909 CSV (by seangriffin)] - Manipulate CSV files using SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155748 CSVSplit (by czardas)] - Convert to and from CSV format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151116 DIF (by willichan)] - Read/write DIF (Data Interchange Format) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119238 Excel file generation (by jerome)] - Excel file generation (multi-sheet workbook) without the need to have Excel installed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143866 Excel XML (by FireFox)] - Work with SpreadsheetML (Open XML file formats).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155905 EXml (by jdelaney)] - Create Excel file (SpreadsheetML) through &amp;quot;Microsoft.XMLDOM&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116072 EzMySql (by Yoriz)] - Use MySQL Databases with AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148232 _FileGetProperty (by BrewManNH)] - Retrieve properties of a file.Xml2Json&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94920 FireBird (by eltorro)] - FireBird, Interbase DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx (by DXRW4E)] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197421 jq (by TheXman)] - Brings the power and flexibility of jq (an open-source command-line based JSON processor) to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209502 JSON (by AspirinJunkie)] - Interacting with JSON data in AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104150 JSON (by Gabriel13)] - RFC4627 compliant JSON encode/decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148114 JSON (by Ward)] - JSMN - A Non-Strict JSON UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156794 JSON (by ozmike)] - Bridge to Native Windows JSON plus OO extension for AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC (by seangriffin)] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173797 JSONgen (by Jefrey)] - Generate JSON.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127101 MS SQL (by TheLuBu)] - MSSQL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51952 MS SQL (by ChrisL)] - _SQL. ADODB Connection.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20814 MySQL (by cdkid)] - MySQL relational database management system.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85617 MySQL (by ProgAndy)] - MySQL UDFs (without ODBC - working with libmysql.dll).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=122360 MySQL (by James)] - MySQL ODBC Connector.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187223 romaSQL (rynow)] - Built on the concept of Laravel Query &amp;amp; doctrine. Connection string is based on ADODB / ODBC.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143331 Sharepoint 2007/2010 (by schoppet)] - Access the SOAP-Webservices of Sharepoint 2007/2010.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17099 SQLite (by ptrex)] - SQLite is a library that implements a self-contained, embeddable, zero-configuration SQL database engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=142977 SQLite Array Functions (by SmOke_N)] - SQLite Array Functions - a faster method for unique arrays and sorting methods.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140521 SQLite - Database (by PhoenixXL)] - UDF for SQLite so that beginners will also be able to do the stuff.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157853 SQLiteEx (by 57ar7up)] - SQLiteEx UDF v0.5.1 - Simplest work with SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163633 Xbase I/O (by RTFC)] - Transfer data between Xbase Data file (*.dbf) and AutoIt array written in pure AutoIt (no SQL, no ADO, no dlls, no external dependencies).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209526 xlsxNative (by AspirinJunkie)] - Read and write xlsx files without excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=19848 XML DOM Wrapper (by eltorro)] - Supports CRUD operations on XML. Including XSL and XPath.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 XML (by mLipok)] - New version of XML DOM Wrapper, with many new features.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208932 Xml2Json (by TheXman)] - Transform XML to JSON.&lt;br /&gt;
&lt;br /&gt;
== Data compression ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85094 7z, zip, gzip, bzip2, tar (by rasim)] - Extensive library that uses a external DLL that must be provided with the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92958 gZip (by Zinthose)] - Based on the parsing of gZip.exe output. It can work with memory, it doesn&#039;t work with files. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87441 LZMA (by trancexx)] - LZMA (Native Windows).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138838 Package (by Yashied)] - Package UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129529 pZip (by asdf8)] - PureZIP_L library UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=76176 UnRAR (by rasim)] - UnRAR.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17727 XZip (by eltorro)] - Another UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161847 XZip (by mLipok)] - UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44524 Zip plugin (by eltorro)] - Zip plugin.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73425 ZIP (by torels)] - ZIP UDF in pure AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116565 zip (by wraithdu)] - Create ZIP files and unpack ZIP files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135565 ZIP (by joakim)] - ZIP STRUCTS UDF (from scratch).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87284 ZLib (by monoceres)] - Based on ZLib.dll. It can compress/uncompress data in memory, it doesn&#039;t work with files.&lt;br /&gt;
&lt;br /&gt;
== Encryption and hash ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81332 _Base64Encode, _Base64Decode (by trancexx)] - Fast _Base64Encode, _Base64Decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153246 Base91 and Base128 (by Beege)] - Base91 and Base128 functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155538 Codecrypter (by RTFC)] - Encrypt scripts without placing the key inside the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=201002 Cryptography API: Next Gen (by TheXman)] - Microsoft&#039;s long-term replacement for their CryptoAPI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210901 Enigma (by willichan)] - Simple encryption based on the Enigma Machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203990 GDPR (by mLipok)] - Functions to encrypt/decrypt strings and files with the GDPR in mind.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95558 Hashes for files (by trancexx)] - Fast RC32, MD4, MD5, SHA1 calculation for big files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107784 TrueCrypt (by FuryCell)] - TrueCrypt UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140737 WinTrust (by kasty)] - verify the integrity of a file with its embedded signature or a given catalog.&lt;br /&gt;
&lt;br /&gt;
== GUI Additions ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast (by genius257)] - Native Win8+ toast notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97241 3D Pie chart (by WideBoyDixon)] - 3D Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173924 Chart_UDF (by Kanashius)] - This UDF can be used to Display bar charts in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96258 ContextHelp (by Yashied)] - Management of context help ([https://www.autoitscript.com/forum/index.php?showtopic=72152-contexthelp/ original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211475 DarkMode (by NoNameCode)] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109096 ExtMsgBox (by Melba23)] - A very customisable replacement for MsgBox.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx (by BugFix)] - Another kind of group, versatile changeable.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105582 GUICtrlOnChangeRegister (by Mat)] - Call a function when an edits content is changed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme (by WildByDesign)] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145149 GUIExtender (by Melba23)] - Expand and contract sections of your GUI ([https://www.autoitscript.com/forum/index.php?showtopic=117909 original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197654 GuiFlatButton (by kurtykurtyboy)] - Change colors of regular buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119505 GUIFrame (by Melba23 &amp;amp; Kip)] - Divide a GUI into adjustable frames.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=144207 GUI Panel (by FireFox)] - Manage child GUIs as panel ctrls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113723 GUI Scrollbars (by Melba23)] - Automatically sized scrollbars with a single command.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161184 MetroGUI (by BBs19)] - Windows 10 style buttons, toggles, radios etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 Modern tray menu (by Holger)] - Allows the creation of modern, fancy GUI and tray menus with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194693 MTSkin (by Taskms4)] - Simply create modern looking GUIs (borderless GUI, Interactive menu panel (with mouse-over detection), a bunch of skins).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182136 Notifications (by S3cret91)] - Display permanent desktop notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=136149 Notify (by Melba23)] - Small notifications on the edge of the display.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161750 Pie chart (by Andreik)] - Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75429 Real Vista Aero Glass (by James)] - Real Vista Aero Glass UDF - you can apply glass effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF (by Nine)] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=71811 SetOnEvent (by martin)] - Provides an easy way for an event to call functions with parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=103871 _SysTray (by wraithdu)] - Get info about and manipulate Systray icons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108445 Toast (by Melba23)] - Small message GUIs which pop out of the Systray.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110003 Tray Icon Bar Graph (by BeeGee)] - Creates a scrolling bar graph as the tray icon.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=132864 Uskin (by JScript)] - Allows you to skin your GUI using the Windows &#039;&#039;.MSstyles&#039;&#039; files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191821 Wi3SMenu (by NHD)] - Create a slide menu with Windows 10 style. Supports color, icon and opacity.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129196 WinSnap (by Beege)] - Automatic Window Alignment by applying that &amp;quot;snappy edge&amp;quot; effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32494 XSkin (by Valuater)] - Allows skinning of your GUI and to apply custom skins.&lt;br /&gt;
&lt;br /&gt;
=== Controls ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202529 BrowseForFolder (by MrCreatoR)] - Handle SHBrowseForFolderW with more options, such as multi selection (checkboxes), window position, controls text and more. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=146406 Calendar (by jmon)] - Calendar UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125293 ChooseFileFolder (byMelba23)] - Single and multiple selections from specified path treeview listing.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96464 Colorpicker (by Yashied)] - Create a button for the user to select a color.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker (by Nine)] - Date Range Picker Control.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=123409 Explorer Frame UDF (by Beege)] - Takes any frame created by GUIFrame and turns it into a MS-Windows like Explorer window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview (by Kanashius)] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173929 GDIPlus Slider UDF (by Kanashius)] - This UDF can be used to create a slider with an imagebackground and an image to move.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=79412 Graph control (by andybiochem)] - Easily create and show bar chart and line charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104399 GraphGDIPlus UDF (by andybiochem)] - Easily create and show bar chart and line charts with GDI+ to take advantage of double-buffering.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105682 GUICtrlCreateFinder (by Mat)] - Allows you to create a window finder control like the one seen in AutoIt Window Info.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107965 GUIHotkey (by Mat)] - UDF for using native hotkey controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182492 GUIListViewEx (by Melba23)] - Insert, delete, move, drag, sort, edit and colour ListView items.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111438 GUIPager (by Mat)] - Create and control native pager controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 GUI/Tray Menu (by Holger, LarsJ, AZJIO)] - GUI/Tray Menu with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166594 GUITreeViewEx (by Melba23)] - Check/clear parent and child checkboxes in a TreeView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=90598 Hotkey input control (by Yashied)] - Hotkeys Input Control UDF Library (Non-native).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173932 ListView Edit UDF (by Kanashius)] - This UDF can be used to simply edit an Listview.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109355 ListView - Explorer like ListView UDF (by Beege)] - This UDF simplify creating MS Explorer-like ListViews.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143711 Marquee (by Melba23)] - Make tickertape info bars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143380 Predict Text UDF (by PhoenixXL)] - Sub classes the edit control and matches the current word through the Database &amp;amp; sets selection in accordance.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163939 Progressbar new style (by Muzaiyan)] - New styles for your progress bar.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74649 Progressbar with GDIplus (by ProgAndy)] - You even can use full textured images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151636 RestrictEdit_SRE UDF (by PhoenixXL)] - Restrict the text that can be entered in an editbox through a String Regular Expression.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128242 Ribbon (by trancexx)] - UDF for Windows Ribbon framework.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114034 StringSize (by Melba23)] - Automatically size controls to fit the text you want to put in them.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126958 Syslink (by Yashied)] - Provides a convenient way to embed hypertext links in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105814 Table (by andybiochem)] - Table UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211024 Toggle Button (by Andreik)] - Create simple toggle buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125251 TVExplorer (by Yashied)] - Allows to create TreeView (TV) Explorer controls that display a tree of files and folders.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=190659 Virtual Listview (by LarsJ)] - Virtual Listview for large amounts of data with a large number of rows.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195053 Windows Message Monitor (by LarsJ)] - Monitor Windows Messages of a window or control.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118317 Battery UDF (by Yashied)] - Retrieves various information and current status of the battery(s).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154727 BuildPartitionTable (by RTFC)] - Scans a physical drive&#039;s partition table and returns a partition_table, allocation_table and volumes_table.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155674 CommAPI (by therealhanuta)] - Serial and parallel communication (COM port, RS-232, LPT port) - without installing DLL&#039;s (using Windows API calls).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77731 Device Management (by weaponx)] - Device Management API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97487 DirectShow (by monoceres)] - DirectShow UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164700 DirectSound (by eukalyptus)] - DirectSound UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164701 Direct2D (by eukalyptus)] - Direct2D UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99713 Drive Info (by NerdFencer)] - Gathers drive info for Hard Drives, Disk Drives, and Floppy Drives.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138989 FritzBox (by Allow2010)] - _FB_Tools - manage your FritzBox from Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121084 I/O Port Functions (by Ascend4nt)] - Input/Output UDF for interacting with ports (x64 Parallel Port, Keyboard etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203207 MediaDevice (by Danyfirex)] - Transfer files to portable devices like phones, storages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php=showtopic=213296 Monitor (by Trong)] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154350 Monitor Configuration (by jaberwacky)] - Monitor Configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155469 Mouse (by AlmarM)] - AutoIt powered mouse events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=147325 MouseTrapEvent (by ozmike)] - MouseTrapEvent UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149083 NetInfo (by Nessie)] - UDF for test internet download speed and upload speed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155539 Network configuration (by jguinch)] - Network configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182684 Nitgen (by Jefrey)] - UDF to work with Nitgen fingerprint readers that use NGenBio SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210968 Printer Manager (by Nine)] - Manage printers with winspool.drv DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155485 Printers management with WMI (by jguinch)] - Add/delete printer, driver, port, or obtain configuration, set default printer ...&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=189190 Serial port UDF / COM port UDF (by MazeM)] - It is very similar to CommAPI using kernel32.dll, but all code is packed into a single file without any dependencies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128546 Serial Port/COM (by martin)] - Serial Port /COM Port UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27755 SMARTDRIVE (by ptrex)] - SMART drive Analysis.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158640 SPI Hardware Interface (by Blinky)] - Communicate with the MAX335 chip using the SPI protocol via the LPT (printer) port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=8188 VISA/GPIB (by Angel)] - VISA/GPIB library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68866 Webcam (by LIMITER)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70857 Webcam (by ludocus)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91018 WiFi (by MattyD)] - Low level control over your wireless LAN.&lt;br /&gt;
&lt;br /&gt;
== Information gathering ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29404 Computer information (by JSThePatriot)] - A general purpose library to get various details about a Windows machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151920 NetworkStatistics (by Ascend4nt)] - Network Interface Info, Statistics, and Traffic.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=54039 WinPcap (by JRSmile)] - Wrapper for the windows packet capture library WinPcap.&lt;br /&gt;
* [https://opensource.grisambre.net/pcapau3/ WinPcap (by Nicolas Ricquemaque)] - A library to access the main functionalities offered by the WinPcap driver.&lt;br /&gt;
&lt;br /&gt;
== Internet protocol suite ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207859 cURLX64 (by Beege)] - cURL UDF with x64 support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=137456 cURL (by seangriffin)] - A UDF for transferring data with URL syntax.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187718 HTTP lib (by Jefrey)] - HTTP lib (GET, POST and upload) UDF to simplify HTTP requests, mainly when dealing about POST data or file uploads.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202895 HttpApi (by TheXman)] - HTTP Server API enables applications to communicate over HTTP without using MS Internet Information Server (IIS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=40243 IMAP (by mikeytown2)] - IMAP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108422 IMAP4 (by Tipulatoid)] - IMAP4 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=43515 IRC (by McGod)] - A lightweight library for communicating with IRC servers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159285 IRC (by rcmaehl)] - IRC UDF - Updated Version of Chips&#039; IRC UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=22838 POP3 (by Apzo)] - POP3 library for retrieving email messages. Not compatible with Gmail because it uses SSL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167339 POP3 (by mLipok)] - POP3 UDF According to the 1939 RFC, modified version with Quoted Printable decoder.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154530 Prowl (by mrflibblehat)] - Push notifications to iPhone, iPod touch or iPad using Prowl (Growl client for iOS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138095 SFTP (by Lupo73)] - UDF to support SFTP protocol using PSFTP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154054 Socket UDF (by funkey)] - Socket UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=23860 SMTP (by Jos)] - Smtp Mailer That Supports Html And Attachments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167292 SMTP Mailer UDF (by mLipok)] - Smtp Mailer That Supports Html And Attachments - Modified Version with support to save EML files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81687 SNMP (by enaiman)] - SNMP_UDF for SNMPv1 and SNMPv2c.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP (by MattyD)] - SNMP UDF SNMPv1 and SNMPv2c. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70759 SNMP - MIB protocol (by ptrex)] - Reading toner status from SNMP device with WMI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166579 SSH (by jeanphile)] - Use the SSH protocol very easily in your code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185329 STUN (by j0kky)] - STUN is a protocol that permits you to know your external IP but, more interesting, your external port associated to your internal port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184817 SyslogSend (by Irios)] - This allows sending (BSD) messages to a syslog server using UDP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169774 TCPServer (by Jefrey)] - Multi client, event-based, able to bind console app to socket.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=57022 UPnP Protocol (by ptrex)] - UPnP - Read and Control your devices in side out.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=84133 WinHTTP (by trancexx)] - Access the HTTP protocol for creating GET and POST requests and submitting them with conforming standards, cookies not supported.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77503 WinInet (by -Ultima-)] - Access standard Internet protocols (FTP, Gopher and HTTP). Supports GET/POST requests and cookies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181645 Winsock (by j0kky)] - Create client/server application using native winsock functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF (by Trong)] - TCP/UDP Networking Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191954 WSA_NBTCP (by ripdad)] - Windows Sockets API - Non-Blocking Transmission Control Protocol.&lt;br /&gt;
&lt;br /&gt;
== Maths ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment (By AsprininJunkie)] - Least Squares Adjustment.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170658 Advanced Math UDF (by scintilla4evr)] - Advanced mathematical functions (primes, number sequences, interpolate, calculate values of functions like Riemann zeta etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=102686 Advanced rounding (by Mat)] - Support for different measures of accuracy and 8 ways to resolve tie breaks.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83529 Big number (by eukalyptus)] - Make calculations with extremely large numbers that AutoIt normally is not able to support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106551 Decimal To fraction (by Malkey)] - Converts any decimal number to a fraction. Example: 1.2 to 6/5.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162921 Eigen4AutoIt (by RFTC)] - Allows to perform fast matrix operations on large numerical data sets, and much more ....&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra (by AspirinJunkie)] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140789 MathsEx UDF (by PhoenixXL)] - Functions for Carrying Out More Advanced Mathematical Calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81189 Number base conversion (by james3mg)] - From, to and between positive bases less than 63 (decimals supported).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117156 NumToWord (by Mat)] - Convert numerals to a human readable string.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108803 Polynomials (by Mat)] - Functions for using polynomials.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83091 Primes (by jennico)] - Many functions dealing with prime number generation and calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94770 Roman Numerals (by AZJIO)] - Roman Numerals.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98160 Root function (by Mat)] - Working out real roots of numbers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209527 Stat (by AspirinJunkie)] - Statistics for Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163899 StringAPL (by minx)] - inline APL interpreter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=82722 Trigonometric and math functions (by trancexx)] - _ATan2(), _Cosh(), _Frexp(), _Hypot(), _Ldexp(), _Logb(), _Sinh(), _Tanh().&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95357 FreeImage library (by ProgAndy)] - Various operations on images, such as rotate, resize, flip.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll (by Trong)] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127263 HtmlHelp (by Geodetic)] - HtmlHelp functions for context-sensitive help from CHM (compiled HTML) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116009 HyperCam (by seangriffin)] - HyperCam (Screen Recording) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182535 HyCam2 (by willichan)] - Automation for HyCam2 screen recording utility.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50608 OCR (by ptrex)] - Real OCR in AU3 - MODI with MS Office 2003.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=89542 OCR (by seangriffin)] - Tesseract (Screen OCR) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206133 OCRSpace (by MrKm)] - Convert Images to text with the OCRSpace API. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51054 Printer controller (by martin)] - Print text in any font, size and colour at any position on the page, draw lines, curves, elipses, pies in any colour, and print images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73993 Printing (by GRS)] - Printing from AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202621 QRCreator (by BugFix)] - Simple QR-code creation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161831 RTF_Printer (by mLipok)] - Printing RichEdit in the background.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94834 Simple DirectMedia Layer (by AdmiralClaws)] - Adds support for joysticks, CDs, 2D graphics, timers. See [https://www.libsdl.org/ SDL website] for more information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207324 UWPOCR (by Danyfirex)] - Universal Windows Platform Optical Character Recognition API.&lt;br /&gt;
&lt;br /&gt;
===Graphics and image===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202987 AutoYolo3 (by smartee)] - Real-Time Object Detection using YOLOv3 wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113881 au3Irrlicht2 (by JRowe)] - Combining Irrlicht and AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86748 AVI writing udf (by monoceres)] - Create uncompressed avi&#039;s from bitmap files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27362 Bitmap Library (by evilertoaster)] - Bitmap Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/imndex.php?showtopic=188682 Box2d (by seangriffin)] - Physics and game engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202663 GIF animation (by Nine)] - Fast cached GIF animation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150231 GTK+  (by prazetto)] - GTK+ Framework | Widgets.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=13096 ImageGetInfo (by Lazycat)] - Read info from JPEG, TIFF, BMP, PNG and GIF - size, color depth, resolution.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/471-image-search-udf Image Search (by VIP)] - Search for an image on the desktop. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70506 IrrLicht (by A. Percy)] - A 3D graphics engine suitable for creating games.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160732 OpenCV (by myliseJ)] - UDF for the OpenCV library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206432 OpenCV v4+ (by smbape)] - OpenCV UDF with support for OpenCV v4+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151011 OpenGL (by LarsJ)] - OpenGL without external libraries etc. For JPEG files it also retrieves various Exif information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148129 OpenGL (2.0) (by minx)] - New set of UDFs for OpenGL + AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152950 S3D (by Starg)] - Draw simple 3D graphics with GDI+.&lt;br /&gt;
&lt;br /&gt;
===Players===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114143 VLC (by seangriffin)] - VLC (Media Player) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91316 VLC Media Player (by ptrex)] - VLC Media Player.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27352 WMP (by ConsultingJoe)] - Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44008 WMP - Media Controls (by CFire)] - Another Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203154 WMP - GUI Control (by SudeepJD)] - IE based WMP Control.&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83481 BASS Function Library (by BrettF)] - Sound and Music via wrappers for Bass, BassEnc, Bass FX, BassSFX, BassAsio and BassCd DLLs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173808 libZPlay (by Danyfirex)] - Multimedia library for playing mp3, mp2, mp1, ogg, flac, ac3, aac, oga, wav and pcm files and streams.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=37072 MIDI (by eynstyne)] - MIDI UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208116 MIDI (by MattyD)] - Wrap of the Windows MIDI functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114742 SAPIListBox (by seangriffin)] - SAPIListBox (Speech Recognition) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=100439 TTS (by Beege)] - Text-to-Speech UDF.&lt;br /&gt;
&lt;br /&gt;
== PDF ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162195 Acrobat Reader - ActiveX Viewer (by mLipok)] - Make your own PDF Viewer GUI with Acrobat Reader ActiveX COM Object &amp;quot;AcroPDF.PDF.1&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164469 Debenu PDF Viewer SDK (by mLipok)] - A collection of functions to display PDF files in your applications using Debenu PDF Viewer SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160875 Debenu Quick PDF Library (by mLipok)] - A collection of functions for Debenu Quick PDF Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75832 FoxIt Reader (by ptrex)] - PDF Reader in AU3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118827 MPDF (by taietel)] - Create PDF from your application.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=42776 PDFCreator (by ptrex)] - Automation of PDFCreator allows you to create and manipulate PDF files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170550 PDFCreator (by mLipok)] - UDF for PDFCreator v1.x.x with working EVENTs Handler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32261 _StringToPDF (by Tam0r)] - Write a string to a PDF file and specify font size, type etc.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145158 Firewall (by JLogan3o13)] - Control and manipulate the Windows Firewall (enable/disable, Exclusions list, enable/disable ports etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194015 Firewall policy2 (by Bilgus)]- Provides access to the firewall policy for Windows Vista+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150819 VirusTotal (by Danyfirex)] - VirusTotal API 2.0 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred (by DonChunior)] - Interface to the Windows Credential Management API.&lt;br /&gt;
&lt;br /&gt;
== Social Media and other Website API ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159254 Cex.io (by AquilesCrespo)] - UDF script for using with the web api from https://cex.io/ server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169333 CrowdinAPI (by mLipok)] - Uses the [https://crowdin.com/page/api crowdin.net website API] for some functions (create projects, add and update files, download translations or integrate localization).&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/290-dropbox-authenticator/ Dropbox authenticator (by Gimerly)] - Dropbox authenticator.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158106 Easypost (by dcat127)] - Print USPS Postage Labels.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114801 eBay (by seangriffin)] - eBay UDF (functions GetItemStatus and GetSingleItem from the &amp;quot;Shopping API&amp;quot;).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=141340 Gmail (by PhoenixXL)] - Remote Gmail (UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192422 Gmail API (by Ascer)] - Automate communication with Gmail using oAuth 2.0 security. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98504 Google Functions (by Beege)] - Google Functions (Suggestions, Definitions, Translate, Convert).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=115437 Google Maps (by seangriffin)] - Google Maps UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70675 iTunes (by torels)] - iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101802 iTunes (by Beege)] - Another iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150985 No-IP (by Nessie)] - Simply update your no-ip hostname(s) and retrieve the ip address of an no-ip address.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192391 oAuth (by Ascer)] - Open standard for access delegation, commonly used to grant websites or applications access to other websites.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150838 PasteBin (by mrflibblehat)] - Pastebin UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121767 Skype (by FireFox)] - Skype4COM provides an ActiveX interface to the Skype API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113234 Teamspeak 3 (by chipDE)] - Teamspeak 3 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186944 TeamViewer API (by mLipok)] - A collection of function for use with TeamViewer API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186381 Telegram Bot (by LinkOut)] - UDF for [https://core.telegram.org/api Telegram messenger API].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166547 TVmaze.com API (by BBs19)] - TVmaze.com API UDF (TV-Series).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116600 Twitter (by seangriffin)] - Manage Twitter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149247 Yahoo Weather (by Nessie)] - Yahoo Weather API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112775 Youtube Uploader (by BrettF)] - AYTU - AutoIt Youtube Uploader.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50880 ACL (by ptrex)] - Set ACL on windows Objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134508 ACL (by FredAI)] - Do most everything with the DACL and ownership on all types of objects: Files or folders, Registry keys, services, Kernel and WMI objects, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206400 BITS (by DonChunior)] - Background Intelligent Transfer Service to download files from or upload files to HTTP web servers and SMB file shares.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184937 CertUtil (by mLipok)] - Wrapper for windows certutil.exe (command-line program that is installed in Windows as part of Certificate Services).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113560 FileSystemMonitor (by seangriffin)] - Monitors the file system by recording all file system events occurring within a given path.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111018 ITaskBarList (by Beege)] - ITaskBarList UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74118 Local account (by engine)] - Manage local accounts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161193 Magnifier Functions (by Ascend4nt)] - Exposes most of the useful Magnifier API functions available since Windows Vista.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75250 Registry (by engine)] - Windows Registry UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50551 Registry (by seanhart)] - RegWriteAllUsers / RegDeleteAllUsers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=80201 Service (by arcker)] - Build your own service with AutoIt code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124508 Startup (by guinness)] - Create Startup entries in the Startup Folder or Registry.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164756 SCCM (by JLogan3o13)] - Systems Center Configuration Manager Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134628 System restore (by FredAI)] - System restore UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186111 SubstWrapper (by mLipok)] - Wrapper for windows subst.exe command - (Associates a path with a drive letter).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135994 Taskplanner/Taskscheduler COM (by Allow2010)] - an UDF for using the Windows Taskplaner / Task Scheduler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83355 Task Scheduler (by dbzfanatic)] - Task Scheduler UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200068 TaskScheduler (by water)] - Brushed up Task Scheduler UDF. Link to the [[TaskScheduler|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173934 TTS (by Kanashius)] - Used with SAPI Automation Object - text-to-speech (TTS) engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158377 UAC (by AdamUL)] - User Account Control (UAC) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=175719 Utter (by Surya)] - Utilizing more of SAPI (Speech Recognition UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127075 WIMGAPI (by Homes32)] - Manipulate Windows Image Files (.wim) without ImageX.exe.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=28436 Windows Events (by Emperor)] - Create your own Windows events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=6487 Windows Service Control functions (by SumTingWong)] - Some limited functions to control services (create, start, stop, delete, check ...).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81880 Windows Services (by engine)] - Windows Services UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163178 WRMF (by Luigi)] - WRMF - Windows Registry Monitor Call Function.&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/topic/178871-dllcall-with-c-example/#comment-1285754 SMSApi (by mLipok)] - UDF for SMSAPi which provides SMS services. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/index.php?showtopic=178589 BulkSMS (by Skysnake)] - UDF for BulkSMS which provides SMS services. --&amp;gt;&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145099 _AdlibEnhance (by JScript)] - Enhance Adlib to call functions with parameters, pause and resume.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160936 Android (by Moriba)] - Control any Android device.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97826 Animated tray icons (by Yashied)] - Make animated tray icons easily.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163577 Atom Table (by Ascend4nt)] - Store (add, find, delete, and query) strings locally (at program level) or globally (at OS level) with unique numerical identifiers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170087 Barcode generators (by willichan)] - Creates a Code128A/B/C or Creates a Code39 or Code39Extended optimized barcode from supplied data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211660 BlockInput (by Nine)] - Block all input coming from mouse and/or keyboard, without having an UAC warning displayed. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87735 BlockInputEx (by MrCreatoR)] - Supports a few features that built-in BlockInput() function does not.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29763 Clipboard (by eltorro)] - When apps need to watch the clipboard.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170630 ClipboardEx (by ozmike)] - Allows to have more than 1 item in the Clipboard. Handles all data types, not just text.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81267 Clipboard History (by wraithdu)] - Save and restore the entire clipboard contents. Inspired by AHK&#039;s ClipboardAll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169610 CmdLine (by Jefrey)] - Collection of functions to parse command line arguments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126569 Console (by Shaggi)] - Functions and features to work wiht Console input/output.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121833 Copy (by Yashied)] - Copy or move files and directories without suspending your script. Retrieve the current state (copied bytes, error code etc.) while copying.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154684 Date / Time convert (by Melba23)] - Transform date/time formats.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99106 _DLLStructDisplay (by Ascend4nt)] - Show Struct in ListView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157689 _FileGetMimeType (by Wiliat87)] - Retrieve MIME types based on the extension of the filename/filepath/URL provided.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117033 File locking with cooperative semaphores (by willichan)] - Simple file locking without a server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157241 FindMimeFromData (by twbradio)] - FindMimeFromData using urlmon.dll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181997 Font Icon (by J2TeaM)] - Use Font Awesome in your AutoIt project.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68422 HotString (by jvanegmond)] - Similar to the HotKey function but trigger on a string, instead of a key or key combination.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173946 LASM - Light Assembler (by minxomat)] - Inline UDF for an Assembler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161628 LFN (by orbs)] - Overcome MAX_PATH limit of 256 chars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111492 Link Grammar for AutoIt (by JRowe)] -  Input is a regular sentence in English, German or Italian, output is a pattern parsed from the structure of the sentence.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/147-mruau3 MRU (by Yashied)] - Most Recently Used (MRU) List Automation functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188158 .NET Common Language Runtime (CLR) Framework (by Danyfirex, Junkew, Larsj, ptrex, Trancexx)] - Allows AutoIt to access .NET Class Libraries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101733 NoFocusLines (by Melba23)] - Remove the dotted focus lines from buttons, sliders, radios and checkboxes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149176 NotifyIcon (by FireFox)] - Create, delete and manage self notify icons (formerly TrayIconEx). &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=63318 PixelGetColor (by Manadar)] - Get or Read Pixel from memory.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167024 RDC (by Yashied)] - ReadDirectoryChanges Wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51103 Resources (by Zedna)] - Embed any binary data into your AutoIt compiled EXE files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162499 ResourcesEx (by guinness)] - Up to date version of Zedna&#039;s Resources UDF. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111215 Restart (by Yashied)] - Allows to restart a script from any location with full restoration of the original command line parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51547 SciLexer (by Kip)] - Editing control, supports multiple editors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152093 ScriptEditor (by pandel)] - ScriptEditor with I18N support and customizable lexer completely written in AutoIt (based on SciLexer).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162033 Spell Checker (by iCode)] - Spell Checker functions to call Hunspell, Hyphenate and MyThes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164444 Synology filestation (by nend)] - Functions to interact with a Synology NAS server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163328 TimeConvert (by orbs)] - Convert UTC to/from local time, and/or reformat the string representation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint (by UEZ)] - Creating barcodes using the Zint.dll.&lt;br /&gt;
[[Category:UDF]]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15291</id>
		<title>User Defined Functions</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15291"/>
		<updated>2026-05-10T17:39:52Z</updated>

		<summary type="html">&lt;p&gt;Water: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
This page is a listing of libraries of &#039;&#039;&#039;user defined functions&#039;&#039;&#039; (UDF). These libraries have been written to allow easy integration into your own scripts and are a very valuable resource for any programmer.&amp;lt;br /&amp;gt;&lt;br /&gt;
This list is probably not complete (410 UDFs on 2026-05-10), but constantly supplemented.&lt;br /&gt;
If you do not find a solution here, ask a new question on the [https://www.autoitscript.com/forum/forum/2-general-help-and-support/ forum].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
The listed UDFs might have been written for older versions of AutoIt. So there is no guarantee that every UDF works smoothly with newer versions.&amp;lt;br /&amp;gt;&lt;br /&gt;
None of the UDFs has been tested by the maintainers of this list so you as a user need to make sure that they deliver the expected results.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;When will an UDF be added to this list?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
It should meet all/most of the general requirements for UDFs as described [[UDF-spec|here]].&amp;lt;br&amp;gt;&lt;br /&gt;
In addition the following requirements should be met:&lt;br /&gt;
* &#039;&#039;&#039;Documentation&#039;&#039;&#039;: So users can tell what the UDF is intended to do (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Examples&#039;&#039;&#039;: So users can get an idea how to use the UDF. The more the better (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Operating systems&#039;&#039;&#039;: Should support the latest Microsoft OS (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;AutoIt&#039;&#039;&#039;: Should support the latest version of AutoIt (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Author&#039;&#039;&#039;: The author should still be active on the forum so he can reply to questions (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What to do when one of your UDFs is missing?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please send a [https://www.autoitscript.com/forum/messenger/compose/?to=7903 PM] to user water. Add a short description of the UDF and a link to your post in the [https://www.autoitscript.com/forum/forum/9-autoit-example-scripts/ Example Scripts] or [https://www.autoitscript.com/forum/forum/49-autoit-projects-and-collaboration/ Projects and Collaboration] forum.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Added in the past two years&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date !! Section !! Creator !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-10 || [[User_Defined_Functions#Graphics_and_image|Graphics and Image]] || seangriffin || [https://www.autoitscript.com/forum/imndex.php?showtopic=188682 Box2d] - Physics and game engine.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-07 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || MattyD || [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP UDF] - SNMPv1 and SNMPv2c.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-01 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment] - Least Squares Adjustment.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-04-01 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || WildByDesign || [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-10 || [[User_Defined_Functions#Inter_Process_Communications|Inter Process Communications]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC] - Inter Process Communication using TCP/IP.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-09 || [[User_Defined_Functions#Browsers|Browsers]] || ioa747 || [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt] - Integrate WebView2 into AutoIt via COM. &lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-19 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF] - TCP/UDP Networking Library.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || BugFix || [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx] - Another kind of group, versatile changeable.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-16 || [[User_Defined_Functions#Security|Security]] || DonChunior || [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred] - Interface to the Windows Credential Management API.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || genius257 || [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast] - Native Win8+ toast notifications.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Media|Media]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Hardware|Hardware]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213296 Monitor] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-09-22 || [[User_Defined_Functions#Misc|Misc]] || UEZ || [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint] - Creating barcodes using the Zint.dll.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-07-27 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || DXRW4E || [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-04-16 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || seangriffin || [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-03-22 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-02-26 || [[User_Defined_Functions#Controls|Controls]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-16 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Gianni || [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask] - Easily run and manage many processes.&lt;br /&gt;
|- &lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || NoNameCode || [https://www.autoitscript.com/forum/index.php?showtopic=211475 Darkmode] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Network_Guy || [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-11 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || t0nZ || [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog] - Logs made easy.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || argumentum || [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-21 || [[User_Defined_Functions#Controls|Controls]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker] - Date Range Picker Control.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-06 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place the Table of contents (TOC) here --&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Automation ==&lt;br /&gt;
&lt;br /&gt;
===Browsers===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154439 Chrome (by seangriffin)] - Automate the most common tasks in Chrome with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95595 Firefox (by Stilgar)] - A little less support for automation than IE, but still very good.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167661 Firefox (by Danp2)] - Modified newer version of Stilgar Firefox UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/224-firefox-profile-backup/ FireFox Profile Backup 1.0 (by careca)] - Backup or restore your firefox profile. The application searches for the profile in home drive that will be the one to backup.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _FF_AutoLogin (by Stilgar)] - This is a auto-login function and login-function-generator for FireFox and the FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92035 _FF_DM (by Stilgar)] - UDF to control the FireFox Download-Manager (not the download-window).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91650 _FF_FoxBox (by Stilgar)] - UDF to control Fox!Box (A Mozilla Firefox extension for the AVM FRITZ!Box) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91665 _FF_Screengrab (by Stilgar)] - UDF to control Screengrab! (FireFox-AddOn) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _HTML (by Stilgar)] - Get informations from any HTML (XML) source, without any browser.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166542 HTMLDocumentEvents (by SmOke_N)] - Track IE document events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167035 IEEx (by SmOke_N)] - IE extended library with some Javascript options.&lt;br /&gt;
* Internet Explorer (by DaleHohm et al.) - IE library that is now supplied with a standard AutoIt install.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153520 IUIAutomation MS framework (by junkew)] - IUIAutomation MS framework to automate chrome, FF, IE etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149203 NavInfo (by Nessie)] - With this UDF you can check if a specified browser/software is installed and which version is being used.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=61090 Opera (by MrCreatoR,)] - Automate the most common tasks in Opera with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191990 WebDriver (by Danp2)] - W3C compliant Webriver UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt (by ioa747)] - AutoIt WebView2 Component (COM Interop).&lt;br /&gt;
&lt;br /&gt;
===Microsoft Office===&lt;br /&gt;
Some features of Microsoft&#039;s Office products are proprietary and cannot readily be manipulated.  Sometimes workarounds are required.&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;[[Known issues with Microsoft Office automation.|This page]]&amp;lt;/u&amp;gt; is dedicated to identifying those issues, provide explanations and list solutions or workarounds.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32144 Microsoft Office Access (by randallc)] - Automate Microsoft Access.&lt;br /&gt;
* Microsoft Office Excel (by water et al.) - This UDF is included in AutoIt. Link to the [[Excel_UDF|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135312 Microsoft Office Excel Charts (by water, GreenCan)] - Creating charts using Microsoft Excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204034 Microsoft Office Excel Pivot Tables (by SudeepJD)] - Create and Update Excel Pivot Tables and Charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126305 Microsoft Office Outlook (Items) (by water)] - Automate Microsoft Outlook Items. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202451 Microsoft Office Outlook (GUI) (by water)] - Automate Microsoft Outlook GUI. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197346 Microsoft Office Outlook Tools (by water)] - Built on top of the OutlookEX UDF it offers some often needed extended functionality (import/export ics/vcf files etc.). Link to the [[OutlookTools|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50254 Microsoft Office PowerPoint (by Toady)] - Automate Microsoft PowerPoint.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=178783 Microsoft Office PowerPoint (by water)] - Automate Microsoft PowerPoint. Link to the [[Powerpoint|documentation]] pages.&lt;br /&gt;
* Microsoft Office Word (by water et al.) - This UDF is included in AutoIt. Link to the [[Word_UDF|documentation]] pages.&lt;br /&gt;
&lt;br /&gt;
===OpenOffice/LibreOffice===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210514 LibreOffice Suite (by donnyh13)] - A huge list of functions for LibreOffice Base, Calc and Writer. Link to the [[LibreOffice|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151530 OOo/LibO Calc (by GMK)] - OpenOfficeCalc UDF (works also for Libre Office).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185932 OpenOffice/LibreOffice Spell Checker (by GMK)] - Function to validate words, and show spell alternatives.&lt;br /&gt;
&lt;br /&gt;
===Other Applications===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106163 Active Directory (by water)] - Extensive library to control and manipulate the Windows active directory ([https://www.autoitscript.com/forum/files/file/355-ad-active-directory-udf/ Download]). Link to the [[Active_Directory_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87956 Java (by seangriffin)] - Creates an access bridge between your application and a Java application. Allowing you to automate some Java applications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86574 SAP (by seangriffin)] - SAP business management automation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149540 SAPWizard (by ozmike)] - SAPWizard UDF.&lt;br /&gt;
&lt;br /&gt;
== Script Coding/Analyzing/Debugging ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209528 ArrayCombinations (by AspirinJunkie)] - Different ways of composing elements of a set.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155442 ArrayMultiColSort (by Melba23)] - Function to sort a 2D array on several columns.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209523 ArrayPlus (by AspirinJunkie)] - Functions for flexible Array handling (create, extract, rebuild, sort, filter, find, print)&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180467 ArrayWorkshop (by czardas)] - Multidimensional array functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=59174 Associative array functions (by Nutster)] - Manage a version of associative arrays in single AutoIt variables. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=198929 AutoIt error logger (AUERLO) (by user4157124)] - File- and stdout (etc.) output of messages, errors, exit method and -code, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110379 AutoItObject (by ProgAndy and others)] - Brings the Object Orientation programming paradigm to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112879 AutoIt Syntax Highlight (by MrCreatoR)] - Highlights AutoIt v3 syntax code to html/bbcode format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191488 cDebug (by c.haslam)] - Dumps the values of all AutoIt subtypes and expressions including nested arrays, DLL structs and maps.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor (by Nine)] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195882 ErrorLog (by mLipok)] - Logs program activities and errors to different output locations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211718 FuzzyString (by AspirinJunkie)] - Fuzzy string comparison and search in string arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143167 GetOpt (by dany)] - Parse GNU and DOS style command line options similar to getopt().&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog (by t0nZ)] - Logs made easy.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156196 Log4a (by zorphnog)] - Logging library loosely based upon the log4j and NLog libaries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195862 Loga (by Danyfirex)] - Simple logging library to keep track of code with an integrated console.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119032 Log UDF (by Yashied)] - Create a text log files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202832 OnDebugMsgBox (by argumentum)] - Catch the dreaded &amp;quot;AutoIt Error&amp;quot; MsgBox and prettify or hide it.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209529 Set (by AspirinJunkie)] - Provides a set data type and brings the corresponding mathematical functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200660 Variants and Safearrays (by LarsJ)] - Create/access/process Variants and SafeArrays.&lt;br /&gt;
&lt;br /&gt;
=== Inter Process Communications ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202485 AppInteract (by MrCreatoR)] - Reliably pass arrays or other types between processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC (by Kanashius)] - Inter Process Communication using TCP/IP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=205109 AutoItSharedData (by SEuBo)] - Create a shared data storage, a simple AutoItObject-Object, using AutoItObject_Internal.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188991 Autoit-Socket-IO (by tarretarretarre)] - Event driven TCP/IP wrapper inspired by Socket.IO with focus on user friendliness and long term sustainability.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126936 Container (by MrCreatoR)] - Scripts interaction method. Allows to transfer whole arrays as data, and even COM objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=55994 DDEML (by doudou)] - Use your AutoIt script as DDE client or server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193277 FMIPC (by argumentum)] - IPC via FileMapping.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127615 Interprocess (by JScript)] - Remotely execute a function in another script (using Mailslot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193158 IPC_IO (by JohnWIlling)] - IPC library supporting multiple connection types (such as: Named Pipe, File, TCP, SharedMemory, MailSlot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202618 IPC Techniques through ROT Objects (by LarsJ)] - Implementing IRunningObjectTable Interface.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106710 Mailslot (by trancexx)] - IPC using Mailslots.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204734 Overlapped Named Pipe IPC (by Nine)] - Very fast interprocess communication that could be used between VBS or AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169797 Pool - Post Office for Organized Labour (by RTFC)] - Provides multiple AutoIt processes with an infrastructure for exchanging messages, data, and remote-control instructions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202587 WCD IPC (by Nine)] - Framework for Inter Process Communication using Windows Messages WM_COPYDATA.&lt;br /&gt;
&lt;br /&gt;
=== Parallel/concurrent processing ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork (by argumentum)] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186853 _Multiprocess (by jguinch)] - Run several external programs at the same time and retrieve the exit code of each process.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask (by Gianni)] - Easily run and manage many processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking (by Network_Guy)] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT (by Nine)] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
&lt;br /&gt;
== Files, Databases and web connections ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180850 ADO (by mLipok)] - A modifed version of the _SQL UDF to access all kind of databases (MSSQL, MySQL, PostgreSQL, SQLite, MS ACCESS, XLS, TXT, and many other which use ADO and ODBC).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105875 ADODB (by spudw2k)] - ADODB Example.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 AXML (by Aipion)] - This is a Wrapper for Pugixml, made with C++.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145142 DBF (by funkey)] - dBase database read and write with DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/topic/114406-csv-file-to-multidimensional-array/#findComment-799820 CSV (by ProgAndy)] - Read/write CSV files to/from 2D arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197909 CSV (by seangriffin)] - Manipulate CSV files using SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155748 CSVSplit (by czardas)] - Convert to and from CSV format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151116 DIF (by willichan)] - Read/write DIF (Data Interchange Format) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119238 Excel file generation (by jerome)] - Excel file generation (multi-sheet workbook) without the need to have Excel installed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143866 Excel XML (by FireFox)] - Work with SpreadsheetML (Open XML file formats).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155905 EXml (by jdelaney)] - Create Excel file (SpreadsheetML) through &amp;quot;Microsoft.XMLDOM&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116072 EzMySql (by Yoriz)] - Use MySQL Databases with AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148232 _FileGetProperty (by BrewManNH)] - Retrieve properties of a file.Xml2Json&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94920 FireBird (by eltorro)] - FireBird, Interbase DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx (by DXRW4E)] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197421 jq (by TheXman)] - Brings the power and flexibility of jq (an open-source command-line based JSON processor) to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209502 JSON (by AspirinJunkie)] - Interacting with JSON data in AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104150 JSON (by Gabriel13)] - RFC4627 compliant JSON encode/decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148114 JSON (by Ward)] - JSMN - A Non-Strict JSON UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156794 JSON (by ozmike)] - Bridge to Native Windows JSON plus OO extension for AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC (by seangriffin)] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173797 JSONgen (by Jefrey)] - Generate JSON.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127101 MS SQL (by TheLuBu)] - MSSQL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51952 MS SQL (by ChrisL)] - _SQL. ADODB Connection.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20814 MySQL (by cdkid)] - MySQL relational database management system.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85617 MySQL (by ProgAndy)] - MySQL UDFs (without ODBC - working with libmysql.dll).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=122360 MySQL (by James)] - MySQL ODBC Connector.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187223 romaSQL (rynow)] - Built on the concept of Laravel Query &amp;amp; doctrine. Connection string is based on ADODB / ODBC.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143331 Sharepoint 2007/2010 (by schoppet)] - Access the SOAP-Webservices of Sharepoint 2007/2010.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17099 SQLite (by ptrex)] - SQLite is a library that implements a self-contained, embeddable, zero-configuration SQL database engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=142977 SQLite Array Functions (by SmOke_N)] - SQLite Array Functions - a faster method for unique arrays and sorting methods.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140521 SQLite - Database (by PhoenixXL)] - UDF for SQLite so that beginners will also be able to do the stuff.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157853 SQLiteEx (by 57ar7up)] - SQLiteEx UDF v0.5.1 - Simplest work with SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163633 Xbase I/O (by RTFC)] - Transfer data between Xbase Data file (*.dbf) and AutoIt array written in pure AutoIt (no SQL, no ADO, no dlls, no external dependencies).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209526 xlsxNative (by AspirinJunkie)] - Read and write xlsx files without excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=19848 XML DOM Wrapper (by eltorro)] - Supports CRUD operations on XML. Including XSL and XPath.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 XML (by mLipok)] - New version of XML DOM Wrapper, with many new features.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208932 Xml2Json (by TheXman)] - Transform XML to JSON.&lt;br /&gt;
&lt;br /&gt;
== Data compression ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85094 7z, zip, gzip, bzip2, tar (by rasim)] - Extensive library that uses a external DLL that must be provided with the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92958 gZip (by Zinthose)] - Based on the parsing of gZip.exe output. It can work with memory, it doesn&#039;t work with files. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87441 LZMA (by trancexx)] - LZMA (Native Windows).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138838 Package (by Yashied)] - Package UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129529 pZip (by asdf8)] - PureZIP_L library UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=76176 UnRAR (by rasim)] - UnRAR.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17727 XZip (by eltorro)] - Another UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161847 XZip (by mLipok)] - UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44524 Zip plugin (by eltorro)] - Zip plugin.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73425 ZIP (by torels)] - ZIP UDF in pure AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116565 zip (by wraithdu)] - Create ZIP files and unpack ZIP files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135565 ZIP (by joakim)] - ZIP STRUCTS UDF (from scratch).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87284 ZLib (by monoceres)] - Based on ZLib.dll. It can compress/uncompress data in memory, it doesn&#039;t work with files.&lt;br /&gt;
&lt;br /&gt;
== Encryption and hash ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81332 _Base64Encode, _Base64Decode (by trancexx)] - Fast _Base64Encode, _Base64Decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153246 Base91 and Base128 (by Beege)] - Base91 and Base128 functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155538 Codecrypter (by RTFC)] - Encrypt scripts without placing the key inside the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=201002 Cryptography API: Next Gen (by TheXman)] - Microsoft&#039;s long-term replacement for their CryptoAPI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210901 Enigma (by willichan)] - Simple encryption based on the Enigma Machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203990 GDPR (by mLipok)] - Functions to encrypt/decrypt strings and files with the GDPR in mind.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95558 Hashes for files (by trancexx)] - Fast RC32, MD4, MD5, SHA1 calculation for big files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107784 TrueCrypt (by FuryCell)] - TrueCrypt UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140737 WinTrust (by kasty)] - verify the integrity of a file with its embedded signature or a given catalog.&lt;br /&gt;
&lt;br /&gt;
== GUI Additions ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast (by genius257)] - Native Win8+ toast notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97241 3D Pie chart (by WideBoyDixon)] - 3D Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173924 Chart_UDF (by Kanashius)] - This UDF can be used to Display bar charts in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96258 ContextHelp (by Yashied)] - Management of context help ([https://www.autoitscript.com/forum/index.php?showtopic=72152-contexthelp/ original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211475 DarkMode (by NoNameCode)] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109096 ExtMsgBox (by Melba23)] - A very customisable replacement for MsgBox.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx (by BugFix)] - Another kind of group, versatile changeable.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105582 GUICtrlOnChangeRegister (by Mat)] - Call a function when an edits content is changed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme (by WildByDesign)] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145149 GUIExtender (by Melba23)] - Expand and contract sections of your GUI ([https://www.autoitscript.com/forum/index.php?showtopic=117909 original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197654 GuiFlatButton (by kurtykurtyboy)] - Change colors of regular buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119505 GUIFrame (by Melba23 &amp;amp; Kip)] - Divide a GUI into adjustable frames.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=144207 GUI Panel (by FireFox)] - Manage child GUIs as panel ctrls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113723 GUI Scrollbars (by Melba23)] - Automatically sized scrollbars with a single command.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161184 MetroGUI (by BBs19)] - Windows 10 style buttons, toggles, radios etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 Modern tray menu (by Holger)] - Allows the creation of modern, fancy GUI and tray menus with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194693 MTSkin (by Taskms4)] - Simply create modern looking GUIs (borderless GUI, Interactive menu panel (with mouse-over detection), a bunch of skins).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182136 Notifications (by S3cret91)] - Display permanent desktop notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=136149 Notify (by Melba23)] - Small notifications on the edge of the display.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161750 Pie chart (by Andreik)] - Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75429 Real Vista Aero Glass (by James)] - Real Vista Aero Glass UDF - you can apply glass effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF (by Nine)] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=71811 SetOnEvent (by martin)] - Provides an easy way for an event to call functions with parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=103871 _SysTray (by wraithdu)] - Get info about and manipulate Systray icons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108445 Toast (by Melba23)] - Small message GUIs which pop out of the Systray.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110003 Tray Icon Bar Graph (by BeeGee)] - Creates a scrolling bar graph as the tray icon.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=132864 Uskin (by JScript)] - Allows you to skin your GUI using the Windows &#039;&#039;.MSstyles&#039;&#039; files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191821 Wi3SMenu (by NHD)] - Create a slide menu with Windows 10 style. Supports color, icon and opacity.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129196 WinSnap (by Beege)] - Automatic Window Alignment by applying that &amp;quot;snappy edge&amp;quot; effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32494 XSkin (by Valuater)] - Allows skinning of your GUI and to apply custom skins.&lt;br /&gt;
&lt;br /&gt;
=== Controls ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202529 BrowseForFolder (by MrCreatoR)] - Handle SHBrowseForFolderW with more options, such as multi selection (checkboxes), window position, controls text and more. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=146406 Calendar (by jmon)] - Calendar UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125293 ChooseFileFolder (byMelba23)] - Single and multiple selections from specified path treeview listing.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96464 Colorpicker (by Yashied)] - Create a button for the user to select a color.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker (by Nine)] - Date Range Picker Control.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=123409 Explorer Frame UDF (by Beege)] - Takes any frame created by GUIFrame and turns it into a MS-Windows like Explorer window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview (by Kanashius)] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173929 GDIPlus Slider UDF (by Kanashius)] - This UDF can be used to create a slider with an imagebackground and an image to move.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=79412 Graph control (by andybiochem)] - Easily create and show bar chart and line charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104399 GraphGDIPlus UDF (by andybiochem)] - Easily create and show bar chart and line charts with GDI+ to take advantage of double-buffering.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105682 GUICtrlCreateFinder (by Mat)] - Allows you to create a window finder control like the one seen in AutoIt Window Info.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107965 GUIHotkey (by Mat)] - UDF for using native hotkey controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182492 GUIListViewEx (by Melba23)] - Insert, delete, move, drag, sort, edit and colour ListView items.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111438 GUIPager (by Mat)] - Create and control native pager controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 GUI/Tray Menu (by Holger, LarsJ, AZJIO)] - GUI/Tray Menu with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166594 GUITreeViewEx (by Melba23)] - Check/clear parent and child checkboxes in a TreeView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=90598 Hotkey input control (by Yashied)] - Hotkeys Input Control UDF Library (Non-native).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173932 ListView Edit UDF (by Kanashius)] - This UDF can be used to simply edit an Listview.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109355 ListView - Explorer like ListView UDF (by Beege)] - This UDF simplify creating MS Explorer-like ListViews.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143711 Marquee (by Melba23)] - Make tickertape info bars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143380 Predict Text UDF (by PhoenixXL)] - Sub classes the edit control and matches the current word through the Database &amp;amp; sets selection in accordance.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163939 Progressbar new style (by Muzaiyan)] - New styles for your progress bar.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74649 Progressbar with GDIplus (by ProgAndy)] - You even can use full textured images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151636 RestrictEdit_SRE UDF (by PhoenixXL)] - Restrict the text that can be entered in an editbox through a String Regular Expression.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128242 Ribbon (by trancexx)] - UDF for Windows Ribbon framework.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114034 StringSize (by Melba23)] - Automatically size controls to fit the text you want to put in them.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126958 Syslink (by Yashied)] - Provides a convenient way to embed hypertext links in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105814 Table (by andybiochem)] - Table UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211024 Toggle Button (by Andreik)] - Create simple toggle buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125251 TVExplorer (by Yashied)] - Allows to create TreeView (TV) Explorer controls that display a tree of files and folders.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=190659 Virtual Listview (by LarsJ)] - Virtual Listview for large amounts of data with a large number of rows.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195053 Windows Message Monitor (by LarsJ)] - Monitor Windows Messages of a window or control.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118317 Battery UDF (by Yashied)] - Retrieves various information and current status of the battery(s).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154727 BuildPartitionTable (by RTFC)] - Scans a physical drive&#039;s partition table and returns a partition_table, allocation_table and volumes_table.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155674 CommAPI (by therealhanuta)] - Serial and parallel communication (COM port, RS-232, LPT port) - without installing DLL&#039;s (using Windows API calls).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77731 Device Management (by weaponx)] - Device Management API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97487 DirectShow (by monoceres)] - DirectShow UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164700 DirectSound (by eukalyptus)] - DirectSound UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164701 Direct2D (by eukalyptus)] - Direct2D UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99713 Drive Info (by NerdFencer)] - Gathers drive info for Hard Drives, Disk Drives, and Floppy Drives.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138989 FritzBox (by Allow2010)] - _FB_Tools - manage your FritzBox from Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121084 I/O Port Functions (by Ascend4nt)] - Input/Output UDF for interacting with ports (x64 Parallel Port, Keyboard etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203207 MediaDevice (by Danyfirex)] - Transfer files to portable devices like phones, storages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php=showtopic=213296 Monitor (by Trong)] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154350 Monitor Configuration (by jaberwacky)] - Monitor Configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155469 Mouse (by AlmarM)] - AutoIt powered mouse events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=147325 MouseTrapEvent (by ozmike)] - MouseTrapEvent UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149083 NetInfo (by Nessie)] - UDF for test internet download speed and upload speed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155539 Network configuration (by jguinch)] - Network configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182684 Nitgen (by Jefrey)] - UDF to work with Nitgen fingerprint readers that use NGenBio SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210968 Printer Manager (by Nine)] - Manage printers with winspool.drv DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155485 Printers management with WMI (by jguinch)] - Add/delete printer, driver, port, or obtain configuration, set default printer ...&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=189190 Serial port UDF / COM port UDF (by MazeM)] - It is very similar to CommAPI using kernel32.dll, but all code is packed into a single file without any dependencies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128546 Serial Port/COM (by martin)] - Serial Port /COM Port UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27755 SMARTDRIVE (by ptrex)] - SMART drive Analysis.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158640 SPI Hardware Interface (by Blinky)] - Communicate with the MAX335 chip using the SPI protocol via the LPT (printer) port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=8188 VISA/GPIB (by Angel)] - VISA/GPIB library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68866 Webcam (by LIMITER)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70857 Webcam (by ludocus)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91018 WiFi (by MattyD)] - Low level control over your wireless LAN.&lt;br /&gt;
&lt;br /&gt;
== Information gathering ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29404 Computer information (by JSThePatriot)] - A general purpose library to get various details about a Windows machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151920 NetworkStatistics (by Ascend4nt)] - Network Interface Info, Statistics, and Traffic.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=54039 WinPcap (by JRSmile)] - Wrapper for the windows packet capture library WinPcap.&lt;br /&gt;
* [https://opensource.grisambre.net/pcapau3/ WinPcap (by Nicolas Ricquemaque)] - A library to access the main functionalities offered by the WinPcap driver.&lt;br /&gt;
&lt;br /&gt;
== Internet protocol suite ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207859 cURLX64 (by Beege)] - cURL UDF with x64 support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=137456 cURL (by seangriffin)] - A UDF for transferring data with URL syntax.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187718 HTTP lib (by Jefrey)] - HTTP lib (GET, POST and upload) UDF to simplify HTTP requests, mainly when dealing about POST data or file uploads.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202895 HttpApi (by TheXman)] - HTTP Server API enables applications to communicate over HTTP without using MS Internet Information Server (IIS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=40243 IMAP (by mikeytown2)] - IMAP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108422 IMAP4 (by Tipulatoid)] - IMAP4 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=43515 IRC (by McGod)] - A lightweight library for communicating with IRC servers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159285 IRC (by rcmaehl)] - IRC UDF - Updated Version of Chips&#039; IRC UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=22838 POP3 (by Apzo)] - POP3 library for retrieving email messages. Not compatible with Gmail because it uses SSL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167339 POP3 (by mLipok)] - POP3 UDF According to the 1939 RFC, modified version with Quoted Printable decoder.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154530 Prowl (by mrflibblehat)] - Push notifications to iPhone, iPod touch or iPad using Prowl (Growl client for iOS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138095 SFTP (by Lupo73)] - UDF to support SFTP protocol using PSFTP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154054 Socket UDF (by funkey)] - Socket UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=23860 SMTP (by Jos)] - Smtp Mailer That Supports Html And Attachments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167292 SMTP Mailer UDF (by mLipok)] - Smtp Mailer That Supports Html And Attachments - Modified Version with support to save EML files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81687 SNMP (by enaiman)] - SNMP_UDF for SNMPv1 and SNMPv2c.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP (by MattyD)] - SNMP UDF SNMPv1 and SNMPv2c. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70759 SNMP - MIB protocol (by ptrex)] - Reading toner status from SNMP device with WMI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166579 SSH (by jeanphile)] - Use the SSH protocol very easily in your code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185329 STUN (by j0kky)] - STUN is a protocol that permits you to know your external IP but, more interesting, your external port associated to your internal port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184817 SyslogSend (by Irios)] - This allows sending (BSD) messages to a syslog server using UDP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169774 TCPServer (by Jefrey)] - Multi client, event-based, able to bind console app to socket.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=57022 UPnP Protocol (by ptrex)] - UPnP - Read and Control your devices in side out.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=84133 WinHTTP (by trancexx)] - Access the HTTP protocol for creating GET and POST requests and submitting them with conforming standards, cookies not supported.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77503 WinInet (by -Ultima-)] - Access standard Internet protocols (FTP, Gopher and HTTP). Supports GET/POST requests and cookies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181645 Winsock (by j0kky)] - Create client/server application using native winsock functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF (by Trong)] - TCP/UDP Networking Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191954 WSA_NBTCP (by ripdad)] - Windows Sockets API - Non-Blocking Transmission Control Protocol.&lt;br /&gt;
&lt;br /&gt;
== Maths ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment (By AsprininJunkie)] - Least Squares Adjustment.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170658 Advanced Math UDF (by scintilla4evr)] - Advanced mathematical functions (primes, number sequences, interpolate, calculate values of functions like Riemann zeta etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=102686 Advanced rounding (by Mat)] - Support for different measures of accuracy and 8 ways to resolve tie breaks.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83529 Big number (by eukalyptus)] - Make calculations with extremely large numbers that AutoIt normally is not able to support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106551 Decimal To fraction (by Malkey)] - Converts any decimal number to a fraction. Example: 1.2 to 6/5.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162921 Eigen4AutoIt (by RFTC)] - Allows to perform fast matrix operations on large numerical data sets, and much more ....&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra (by AspirinJunkie)] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140789 MathsEx UDF (by PhoenixXL)] - Functions for Carrying Out More Advanced Mathematical Calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81189 Number base conversion (by james3mg)] - From, to and between positive bases less than 63 (decimals supported).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117156 NumToWord (by Mat)] - Convert numerals to a human readable string.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108803 Polynomials (by Mat)] - Functions for using polynomials.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83091 Primes (by jennico)] - Many functions dealing with prime number generation and calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94770 Roman Numerals (by AZJIO)] - Roman Numerals.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98160 Root function (by Mat)] - Working out real roots of numbers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209527 Stat (by AspirinJunkie)] - Statistics for Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163899 StringAPL (by minx)] - inline APL interpreter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=82722 Trigonometric and math functions (by trancexx)] - _ATan2(), _Cosh(), _Frexp(), _Hypot(), _Ldexp(), _Logb(), _Sinh(), _Tanh().&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95357 FreeImage library (by ProgAndy)] - Various operations on images, such as rotate, resize, flip.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll (by Trong)] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127263 HtmlHelp (by Geodetic)] - HtmlHelp functions for context-sensitive help from CHM (compiled HTML) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116009 HyperCam (by seangriffin)] - HyperCam (Screen Recording) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182535 HyCam2 (by willichan)] - Automation for HyCam2 screen recording utility.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50608 OCR (by ptrex)] - Real OCR in AU3 - MODI with MS Office 2003.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=89542 OCR (by seangriffin)] - Tesseract (Screen OCR) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206133 OCRSpace (by MrKm)] - Convert Images to text with the OCRSpace API. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51054 Printer controller (by martin)] - Print text in any font, size and colour at any position on the page, draw lines, curves, elipses, pies in any colour, and print images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73993 Printing (by GRS)] - Printing from AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202621 QRCreator (by BugFix)] - Simple QR-code creation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161831 RTF_Printer (by mLipok)] - Printing RichEdit in the background.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94834 Simple DirectMedia Layer (by AdmiralClaws)] - Adds support for joysticks, CDs, 2D graphics, timers. See [https://www.libsdl.org/ SDL website] for more information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207324 UWPOCR (by Danyfirex)] - Universal Windows Platform Optical Character Recognition API.&lt;br /&gt;
&lt;br /&gt;
===Graphics and image===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202987 AutoYolo3 (by smartee)] - Real-Time Object Detection using YOLOv3 wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113881 au3Irrlicht2 (by JRowe)] - Combining Irrlicht and AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86748 AVI writing udf (by monoceres)] - Create uncompressed avi&#039;s from bitmap files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27362 Bitmap Library (by evilertoaster)] - Bitmap Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/imndex.php?showtopic=188682 Box2d (by Seangriffin)] - Physics and game engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202663 GIF animation (by Nine)] - Fast cached GIF animation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150231 GTK+  (by prazetto)] - GTK+ Framework | Widgets.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=13096 ImageGetInfo (by Lazycat)] - Read info from JPEG, TIFF, BMP, PNG and GIF - size, color depth, resolution.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/471-image-search-udf Image Search (by VIP)] - Search for an image on the desktop. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70506 IrrLicht (by A. Percy)] - A 3D graphics engine suitable for creating games.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160732 OpenCV (by myliseJ)] - UDF for the OpenCV library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206432 OpenCV v4+ (by smbape)] - OpenCV UDF with support for OpenCV v4+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151011 OpenGL (by LarsJ)] - OpenGL without external libraries etc. For JPEG files it also retrieves various Exif information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148129 OpenGL (2.0) (by minx)] - New set of UDFs for OpenGL + AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152950 S3D (by Starg)] - Draw simple 3D graphics with GDI+.&lt;br /&gt;
&lt;br /&gt;
===Players===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114143 VLC (by seangriffin)] - VLC (Media Player) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91316 VLC Media Player (by ptrex)] - VLC Media Player.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27352 WMP (by ConsultingJoe)] - Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44008 WMP - Media Controls (by CFire)] - Another Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203154 WMP - GUI Control (by SudeepJD)] - IE based WMP Control.&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83481 BASS Function Library (by BrettF)] - Sound and Music via wrappers for Bass, BassEnc, Bass FX, BassSFX, BassAsio and BassCd DLLs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173808 libZPlay (by Danyfirex)] - Multimedia library for playing mp3, mp2, mp1, ogg, flac, ac3, aac, oga, wav and pcm files and streams.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=37072 MIDI (by eynstyne)] - MIDI UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208116 MIDI (by MattyD)] - Wrap of the Windows MIDI functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114742 SAPIListBox (by seangriffin)] - SAPIListBox (Speech Recognition) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=100439 TTS (by Beege)] - Text-to-Speech UDF.&lt;br /&gt;
&lt;br /&gt;
== PDF ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162195 Acrobat Reader - ActiveX Viewer (by mLipok)] - Make your own PDF Viewer GUI with Acrobat Reader ActiveX COM Object &amp;quot;AcroPDF.PDF.1&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164469 Debenu PDF Viewer SDK (by mLipok)] - A collection of functions to display PDF files in your applications using Debenu PDF Viewer SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160875 Debenu Quick PDF Library (by mLipok)] - A collection of functions for Debenu Quick PDF Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75832 FoxIt Reader (by ptrex)] - PDF Reader in AU3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118827 MPDF (by taietel)] - Create PDF from your application.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=42776 PDFCreator (by ptrex)] - Automation of PDFCreator allows you to create and manipulate PDF files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170550 PDFCreator (by mLipok)] - UDF for PDFCreator v1.x.x with working EVENTs Handler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32261 _StringToPDF (by Tam0r)] - Write a string to a PDF file and specify font size, type etc.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145158 Firewall (by JLogan3o13)] - Control and manipulate the Windows Firewall (enable/disable, Exclusions list, enable/disable ports etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194015 Firewall policy2 (by Bilgus)]- Provides access to the firewall policy for Windows Vista+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150819 VirusTotal (by Danyfirex)] - VirusTotal API 2.0 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred (by DonChunior)] - Interface to the Windows Credential Management API.&lt;br /&gt;
&lt;br /&gt;
== Social Media and other Website API ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159254 Cex.io (by AquilesCrespo)] - UDF script for using with the web api from https://cex.io/ server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169333 CrowdinAPI (by mLipok)] - Uses the [https://crowdin.com/page/api crowdin.net website API] for some functions (create projects, add and update files, download translations or integrate localization).&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/290-dropbox-authenticator/ Dropbox authenticator (by Gimerly)] - Dropbox authenticator.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158106 Easypost (by dcat127)] - Print USPS Postage Labels.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114801 eBay (by seangriffin)] - eBay UDF (functions GetItemStatus and GetSingleItem from the &amp;quot;Shopping API&amp;quot;).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=141340 Gmail (by PhoenixXL)] - Remote Gmail (UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192422 Gmail API (by Ascer)] - Automate communication with Gmail using oAuth 2.0 security. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98504 Google Functions (by Beege)] - Google Functions (Suggestions, Definitions, Translate, Convert).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=115437 Google Maps (by seangriffin)] - Google Maps UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70675 iTunes (by torels)] - iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101802 iTunes (by Beege)] - Another iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150985 No-IP (by Nessie)] - Simply update your no-ip hostname(s) and retrieve the ip address of an no-ip address.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192391 oAuth (by Ascer)] - Open standard for access delegation, commonly used to grant websites or applications access to other websites.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150838 PasteBin (by mrflibblehat)] - Pastebin UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121767 Skype (by FireFox)] - Skype4COM provides an ActiveX interface to the Skype API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113234 Teamspeak 3 (by chipDE)] - Teamspeak 3 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186944 TeamViewer API (by mLipok)] - A collection of function for use with TeamViewer API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186381 Telegram Bot (by LinkOut)] - UDF for [https://core.telegram.org/api Telegram messenger API].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166547 TVmaze.com API (by BBs19)] - TVmaze.com API UDF (TV-Series).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116600 Twitter (by seangriffin)] - Manage Twitter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149247 Yahoo Weather (by Nessie)] - Yahoo Weather API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112775 Youtube Uploader (by BrettF)] - AYTU - AutoIt Youtube Uploader.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50880 ACL (by ptrex)] - Set ACL on windows Objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134508 ACL (by FredAI)] - Do most everything with the DACL and ownership on all types of objects: Files or folders, Registry keys, services, Kernel and WMI objects, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206400 BITS (by DonChunior)] - Background Intelligent Transfer Service to download files from or upload files to HTTP web servers and SMB file shares.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184937 CertUtil (by mLipok)] - Wrapper for windows certutil.exe (command-line program that is installed in Windows as part of Certificate Services).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113560 FileSystemMonitor (by seangriffin)] - Monitors the file system by recording all file system events occurring within a given path.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111018 ITaskBarList (by Beege)] - ITaskBarList UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74118 Local account (by engine)] - Manage local accounts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161193 Magnifier Functions (by Ascend4nt)] - Exposes most of the useful Magnifier API functions available since Windows Vista.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75250 Registry (by engine)] - Windows Registry UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50551 Registry (by seanhart)] - RegWriteAllUsers / RegDeleteAllUsers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=80201 Service (by arcker)] - Build your own service with AutoIt code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124508 Startup (by guinness)] - Create Startup entries in the Startup Folder or Registry.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164756 SCCM (by JLogan3o13)] - Systems Center Configuration Manager Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134628 System restore (by FredAI)] - System restore UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186111 SubstWrapper (by mLipok)] - Wrapper for windows subst.exe command - (Associates a path with a drive letter).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135994 Taskplanner/Taskscheduler COM (by Allow2010)] - an UDF for using the Windows Taskplaner / Task Scheduler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83355 Task Scheduler (by dbzfanatic)] - Task Scheduler UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200068 TaskScheduler (by water)] - Brushed up Task Scheduler UDF. Link to the [[TaskScheduler|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173934 TTS (by Kanashius)] - Used with SAPI Automation Object - text-to-speech (TTS) engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158377 UAC (by AdamUL)] - User Account Control (UAC) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=175719 Utter (by Surya)] - Utilizing more of SAPI (Speech Recognition UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127075 WIMGAPI (by Homes32)] - Manipulate Windows Image Files (.wim) without ImageX.exe.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=28436 Windows Events (by Emperor)] - Create your own Windows events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=6487 Windows Service Control functions (by SumTingWong)] - Some limited functions to control services (create, start, stop, delete, check ...).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81880 Windows Services (by engine)] - Windows Services UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163178 WRMF (by Luigi)] - WRMF - Windows Registry Monitor Call Function.&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/topic/178871-dllcall-with-c-example/#comment-1285754 SMSApi (by mLipok)] - UDF for SMSAPi which provides SMS services. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/index.php?showtopic=178589 BulkSMS (by Skysnake)] - UDF for BulkSMS which provides SMS services. --&amp;gt;&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145099 _AdlibEnhance (by JScript)] - Enhance Adlib to call functions with parameters, pause and resume.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160936 Android (by Moriba)] - Control any Android device.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97826 Animated tray icons (by Yashied)] - Make animated tray icons easily.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163577 Atom Table (by Ascend4nt)] - Store (add, find, delete, and query) strings locally (at program level) or globally (at OS level) with unique numerical identifiers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170087 Barcode generators (by willichan)] - Creates a Code128A/B/C or Creates a Code39 or Code39Extended optimized barcode from supplied data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211660 BlockInput (by Nine)] - Block all input coming from mouse and/or keyboard, without having an UAC warning displayed. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87735 BlockInputEx (by MrCreatoR)] - Supports a few features that built-in BlockInput() function does not.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29763 Clipboard (by eltorro)] - When apps need to watch the clipboard.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170630 ClipboardEx (by ozmike)] - Allows to have more than 1 item in the Clipboard. Handles all data types, not just text.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81267 Clipboard History (by wraithdu)] - Save and restore the entire clipboard contents. Inspired by AHK&#039;s ClipboardAll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169610 CmdLine (by Jefrey)] - Collection of functions to parse command line arguments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126569 Console (by Shaggi)] - Functions and features to work wiht Console input/output.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121833 Copy (by Yashied)] - Copy or move files and directories without suspending your script. Retrieve the current state (copied bytes, error code etc.) while copying.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154684 Date / Time convert (by Melba23)] - Transform date/time formats.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99106 _DLLStructDisplay (by Ascend4nt)] - Show Struct in ListView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157689 _FileGetMimeType (by Wiliat87)] - Retrieve MIME types based on the extension of the filename/filepath/URL provided.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117033 File locking with cooperative semaphores (by willichan)] - Simple file locking without a server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157241 FindMimeFromData (by twbradio)] - FindMimeFromData using urlmon.dll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181997 Font Icon (by J2TeaM)] - Use Font Awesome in your AutoIt project.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68422 HotString (by jvanegmond)] - Similar to the HotKey function but trigger on a string, instead of a key or key combination.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173946 LASM - Light Assembler (by minxomat)] - Inline UDF for an Assembler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161628 LFN (by orbs)] - Overcome MAX_PATH limit of 256 chars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111492 Link Grammar for AutoIt (by JRowe)] -  Input is a regular sentence in English, German or Italian, output is a pattern parsed from the structure of the sentence.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/147-mruau3 MRU (by Yashied)] - Most Recently Used (MRU) List Automation functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188158 .NET Common Language Runtime (CLR) Framework (by Danyfirex, Junkew, Larsj, ptrex, Trancexx)] - Allows AutoIt to access .NET Class Libraries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101733 NoFocusLines (by Melba23)] - Remove the dotted focus lines from buttons, sliders, radios and checkboxes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149176 NotifyIcon (by FireFox)] - Create, delete and manage self notify icons (formerly TrayIconEx). &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=63318 PixelGetColor (by Manadar)] - Get or Read Pixel from memory.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167024 RDC (by Yashied)] - ReadDirectoryChanges Wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51103 Resources (by Zedna)] - Embed any binary data into your AutoIt compiled EXE files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162499 ResourcesEx (by guinness)] - Up to date version of Zedna&#039;s Resources UDF. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111215 Restart (by Yashied)] - Allows to restart a script from any location with full restoration of the original command line parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51547 SciLexer (by Kip)] - Editing control, supports multiple editors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152093 ScriptEditor (by pandel)] - ScriptEditor with I18N support and customizable lexer completely written in AutoIt (based on SciLexer).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162033 Spell Checker (by iCode)] - Spell Checker functions to call Hunspell, Hyphenate and MyThes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164444 Synology filestation (by nend)] - Functions to interact with a Synology NAS server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163328 TimeConvert (by orbs)] - Convert UTC to/from local time, and/or reformat the string representation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint (by UEZ)] - Creating barcodes using the Zint.dll.&lt;br /&gt;
[[Category:UDF]]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15290</id>
		<title>User Defined Functions</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15290"/>
		<updated>2026-05-10T17:37:51Z</updated>

		<summary type="html">&lt;p&gt;Water: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
This page is a listing of libraries of &#039;&#039;&#039;user defined functions&#039;&#039;&#039; (UDF). These libraries have been written to allow easy integration into your own scripts and are a very valuable resource for any programmer.&amp;lt;br /&amp;gt;&lt;br /&gt;
This list is probably not complete (410 UDFs on 2026-05-10), but constantly supplemented.&lt;br /&gt;
If you do not find a solution here, ask a new question on the [https://www.autoitscript.com/forum/forum/2-general-help-and-support/ forum].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
The listed UDFs might have been written for older versions of AutoIt. So there is no guarantee that every UDF works smoothly with newer versions.&amp;lt;br /&amp;gt;&lt;br /&gt;
None of the UDFs has been tested by the maintainers of this list so you as a user need to make sure that they deliver the expected results.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;When will an UDF be added to this list?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
It should meet all/most of the general requirements for UDFs as described [[UDF-spec|here]].&amp;lt;br&amp;gt;&lt;br /&gt;
In addition the following requirements should be met:&lt;br /&gt;
* &#039;&#039;&#039;Documentation&#039;&#039;&#039;: So users can tell what the UDF is intended to do (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Examples&#039;&#039;&#039;: So users can get an idea how to use the UDF. The more the better (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Operating systems&#039;&#039;&#039;: Should support the latest Microsoft OS (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;AutoIt&#039;&#039;&#039;: Should support the latest version of AutoIt (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Author&#039;&#039;&#039;: The author should still be active on the forum so he can reply to questions (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What to do when one of your UDFs is missing?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please send a [https://www.autoitscript.com/forum/messenger/compose/?to=7903 PM] to user water. Add a short description of the UDF and a link to your post in the [https://www.autoitscript.com/forum/forum/9-autoit-example-scripts/ Example Scripts] or [https://www.autoitscript.com/forum/forum/49-autoit-projects-and-collaboration/ Projects and Collaboration] forum.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Added in the past two years&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date !! Section !! Creator !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-10 || [[User_Defined_Functions#Graphics_and_image|Graphics and Image]] || seangriffin || [https://www.autoitscript.com/forum/imndex.php?showtopic=188682 Box2d] - Physics and game engine.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-07 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || MattyD || [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP UDF] - SNMPv1 and SNMPv2c.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-01 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment] - Least Squares Adjustment.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-04-01 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || WildByDesign || [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-10 || [[User_Defined_Functions#Inter_Process_Communications|Inter Process Communications]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC] - Inter Process Communication using TCP/IP.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-09 || [[User_Defined_Functions#Browsers|Browsers]] || ioa747 || [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt] - Integrate WebView2 into AutoIt via COM. &lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-19 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF] - TCP/UDP Networking Library.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || BugFix || [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx] - Another kind of group, versatile changeable.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-16 || [[User_Defined_Functions#Security|Security]] || DonChunior || [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred] - Interface to the Windows Credential Management API.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || genius257 || [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast] - Native Win8+ toast notifications.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Media|Media]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Hardware|Hardware]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213296 Monitor] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-09-22 || [[User_Defined_Functions#Misc|Misc]] || UEZ || [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint] - Creating barcodes using the Zint.dll.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-07-27 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || DXRW4E || [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-04-16 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || seangriffin || [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-03-22 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-02-26 || [[User_Defined_Functions#Controls|Controls]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-16 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Gianni || [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask] - Easily run and manage many processes.&lt;br /&gt;
|- &lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || NoNameCode || [https://www.autoitscript.com/forum/index.php?showtopic=211475 Darkmode] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Network_Guy || [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-11 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || t0nZ || [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog] - Logs made easy.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || argumentum || [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-21 || [[User_Defined_Functions#Controls|Controls]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker] - Date Range Picker Control.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-06 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place the Table of contents (TOC) here --&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Automation ==&lt;br /&gt;
&lt;br /&gt;
===Browsers===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154439 Chrome (by seangriffin)] - Automate the most common tasks in Chrome with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95595 Firefox (by Stilgar)] - A little less support for automation than IE, but still very good.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167661 Firefox (by Danp2)] - Modified newer version of Stilgar Firefox UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/224-firefox-profile-backup/ FireFox Profile Backup 1.0 (by careca)] - Backup or restore your firefox profile. The application searches for the profile in home drive that will be the one to backup.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _FF_AutoLogin (by Stilgar)] - This is a auto-login function and login-function-generator for FireFox and the FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92035 _FF_DM (by Stilgar)] - UDF to control the FireFox Download-Manager (not the download-window).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91650 _FF_FoxBox (by Stilgar)] - UDF to control Fox!Box (A Mozilla Firefox extension for the AVM FRITZ!Box) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91665 _FF_Screengrab (by Stilgar)] - UDF to control Screengrab! (FireFox-AddOn) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _HTML (by Stilgar)] - Get informations from any HTML (XML) source, without any browser.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166542 HTMLDocumentEvents (by SmOke_N)] - Track IE document events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167035 IEEx (by SmOke_N)] - IE extended library with some Javascript options.&lt;br /&gt;
* Internet Explorer (by DaleHohm et al.) - IE library that is now supplied with a standard AutoIt install.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153520 IUIAutomation MS framework (by junkew)] - IUIAutomation MS framework to automate chrome, FF, IE etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149203 NavInfo (by Nessie)] - With this UDF you can check if a specified browser/software is installed and which version is being used.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=61090 Opera (by MrCreatoR,)] - Automate the most common tasks in Opera with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191990 WebDriver (by Danp2)] - W3C compliant Webriver UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt (by ioa747)] - AutoIt WebView2 Component (COM Interop).&lt;br /&gt;
&lt;br /&gt;
===Microsoft Office===&lt;br /&gt;
Some features of Microsoft&#039;s Office products are proprietary and cannot readily be manipulated.  Sometimes workarounds are required.&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;[[Known issues with Microsoft Office automation.|This page]]&amp;lt;/u&amp;gt; is dedicated to identifying those issues, provide explanations and list solutions or workarounds.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32144 Microsoft Office Access (by randallc)] - Automate Microsoft Access.&lt;br /&gt;
* Microsoft Office Excel (by water et al.) - This UDF is included in AutoIt. Link to the [[Excel_UDF|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135312 Microsoft Office Excel Charts (by water, GreenCan)] - Creating charts using Microsoft Excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204034 Microsoft Office Excel Pivot Tables (by SudeepJD)] - Create and Update Excel Pivot Tables and Charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126305 Microsoft Office Outlook (Items) (by water)] - Automate Microsoft Outlook Items. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202451 Microsoft Office Outlook (GUI) (by water)] - Automate Microsoft Outlook GUI. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197346 Microsoft Office Outlook Tools (by water)] - Built on top of the OutlookEX UDF it offers some often needed extended functionality (import/export ics/vcf files etc.). Link to the [[OutlookTools|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50254 Microsoft Office PowerPoint (by Toady)] - Automate Microsoft PowerPoint.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=178783 Microsoft Office PowerPoint (by water)] - Automate Microsoft PowerPoint. Link to the [[Powerpoint|documentation]] pages.&lt;br /&gt;
* Microsoft Office Word (by water et al.) - This UDF is included in AutoIt. Link to the [[Word_UDF|documentation]] pages.&lt;br /&gt;
&lt;br /&gt;
===OpenOffice/LibreOffice===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210514 LibreOffice Suite (by donnyh13)] - A huge list of functions for LibreOffice Base, Calc and Writer. Link to the [[LibreOffice|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151530 OOo/LibO Calc (by GMK)] - OpenOfficeCalc UDF (works also for Libre Office).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185932 OpenOffice/LibreOffice Spell Checker (by GMK)] - Function to validate words, and show spell alternatives.&lt;br /&gt;
&lt;br /&gt;
===Other Applications===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106163 Active Directory (by water)] - Extensive library to control and manipulate the Windows active directory ([https://www.autoitscript.com/forum/files/file/355-ad-active-directory-udf/ Download]). Link to the [[Active_Directory_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87956 Java (by seangriffin)] - Creates an access bridge between your application and a Java application. Allowing you to automate some Java applications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86574 SAP (by seangriffin)] - SAP business management automation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149540 SAPWizard (by ozmike)] - SAPWizard UDF.&lt;br /&gt;
&lt;br /&gt;
== Script Coding/Analyzing/Debugging ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209528 ArrayCombinations (by AspirinJunkie)] - Different ways of composing elements of a set.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155442 ArrayMultiColSort (by Melba23)] - Function to sort a 2D array on several columns.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209523 ArrayPlus (by AspirinJunkie)] - Functions for flexible Array handling (create, extract, rebuild, sort, filter, find, print)&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180467 ArrayWorkshop (by czardas)] - Multidimensional array functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=59174 Associative array functions (by Nutster)] - Manage a version of associative arrays in single AutoIt variables. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=198929 AutoIt error logger (AUERLO) (by user4157124)] - File- and stdout (etc.) output of messages, errors, exit method and -code, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110379 AutoItObject (by ProgAndy and others)] - Brings the Object Orientation programming paradigm to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112879 AutoIt Syntax Highlight (by MrCreatoR)] - Highlights AutoIt v3 syntax code to html/bbcode format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191488 cDebug (by c.haslam)] - Dumps the values of all AutoIt subtypes and expressions including nested arrays, DLL structs and maps.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor (by Nine)] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195882 ErrorLog (by mLipok)] - Logs program activities and errors to different output locations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211718 FuzzyString (by AspirinJunkie)] - Fuzzy string comparison and search in string arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143167 GetOpt (by dany)] - Parse GNU and DOS style command line options similar to getopt().&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog (by t0nZ)] - Logs made easy.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156196 Log4a (by zorphnog)] - Logging library loosely based upon the log4j and NLog libaries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195862 Loga (by Danyfirex)] - Simple logging library to keep track of code with an integrated console.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119032 Log UDF (by Yashied)] - Create a text log files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202832 OnDebugMsgBox (by argumentum)] - Catch the dreaded &amp;quot;AutoIt Error&amp;quot; MsgBox and prettify or hide it.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209529 Set (by AspirinJunkie)] - Provides a set data type and brings the corresponding mathematical functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200660 Variants and Safearrays (by LarsJ)] - Create/access/process Variants and SafeArrays.&lt;br /&gt;
&lt;br /&gt;
=== Inter Process Communications ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202485 AppInteract (by MrCreatoR)] - Reliably pass arrays or other types between processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC (by Kanashius)] - Inter Process Communication using TCP/IP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=205109 AutoItSharedData (by SEuBo)] - Create a shared data storage, a simple AutoItObject-Object, using AutoItObject_Internal.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188991 Autoit-Socket-IO (by tarretarretarre)] - Event driven TCP/IP wrapper inspired by Socket.IO with focus on user friendliness and long term sustainability.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126936 Container (by MrCreatoR)] - Scripts interaction method. Allows to transfer whole arrays as data, and even COM objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=55994 DDEML (by doudou)] - Use your AutoIt script as DDE client or server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193277 FMIPC (by argumentum)] - IPC via FileMapping.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127615 Interprocess (by JScript)] - Remotely execute a function in another script (using Mailslot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193158 IPC_IO (by JohnWIlling)] - IPC library supporting multiple connection types (such as: Named Pipe, File, TCP, SharedMemory, MailSlot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202618 IPC Techniques through ROT Objects (by LarsJ)] - Implementing IRunningObjectTable Interface.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106710 Mailslot (by trancexx)] - IPC using Mailslots.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204734 Overlapped Named Pipe IPC (by Nine)] - Very fast interprocess communication that could be used between VBS or AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169797 Pool - Post Office for Organized Labour (by RTFC)] - Provides multiple AutoIt processes with an infrastructure for exchanging messages, data, and remote-control instructions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202587 WCD IPC (by Nine)] - Framework for Inter Process Communication using Windows Messages WM_COPYDATA.&lt;br /&gt;
&lt;br /&gt;
=== Parallel/concurrent processing ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork (by argumentum)] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186853 _Multiprocess (by jguinch)] - Run several external programs at the same time and retrieve the exit code of each process.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask (by Gianni)] - Easily run and manage many processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking (by Network_Guy)] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT (by Nine)] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
&lt;br /&gt;
== Files, Databases and web connections ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180850 ADO (by mLipok)] - A modifed version of the _SQL UDF to access all kind of databases (MSSQL, MySQL, PostgreSQL, SQLite, MS ACCESS, XLS, TXT, and many other which use ADO and ODBC).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105875 ADODB (by spudw2k)] - ADODB Example.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 AXML (by Aipion)] - This is a Wrapper for Pugixml, made with C++.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145142 DBF (by funkey)] - dBase database read and write with DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/topic/114406-csv-file-to-multidimensional-array/#findComment-799820 CSV (by ProgAndy)] - Read/write CSV files to/from 2D arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197909 CSV (by seangriffin)] - Manipulate CSV files using SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155748 CSVSplit (by czardas)] - Convert to and from CSV format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151116 DIF (by willichan)] - Read/write DIF (Data Interchange Format) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119238 Excel file generation (by jerome)] - Excel file generation (multi-sheet workbook) without the need to have Excel installed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143866 Excel XML (by FireFox)] - Work with SpreadsheetML (Open XML file formats).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155905 EXml (by jdelaney)] - Create Excel file (SpreadsheetML) through &amp;quot;Microsoft.XMLDOM&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116072 EzMySql (by Yoriz)] - Use MySQL Databases with AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148232 _FileGetProperty (by BrewManNH)] - Retrieve properties of a file.Xml2Json&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94920 FireBird (by eltorro)] - FireBird, Interbase DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx (by DXRW4E)] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197421 jq (by TheXman)] - Brings the power and flexibility of jq (an open-source command-line based JSON processor) to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209502 JSON (by AspirinJunkie)] - Interacting with JSON data in AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104150 JSON (by Gabriel13)] - RFC4627 compliant JSON encode/decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148114 JSON (by Ward)] - JSMN - A Non-Strict JSON UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156794 JSON (by ozmike)] - Bridge to Native Windows JSON plus OO extension for AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC (by seangriffin)] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173797 JSONgen (by Jefrey)] - Generate JSON.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127101 MS SQL (by TheLuBu)] - MSSQL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51952 MS SQL (by ChrisL)] - _SQL. ADODB Connection.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20814 MySQL (by cdkid)] - MySQL relational database management system.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85617 MySQL (by ProgAndy)] - MySQL UDFs (without ODBC - working with libmysql.dll).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=122360 MySQL (by James)] - MySQL ODBC Connector.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187223 romaSQL (rynow)] - Built on the concept of Laravel Query &amp;amp; doctrine. Connection string is based on ADODB / ODBC.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143331 Sharepoint 2007/2010 (by schoppet)] - Access the SOAP-Webservices of Sharepoint 2007/2010.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17099 SQLite (by ptrex)] - SQLite is a library that implements a self-contained, embeddable, zero-configuration SQL database engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=142977 SQLite Array Functions (by SmOke_N)] - SQLite Array Functions - a faster method for unique arrays and sorting methods.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140521 SQLite - Database (by PhoenixXL)] - UDF for SQLite so that beginners will also be able to do the stuff.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157853 SQLiteEx (by 57ar7up)] - SQLiteEx UDF v0.5.1 - Simplest work with SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163633 Xbase I/O (by RTFC)] - Transfer data between Xbase Data file (*.dbf) and AutoIt array written in pure AutoIt (no SQL, no ADO, no dlls, no external dependencies).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209526 xlsxNative (by AspirinJunkie)] - Read and write xlsx files without excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=19848 XML DOM Wrapper (by eltorro)] - Supports CRUD operations on XML. Including XSL and XPath.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 XML (by mLipok)] - New version of XML DOM Wrapper, with many new features.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208932 Xml2Json (by TheXman)] - Transform XML to JSON.&lt;br /&gt;
&lt;br /&gt;
== Data compression ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85094 7z, zip, gzip, bzip2, tar (by rasim)] - Extensive library that uses a external DLL that must be provided with the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92958 gZip (by Zinthose)] - Based on the parsing of gZip.exe output. It can work with memory, it doesn&#039;t work with files. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87441 LZMA (by trancexx)] - LZMA (Native Windows).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138838 Package (by Yashied)] - Package UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129529 pZip (by asdf8)] - PureZIP_L library UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=76176 UnRAR (by rasim)] - UnRAR.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17727 XZip (by eltorro)] - Another UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161847 XZip (by mLipok)] - UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44524 Zip plugin (by eltorro)] - Zip plugin.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73425 ZIP (by torels)] - ZIP UDF in pure AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116565 zip (by wraithdu)] - Create ZIP files and unpack ZIP files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135565 ZIP (by joakim)] - ZIP STRUCTS UDF (from scratch).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87284 ZLib (by monoceres)] - Based on ZLib.dll. It can compress/uncompress data in memory, it doesn&#039;t work with files.&lt;br /&gt;
&lt;br /&gt;
== Encryption and hash ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81332 _Base64Encode, _Base64Decode (by trancexx)] - Fast _Base64Encode, _Base64Decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153246 Base91 and Base128 (by Beege)] - Base91 and Base128 functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155538 Codecrypter (by RTFC)] - Encrypt scripts without placing the key inside the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=201002 Cryptography API: Next Gen (by TheXman)] - Microsoft&#039;s long-term replacement for their CryptoAPI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210901 Enigma (by willichan)] - Simple encryption based on the Enigma Machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203990 GDPR (by mLipok)] - Functions to encrypt/decrypt strings and files with the GDPR in mind.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95558 Hashes for files (by trancexx)] - Fast RC32, MD4, MD5, SHA1 calculation for big files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107784 TrueCrypt (by FuryCell)] - TrueCrypt UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140737 WinTrust (by kasty)] - verify the integrity of a file with its embedded signature or a given catalog.&lt;br /&gt;
&lt;br /&gt;
== GUI Additions ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast (by genius257)] - Native Win8+ toast notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97241 3D Pie chart (by WideBoyDixon)] - 3D Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173924 Chart_UDF (by Kanashius)] - This UDF can be used to Display bar charts in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96258 ContextHelp (by Yashied)] - Management of context help ([https://www.autoitscript.com/forum/index.php?showtopic=72152-contexthelp/ original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211475 DarkMode (by NoNameCode)] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109096 ExtMsgBox (by Melba23)] - A very customisable replacement for MsgBox.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx (by BugFix)] - Another kind of group, versatile changeable.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105582 GUICtrlOnChangeRegister (by Mat)] - Call a function when an edits content is changed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme (by WildByDesign)] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145149 GUIExtender (by Melba23)] - Expand and contract sections of your GUI ([https://www.autoitscript.com/forum/index.php?showtopic=117909 original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197654 GuiFlatButton (by kurtykurtyboy)] - Change colors of regular buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119505 GUIFrame (by Melba23 &amp;amp; Kip)] - Divide a GUI into adjustable frames.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=144207 GUI Panel (by FireFox)] - Manage child GUIs as panel ctrls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113723 GUI Scrollbars (by Melba23)] - Automatically sized scrollbars with a single command.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161184 MetroGUI (by BBs19)] - Windows 10 style buttons, toggles, radios etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 Modern tray menu (by Holger)] - Allows the creation of modern, fancy GUI and tray menus with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194693 MTSkin (by Taskms4)] - Simply create modern looking GUIs (borderless GUI, Interactive menu panel (with mouse-over detection), a bunch of skins).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182136 Notifications (by S3cret91)] - Display permanent desktop notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=136149 Notify (by Melba23)] - Small notifications on the edge of the display.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161750 Pie chart (by Andreik)] - Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75429 Real Vista Aero Glass (by James)] - Real Vista Aero Glass UDF - you can apply glass effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF (by Nine)] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=71811 SetOnEvent (by martin)] - Provides an easy way for an event to call functions with parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=103871 _SysTray (by wraithdu)] - Get info about and manipulate Systray icons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108445 Toast (by Melba23)] - Small message GUIs which pop out of the Systray.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110003 Tray Icon Bar Graph (by BeeGee)] - Creates a scrolling bar graph as the tray icon.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=132864 Uskin (by JScript)] - Allows you to skin your GUI using the Windows &#039;&#039;.MSstyles&#039;&#039; files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191821 Wi3SMenu (by NHD)] - Create a slide menu with Windows 10 style. Supports color, icon and opacity.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129196 WinSnap (by Beege)] - Automatic Window Alignment by applying that &amp;quot;snappy edge&amp;quot; effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32494 XSkin (by Valuater)] - Allows skinning of your GUI and to apply custom skins.&lt;br /&gt;
&lt;br /&gt;
=== Controls ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202529 BrowseForFolder (by MrCreatoR)] - Handle SHBrowseForFolderW with more options, such as multi selection (checkboxes), window position, controls text and more. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=146406 Calendar (by jmon)] - Calendar UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125293 ChooseFileFolder (byMelba23)] - Single and multiple selections from specified path treeview listing.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96464 Colorpicker (by Yashied)] - Create a button for the user to select a color.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker (by Nine)] - Date Range Picker Control.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=123409 Explorer Frame UDF (by Beege)] - Takes any frame created by GUIFrame and turns it into a MS-Windows like Explorer window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview (by Kanashius)] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173929 GDIPlus Slider UDF (by Kanashius)] - This UDF can be used to create a slider with an imagebackground and an image to move.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=79412 Graph control (by andybiochem)] - Easily create and show bar chart and line charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104399 GraphGDIPlus UDF (by andybiochem)] - Easily create and show bar chart and line charts with GDI+ to take advantage of double-buffering.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105682 GUICtrlCreateFinder (by Mat)] - Allows you to create a window finder control like the one seen in AutoIt Window Info.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107965 GUIHotkey (by Mat)] - UDF for using native hotkey controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182492 GUIListViewEx (by Melba23)] - Insert, delete, move, drag, sort, edit and colour ListView items.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111438 GUIPager (by Mat)] - Create and control native pager controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 GUI/Tray Menu (by Holger, LarsJ, AZJIO)] - GUI/Tray Menu with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166594 GUITreeViewEx (by Melba23)] - Check/clear parent and child checkboxes in a TreeView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=90598 Hotkey input control (by Yashied)] - Hotkeys Input Control UDF Library (Non-native).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173932 ListView Edit UDF (by Kanashius)] - This UDF can be used to simply edit an Listview.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109355 ListView - Explorer like ListView UDF (by Beege)] - This UDF simplify creating MS Explorer-like ListViews.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143711 Marquee (by Melba23)] - Make tickertape info bars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143380 Predict Text UDF (by PhoenixXL)] - Sub classes the edit control and matches the current word through the Database &amp;amp; sets selection in accordance.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163939 Progressbar new style (by Muzaiyan)] - New styles for your progress bar.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74649 Progressbar with GDIplus (by ProgAndy)] - You even can use full textured images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151636 RestrictEdit_SRE UDF (by PhoenixXL)] - Restrict the text that can be entered in an editbox through a String Regular Expression.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128242 Ribbon (by trancexx)] - UDF for Windows Ribbon framework.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114034 StringSize (by Melba23)] - Automatically size controls to fit the text you want to put in them.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126958 Syslink (by Yashied)] - Provides a convenient way to embed hypertext links in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105814 Table (by andybiochem)] - Table UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211024 Toggle Button (by Andreik)] - Create simple toggle buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125251 TVExplorer (by Yashied)] - Allows to create TreeView (TV) Explorer controls that display a tree of files and folders.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=190659 Virtual Listview (by LarsJ)] - Virtual Listview for large amounts of data with a large number of rows.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195053 Windows Message Monitor (by LarsJ)] - Monitor Windows Messages of a window or control.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118317 Battery UDF (by Yashied)] - Retrieves various information and current status of the battery(s).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154727 BuildPartitionTable (by RTFC)] - Scans a physical drive&#039;s partition table and returns a partition_table, allocation_table and volumes_table.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155674 CommAPI (by therealhanuta)] - Serial and parallel communication (COM port, RS-232, LPT port) - without installing DLL&#039;s (using Windows API calls).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77731 Device Management (by weaponx)] - Device Management API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97487 DirectShow (by monoceres)] - DirectShow UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164700 DirectSound (by eukalyptus)] - DirectSound UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164701 Direct2D (by eukalyptus)] - Direct2D UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99713 Drive Info (by NerdFencer)] - Gathers drive info for Hard Drives, Disk Drives, and Floppy Drives.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138989 FritzBox (by Allow2010)] - _FB_Tools - manage your FritzBox from Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121084 I/O Port Functions (by Ascend4nt)] - Input/Output UDF for interacting with ports (x64 Parallel Port, Keyboard etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203207 MediaDevice (by Danyfirex)] - Transfer files to portable devices like phones, storages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php=showtopic=213296 Monitor (by Trong)] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154350 Monitor Configuration (by jaberwacky)] - Monitor Configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155469 Mouse (by AlmarM)] - AutoIt powered mouse events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=147325 MouseTrapEvent (by ozmike)] - MouseTrapEvent UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149083 NetInfo (by Nessie)] - UDF for test internet download speed and upload speed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155539 Network configuration (by jguinch)] - Network configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182684 Nitgen (by Jefrey)] - UDF to work with Nitgen fingerprint readers that use NGenBio SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210968 Printer Manager (by Nine)] - Manage printers with winspool.drv DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155485 Printers management with WMI (by jguinch)] - Add/delete printer, driver, port, or obtain configuration, set default printer ...&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=189190 Serial port UDF / COM port UDF (by MazeM)] - It is very similar to CommAPI using kernel32.dll, but all code is packed into a single file without any dependencies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128546 Serial Port/COM (by martin)] - Serial Port /COM Port UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27755 SMARTDRIVE (by ptrex)] - SMART drive Analysis.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158640 SPI Hardware Interface (by Blinky)] - Communicate with the MAX335 chip using the SPI protocol via the LPT (printer) port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=8188 VISA/GPIB (by Angel)] - VISA/GPIB library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68866 Webcam (by LIMITER)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70857 Webcam (by ludocus)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91018 WiFi (by MattyD)] - Low level control over your wireless LAN.&lt;br /&gt;
&lt;br /&gt;
== Information gathering ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29404 Computer information (by JSThePatriot)] - A general purpose library to get various details about a Windows machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151920 NetworkStatistics (by Ascend4nt)] - Network Interface Info, Statistics, and Traffic.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=54039 WinPcap (by JRSmile)] - Wrapper for the windows packet capture library WinPcap.&lt;br /&gt;
* [https://opensource.grisambre.net/pcapau3/ WinPcap (by Nicolas Ricquemaque)] - A library to access the main functionalities offered by the WinPcap driver.&lt;br /&gt;
&lt;br /&gt;
== Internet protocol suite ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207859 cURLX64 (by Beege)] - cURL UDF with x64 support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=137456 cURL (by seangriffin)] - A UDF for transferring data with URL syntax.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187718 HTTP lib (by Jefrey)] - HTTP lib (GET, POST and upload) UDF to simplify HTTP requests, mainly when dealing about POST data or file uploads.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202895 HttpApi (by TheXman)] - HTTP Server API enables applications to communicate over HTTP without using MS Internet Information Server (IIS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=40243 IMAP (by mikeytown2)] - IMAP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108422 IMAP4 (by Tipulatoid)] - IMAP4 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=43515 IRC (by McGod)] - A lightweight library for communicating with IRC servers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159285 IRC (by rcmaehl)] - IRC UDF - Updated Version of Chips&#039; IRC UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=22838 POP3 (by Apzo)] - POP3 library for retrieving email messages. Not compatible with Gmail because it uses SSL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167339 POP3 (by mLipok)] - POP3 UDF According to the 1939 RFC, modified version with Quoted Printable decoder.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154530 Prowl (by mrflibblehat)] - Push notifications to iPhone, iPod touch or iPad using Prowl (Growl client for iOS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138095 SFTP (by Lupo73)] - UDF to support SFTP protocol using PSFTP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154054 Socket UDF (by funkey)] - Socket UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=23860 SMTP (by Jos)] - Smtp Mailer That Supports Html And Attachments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167292 SMTP Mailer UDF (by mLipok)] - Smtp Mailer That Supports Html And Attachments - Modified Version with support to save EML files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81687 SNMP (by enaiman)] - SNMP_UDF for SNMPv1 and SNMPv2c.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP (by MattyD)] - SNMP UDF SNMPv1 and SNMPv2c. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70759 SNMP - MIB protocol (by ptrex)] - Reading toner status from SNMP device with WMI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166579 SSH (by jeanphile)] - Use the SSH protocol very easily in your code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185329 STUN (by j0kky)] - STUN is a protocol that permits you to know your external IP but, more interesting, your external port associated to your internal port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184817 SyslogSend (by Irios)] - This allows sending (BSD) messages to a syslog server using UDP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169774 TCPServer (by Jefrey)] - Multi client, event-based, able to bind console app to socket.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=57022 UPnP Protocol (by ptrex)] - UPnP - Read and Control your devices in side out.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=84133 WinHTTP (by trancexx)] - Access the HTTP protocol for creating GET and POST requests and submitting them with conforming standards, cookies not supported.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77503 WinInet (by -Ultima-)] - Access standard Internet protocols (FTP, Gopher and HTTP). Supports GET/POST requests and cookies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181645 Winsock (by j0kky)] - Create client/server application using native winsock functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF (by Trong)] - TCP/UDP Networking Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191954 WSA_NBTCP (by ripdad)] - Windows Sockets API - Non-Blocking Transmission Control Protocol.&lt;br /&gt;
&lt;br /&gt;
== Maths ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment (By AsprininJunkie)] - Least Squares Adjustment.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170658 Advanced Math UDF (by scintilla4evr)] - Advanced mathematical functions (primes, number sequences, interpolate, calculate values of functions like Riemann zeta etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=102686 Advanced rounding (by Mat)] - Support for different measures of accuracy and 8 ways to resolve tie breaks.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83529 Big number (by eukalyptus)] - Make calculations with extremely large numbers that AutoIt normally is not able to support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106551 Decimal To fraction (by Malkey)] - Converts any decimal number to a fraction. Example: 1.2 to 6/5.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162921 Eigen4AutoIt (by RFTC)] - Allows to perform fast matrix operations on large numerical data sets, and much more ....&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra (by AspirinJunkie)] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140789 MathsEx UDF (by PhoenixXL)] - Functions for Carrying Out More Advanced Mathematical Calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81189 Number base conversion (by james3mg)] - From, to and between positive bases less than 63 (decimals supported).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117156 NumToWord (by Mat)] - Convert numerals to a human readable string.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108803 Polynomials (by Mat)] - Functions for using polynomials.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83091 Primes (by jennico)] - Many functions dealing with prime number generation and calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94770 Roman Numerals (by AZJIO)] - Roman Numerals.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98160 Root function (by Mat)] - Working out real roots of numbers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209527 Stat (by AspirinJunkie)] - Statistics for Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163899 StringAPL (by minx)] - inline APL interpreter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=82722 Trigonometric and math functions (by trancexx)] - _ATan2(), _Cosh(), _Frexp(), _Hypot(), _Ldexp(), _Logb(), _Sinh(), _Tanh().&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95357 FreeImage library (by ProgAndy)] - Various operations on images, such as rotate, resize, flip.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll (by Trong)] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127263 HtmlHelp (by Geodetic)] - HtmlHelp functions for context-sensitive help from CHM (compiled HTML) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116009 HyperCam (by seangriffin)] - HyperCam (Screen Recording) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182535 HyCam2 (by willichan)] - Automation for HyCam2 screen recording utility.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50608 OCR (by ptrex)] - Real OCR in AU3 - MODI with MS Office 2003.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=89542 OCR (by seangriffin)] - Tesseract (Screen OCR) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206133 OCRSpace (by MrKm)] - Convert Images to text with the OCRSpace API. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51054 Printer controller (by martin)] - Print text in any font, size and colour at any position on the page, draw lines, curves, elipses, pies in any colour, and print images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73993 Printing (by GRS)] - Printing from AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202621 QRCreator (by BugFix)] - Simple QR-code creation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161831 RTF_Printer (by mLipok)] - Printing RichEdit in the background.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94834 Simple DirectMedia Layer (by AdmiralClaws)] - Adds support for joysticks, CDs, 2D graphics, timers. See [https://www.libsdl.org/ SDL website] for more information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207324 UWPOCR (by Danyfirex)] - Universal Windows Platform Optical Character Recognition API.&lt;br /&gt;
&lt;br /&gt;
===Graphics and image===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202987 AutoYolo3 (by smartee)] - Real-Time Object Detection using YOLOv3 wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113881 au3Irrlicht2 (by JRowe)] - Combining Irrlicht and AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86748 AVI writing udf (by monoceres)] - Create uncompressed avi&#039;s from bitmap files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27362 Bitmap Library (by evilertoaster)] - Bitmap Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202663 GIF animation (by Nine)] - Fast cached GIF animation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150231 GTK+  (by prazetto)] - GTK+ Framework | Widgets.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=13096 ImageGetInfo (by Lazycat)] - Read info from JPEG, TIFF, BMP, PNG and GIF - size, color depth, resolution.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/471-image-search-udf Image Search (by VIP)] - Search for an image on the desktop. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70506 IrrLicht (by A. Percy)] - A 3D graphics engine suitable for creating games.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160732 OpenCV (by myliseJ)] - UDF for the OpenCV library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206432 OpenCV v4+ (by smbape)] - OpenCV UDF with support for OpenCV v4+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151011 OpenGL (by LarsJ)] - OpenGL without external libraries etc. For JPEG files it also retrieves various Exif information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148129 OpenGL (2.0) (by minx)] - New set of UDFs for OpenGL + AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152950 S3D (by Starg)] - Draw simple 3D graphics with GDI+.&lt;br /&gt;
&lt;br /&gt;
===Players===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114143 VLC (by seangriffin)] - VLC (Media Player) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91316 VLC Media Player (by ptrex)] - VLC Media Player.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27352 WMP (by ConsultingJoe)] - Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44008 WMP - Media Controls (by CFire)] - Another Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203154 WMP - GUI Control (by SudeepJD)] - IE based WMP Control.&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83481 BASS Function Library (by BrettF)] - Sound and Music via wrappers for Bass, BassEnc, Bass FX, BassSFX, BassAsio and BassCd DLLs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173808 libZPlay (by Danyfirex)] - Multimedia library for playing mp3, mp2, mp1, ogg, flac, ac3, aac, oga, wav and pcm files and streams.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=37072 MIDI (by eynstyne)] - MIDI UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208116 MIDI (by MattyD)] - Wrap of the Windows MIDI functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114742 SAPIListBox (by seangriffin)] - SAPIListBox (Speech Recognition) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=100439 TTS (by Beege)] - Text-to-Speech UDF.&lt;br /&gt;
&lt;br /&gt;
== PDF ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162195 Acrobat Reader - ActiveX Viewer (by mLipok)] - Make your own PDF Viewer GUI with Acrobat Reader ActiveX COM Object &amp;quot;AcroPDF.PDF.1&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164469 Debenu PDF Viewer SDK (by mLipok)] - A collection of functions to display PDF files in your applications using Debenu PDF Viewer SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160875 Debenu Quick PDF Library (by mLipok)] - A collection of functions for Debenu Quick PDF Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75832 FoxIt Reader (by ptrex)] - PDF Reader in AU3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118827 MPDF (by taietel)] - Create PDF from your application.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=42776 PDFCreator (by ptrex)] - Automation of PDFCreator allows you to create and manipulate PDF files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170550 PDFCreator (by mLipok)] - UDF for PDFCreator v1.x.x with working EVENTs Handler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32261 _StringToPDF (by Tam0r)] - Write a string to a PDF file and specify font size, type etc.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145158 Firewall (by JLogan3o13)] - Control and manipulate the Windows Firewall (enable/disable, Exclusions list, enable/disable ports etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194015 Firewall policy2 (by Bilgus)]- Provides access to the firewall policy for Windows Vista+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150819 VirusTotal (by Danyfirex)] - VirusTotal API 2.0 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred (by DonChunior)] - Interface to the Windows Credential Management API.&lt;br /&gt;
&lt;br /&gt;
== Social Media and other Website API ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159254 Cex.io (by AquilesCrespo)] - UDF script for using with the web api from https://cex.io/ server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169333 CrowdinAPI (by mLipok)] - Uses the [https://crowdin.com/page/api crowdin.net website API] for some functions (create projects, add and update files, download translations or integrate localization).&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/290-dropbox-authenticator/ Dropbox authenticator (by Gimerly)] - Dropbox authenticator.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158106 Easypost (by dcat127)] - Print USPS Postage Labels.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114801 eBay (by seangriffin)] - eBay UDF (functions GetItemStatus and GetSingleItem from the &amp;quot;Shopping API&amp;quot;).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=141340 Gmail (by PhoenixXL)] - Remote Gmail (UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192422 Gmail API (by Ascer)] - Automate communication with Gmail using oAuth 2.0 security. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98504 Google Functions (by Beege)] - Google Functions (Suggestions, Definitions, Translate, Convert).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=115437 Google Maps (by seangriffin)] - Google Maps UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70675 iTunes (by torels)] - iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101802 iTunes (by Beege)] - Another iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150985 No-IP (by Nessie)] - Simply update your no-ip hostname(s) and retrieve the ip address of an no-ip address.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192391 oAuth (by Ascer)] - Open standard for access delegation, commonly used to grant websites or applications access to other websites.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150838 PasteBin (by mrflibblehat)] - Pastebin UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121767 Skype (by FireFox)] - Skype4COM provides an ActiveX interface to the Skype API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113234 Teamspeak 3 (by chipDE)] - Teamspeak 3 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186944 TeamViewer API (by mLipok)] - A collection of function for use with TeamViewer API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186381 Telegram Bot (by LinkOut)] - UDF for [https://core.telegram.org/api Telegram messenger API].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166547 TVmaze.com API (by BBs19)] - TVmaze.com API UDF (TV-Series).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116600 Twitter (by seangriffin)] - Manage Twitter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149247 Yahoo Weather (by Nessie)] - Yahoo Weather API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112775 Youtube Uploader (by BrettF)] - AYTU - AutoIt Youtube Uploader.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50880 ACL (by ptrex)] - Set ACL on windows Objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134508 ACL (by FredAI)] - Do most everything with the DACL and ownership on all types of objects: Files or folders, Registry keys, services, Kernel and WMI objects, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206400 BITS (by DonChunior)] - Background Intelligent Transfer Service to download files from or upload files to HTTP web servers and SMB file shares.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184937 CertUtil (by mLipok)] - Wrapper for windows certutil.exe (command-line program that is installed in Windows as part of Certificate Services).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113560 FileSystemMonitor (by seangriffin)] - Monitors the file system by recording all file system events occurring within a given path.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111018 ITaskBarList (by Beege)] - ITaskBarList UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74118 Local account (by engine)] - Manage local accounts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161193 Magnifier Functions (by Ascend4nt)] - Exposes most of the useful Magnifier API functions available since Windows Vista.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75250 Registry (by engine)] - Windows Registry UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50551 Registry (by seanhart)] - RegWriteAllUsers / RegDeleteAllUsers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=80201 Service (by arcker)] - Build your own service with AutoIt code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124508 Startup (by guinness)] - Create Startup entries in the Startup Folder or Registry.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164756 SCCM (by JLogan3o13)] - Systems Center Configuration Manager Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134628 System restore (by FredAI)] - System restore UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186111 SubstWrapper (by mLipok)] - Wrapper for windows subst.exe command - (Associates a path with a drive letter).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135994 Taskplanner/Taskscheduler COM (by Allow2010)] - an UDF for using the Windows Taskplaner / Task Scheduler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83355 Task Scheduler (by dbzfanatic)] - Task Scheduler UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200068 TaskScheduler (by water)] - Brushed up Task Scheduler UDF. Link to the [[TaskScheduler|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173934 TTS (by Kanashius)] - Used with SAPI Automation Object - text-to-speech (TTS) engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158377 UAC (by AdamUL)] - User Account Control (UAC) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=175719 Utter (by Surya)] - Utilizing more of SAPI (Speech Recognition UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127075 WIMGAPI (by Homes32)] - Manipulate Windows Image Files (.wim) without ImageX.exe.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=28436 Windows Events (by Emperor)] - Create your own Windows events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=6487 Windows Service Control functions (by SumTingWong)] - Some limited functions to control services (create, start, stop, delete, check ...).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81880 Windows Services (by engine)] - Windows Services UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163178 WRMF (by Luigi)] - WRMF - Windows Registry Monitor Call Function.&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/topic/178871-dllcall-with-c-example/#comment-1285754 SMSApi (by mLipok)] - UDF for SMSAPi which provides SMS services. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/index.php?showtopic=178589 BulkSMS (by Skysnake)] - UDF for BulkSMS which provides SMS services. --&amp;gt;&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145099 _AdlibEnhance (by JScript)] - Enhance Adlib to call functions with parameters, pause and resume.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160936 Android (by Moriba)] - Control any Android device.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97826 Animated tray icons (by Yashied)] - Make animated tray icons easily.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163577 Atom Table (by Ascend4nt)] - Store (add, find, delete, and query) strings locally (at program level) or globally (at OS level) with unique numerical identifiers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170087 Barcode generators (by willichan)] - Creates a Code128A/B/C or Creates a Code39 or Code39Extended optimized barcode from supplied data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211660 BlockInput (by Nine)] - Block all input coming from mouse and/or keyboard, without having an UAC warning displayed. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87735 BlockInputEx (by MrCreatoR)] - Supports a few features that built-in BlockInput() function does not.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29763 Clipboard (by eltorro)] - When apps need to watch the clipboard.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170630 ClipboardEx (by ozmike)] - Allows to have more than 1 item in the Clipboard. Handles all data types, not just text.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81267 Clipboard History (by wraithdu)] - Save and restore the entire clipboard contents. Inspired by AHK&#039;s ClipboardAll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169610 CmdLine (by Jefrey)] - Collection of functions to parse command line arguments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126569 Console (by Shaggi)] - Functions and features to work wiht Console input/output.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121833 Copy (by Yashied)] - Copy or move files and directories without suspending your script. Retrieve the current state (copied bytes, error code etc.) while copying.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154684 Date / Time convert (by Melba23)] - Transform date/time formats.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99106 _DLLStructDisplay (by Ascend4nt)] - Show Struct in ListView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157689 _FileGetMimeType (by Wiliat87)] - Retrieve MIME types based on the extension of the filename/filepath/URL provided.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117033 File locking with cooperative semaphores (by willichan)] - Simple file locking without a server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157241 FindMimeFromData (by twbradio)] - FindMimeFromData using urlmon.dll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181997 Font Icon (by J2TeaM)] - Use Font Awesome in your AutoIt project.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68422 HotString (by jvanegmond)] - Similar to the HotKey function but trigger on a string, instead of a key or key combination.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173946 LASM - Light Assembler (by minxomat)] - Inline UDF for an Assembler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161628 LFN (by orbs)] - Overcome MAX_PATH limit of 256 chars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111492 Link Grammar for AutoIt (by JRowe)] -  Input is a regular sentence in English, German or Italian, output is a pattern parsed from the structure of the sentence.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/147-mruau3 MRU (by Yashied)] - Most Recently Used (MRU) List Automation functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188158 .NET Common Language Runtime (CLR) Framework (by Danyfirex, Junkew, Larsj, ptrex, Trancexx)] - Allows AutoIt to access .NET Class Libraries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101733 NoFocusLines (by Melba23)] - Remove the dotted focus lines from buttons, sliders, radios and checkboxes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149176 NotifyIcon (by FireFox)] - Create, delete and manage self notify icons (formerly TrayIconEx). &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=63318 PixelGetColor (by Manadar)] - Get or Read Pixel from memory.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167024 RDC (by Yashied)] - ReadDirectoryChanges Wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51103 Resources (by Zedna)] - Embed any binary data into your AutoIt compiled EXE files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162499 ResourcesEx (by guinness)] - Up to date version of Zedna&#039;s Resources UDF. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111215 Restart (by Yashied)] - Allows to restart a script from any location with full restoration of the original command line parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51547 SciLexer (by Kip)] - Editing control, supports multiple editors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152093 ScriptEditor (by pandel)] - ScriptEditor with I18N support and customizable lexer completely written in AutoIt (based on SciLexer).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162033 Spell Checker (by iCode)] - Spell Checker functions to call Hunspell, Hyphenate and MyThes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164444 Synology filestation (by nend)] - Functions to interact with a Synology NAS server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163328 TimeConvert (by orbs)] - Convert UTC to/from local time, and/or reformat the string representation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint (by UEZ)] - Creating barcodes using the Zint.dll.&lt;br /&gt;
[[Category:UDF]]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15289</id>
		<title>User Defined Functions</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15289"/>
		<updated>2026-05-10T17:35:09Z</updated>

		<summary type="html">&lt;p&gt;Water: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
This page is a listing of libraries of &#039;&#039;&#039;user defined functions&#039;&#039;&#039; (UDF). These libraries have been written to allow easy integration into your own scripts and are a very valuable resource for any programmer.&amp;lt;br /&amp;gt;&lt;br /&gt;
This list is probably not complete (410 UDFs on 2026-05-10), but constantly supplemented.&lt;br /&gt;
If you do not find a solution here, ask a new question on the [https://www.autoitscript.com/forum/forum/2-general-help-and-support/ forum].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
The listed UDFs might have been written for older versions of AutoIt. So there is no guarantee that every UDF works smoothly with newer versions.&amp;lt;br /&amp;gt;&lt;br /&gt;
None of the UDFs has been tested by the maintainers of this list so you as a user need to make sure that they deliver the expected results.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;When will an UDF be added to this list?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
It should meet all/most of the general requirements for UDFs as described [[UDF-spec|here]].&amp;lt;br&amp;gt;&lt;br /&gt;
In addition the following requirements should be met:&lt;br /&gt;
* &#039;&#039;&#039;Documentation&#039;&#039;&#039;: So users can tell what the UDF is intended to do (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Examples&#039;&#039;&#039;: So users can get an idea how to use the UDF. The more the better (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Operating systems&#039;&#039;&#039;: Should support the latest Microsoft OS (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;AutoIt&#039;&#039;&#039;: Should support the latest version of AutoIt (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Author&#039;&#039;&#039;: The author should still be active on the forum so he can reply to questions (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What to do when one of your UDFs is missing?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please send a [https://www.autoitscript.com/forum/messenger/compose/?to=7903 PM] to user water. Add a short description of the UDF and a link to your post in the [https://www.autoitscript.com/forum/forum/9-autoit-example-scripts/ Example Scripts] or [https://www.autoitscript.com/forum/forum/49-autoit-projects-and-collaboration/ Projects and Collaboration] forum.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Added in the past two years&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date !! Section !! Creator !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-10 || [[User_Defined_Functions#Graphics_and_Image|Graphics and Image]] || seangriffin || [https://www.autoitscript.com/forum/imndex.php?showtopic=188682 Box2d] - Physics and game engine.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-07 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || MattyD || [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP UDF] - SNMPv1 and SNMPv2c.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-01 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment] - Least Squares Adjustment.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-04-01 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || WildByDesign || [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-10 || [[User_Defined_Functions#Inter_Process_Communications|Inter Process Communications]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC] - Inter Process Communication using TCP/IP.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-09 || [[User_Defined_Functions#Browsers|Browsers]] || ioa747 || [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt] - Integrate WebView2 into AutoIt via COM. &lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-19 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF] - TCP/UDP Networking Library.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || BugFix || [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx] - Another kind of group, versatile changeable.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-16 || [[User_Defined_Functions#Security|Security]] || DonChunior || [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred] - Interface to the Windows Credential Management API.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || genius257 || [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast] - Native Win8+ toast notifications.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Media|Media]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Hardware|Hardware]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213296 Monitor] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-09-22 || [[User_Defined_Functions#Misc|Misc]] || UEZ || [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint] - Creating barcodes using the Zint.dll.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-07-27 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || DXRW4E || [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-04-16 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || seangriffin || [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-03-22 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-02-26 || [[User_Defined_Functions#Controls|Controls]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-16 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Gianni || [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask] - Easily run and manage many processes.&lt;br /&gt;
|- &lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || NoNameCode || [https://www.autoitscript.com/forum/index.php?showtopic=211475 Darkmode] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Network_Guy || [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-11 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || t0nZ || [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog] - Logs made easy.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || argumentum || [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-21 || [[User_Defined_Functions#Controls|Controls]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker] - Date Range Picker Control.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-06 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place the Table of contents (TOC) here --&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Automation ==&lt;br /&gt;
&lt;br /&gt;
===Browsers===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154439 Chrome (by seangriffin)] - Automate the most common tasks in Chrome with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95595 Firefox (by Stilgar)] - A little less support for automation than IE, but still very good.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167661 Firefox (by Danp2)] - Modified newer version of Stilgar Firefox UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/224-firefox-profile-backup/ FireFox Profile Backup 1.0 (by careca)] - Backup or restore your firefox profile. The application searches for the profile in home drive that will be the one to backup.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _FF_AutoLogin (by Stilgar)] - This is a auto-login function and login-function-generator for FireFox and the FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92035 _FF_DM (by Stilgar)] - UDF to control the FireFox Download-Manager (not the download-window).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91650 _FF_FoxBox (by Stilgar)] - UDF to control Fox!Box (A Mozilla Firefox extension for the AVM FRITZ!Box) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91665 _FF_Screengrab (by Stilgar)] - UDF to control Screengrab! (FireFox-AddOn) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _HTML (by Stilgar)] - Get informations from any HTML (XML) source, without any browser.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166542 HTMLDocumentEvents (by SmOke_N)] - Track IE document events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167035 IEEx (by SmOke_N)] - IE extended library with some Javascript options.&lt;br /&gt;
* Internet Explorer (by DaleHohm et al.) - IE library that is now supplied with a standard AutoIt install.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153520 IUIAutomation MS framework (by junkew)] - IUIAutomation MS framework to automate chrome, FF, IE etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149203 NavInfo (by Nessie)] - With this UDF you can check if a specified browser/software is installed and which version is being used.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=61090 Opera (by MrCreatoR,)] - Automate the most common tasks in Opera with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191990 WebDriver (by Danp2)] - W3C compliant Webriver UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt (by ioa747)] - AutoIt WebView2 Component (COM Interop).&lt;br /&gt;
&lt;br /&gt;
===Microsoft Office===&lt;br /&gt;
Some features of Microsoft&#039;s Office products are proprietary and cannot readily be manipulated.  Sometimes workarounds are required.&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;[[Known issues with Microsoft Office automation.|This page]]&amp;lt;/u&amp;gt; is dedicated to identifying those issues, provide explanations and list solutions or workarounds.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32144 Microsoft Office Access (by randallc)] - Automate Microsoft Access.&lt;br /&gt;
* Microsoft Office Excel (by water et al.) - This UDF is included in AutoIt. Link to the [[Excel_UDF|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135312 Microsoft Office Excel Charts (by water, GreenCan)] - Creating charts using Microsoft Excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204034 Microsoft Office Excel Pivot Tables (by SudeepJD)] - Create and Update Excel Pivot Tables and Charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126305 Microsoft Office Outlook (Items) (by water)] - Automate Microsoft Outlook Items. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202451 Microsoft Office Outlook (GUI) (by water)] - Automate Microsoft Outlook GUI. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197346 Microsoft Office Outlook Tools (by water)] - Built on top of the OutlookEX UDF it offers some often needed extended functionality (import/export ics/vcf files etc.). Link to the [[OutlookTools|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50254 Microsoft Office PowerPoint (by Toady)] - Automate Microsoft PowerPoint.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=178783 Microsoft Office PowerPoint (by water)] - Automate Microsoft PowerPoint. Link to the [[Powerpoint|documentation]] pages.&lt;br /&gt;
* Microsoft Office Word (by water et al.) - This UDF is included in AutoIt. Link to the [[Word_UDF|documentation]] pages.&lt;br /&gt;
&lt;br /&gt;
===OpenOffice/LibreOffice===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210514 LibreOffice Suite (by donnyh13)] - A huge list of functions for LibreOffice Base, Calc and Writer. Link to the [[LibreOffice|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151530 OOo/LibO Calc (by GMK)] - OpenOfficeCalc UDF (works also for Libre Office).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185932 OpenOffice/LibreOffice Spell Checker (by GMK)] - Function to validate words, and show spell alternatives.&lt;br /&gt;
&lt;br /&gt;
===Other Applications===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106163 Active Directory (by water)] - Extensive library to control and manipulate the Windows active directory ([https://www.autoitscript.com/forum/files/file/355-ad-active-directory-udf/ Download]). Link to the [[Active_Directory_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87956 Java (by seangriffin)] - Creates an access bridge between your application and a Java application. Allowing you to automate some Java applications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86574 SAP (by seangriffin)] - SAP business management automation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149540 SAPWizard (by ozmike)] - SAPWizard UDF.&lt;br /&gt;
&lt;br /&gt;
== Script Coding/Analyzing/Debugging ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209528 ArrayCombinations (by AspirinJunkie)] - Different ways of composing elements of a set.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155442 ArrayMultiColSort (by Melba23)] - Function to sort a 2D array on several columns.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209523 ArrayPlus (by AspirinJunkie)] - Functions for flexible Array handling (create, extract, rebuild, sort, filter, find, print)&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180467 ArrayWorkshop (by czardas)] - Multidimensional array functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=59174 Associative array functions (by Nutster)] - Manage a version of associative arrays in single AutoIt variables. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=198929 AutoIt error logger (AUERLO) (by user4157124)] - File- and stdout (etc.) output of messages, errors, exit method and -code, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110379 AutoItObject (by ProgAndy and others)] - Brings the Object Orientation programming paradigm to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112879 AutoIt Syntax Highlight (by MrCreatoR)] - Highlights AutoIt v3 syntax code to html/bbcode format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191488 cDebug (by c.haslam)] - Dumps the values of all AutoIt subtypes and expressions including nested arrays, DLL structs and maps.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor (by Nine)] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195882 ErrorLog (by mLipok)] - Logs program activities and errors to different output locations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211718 FuzzyString (by AspirinJunkie)] - Fuzzy string comparison and search in string arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143167 GetOpt (by dany)] - Parse GNU and DOS style command line options similar to getopt().&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog (by t0nZ)] - Logs made easy.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156196 Log4a (by zorphnog)] - Logging library loosely based upon the log4j and NLog libaries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195862 Loga (by Danyfirex)] - Simple logging library to keep track of code with an integrated console.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119032 Log UDF (by Yashied)] - Create a text log files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202832 OnDebugMsgBox (by argumentum)] - Catch the dreaded &amp;quot;AutoIt Error&amp;quot; MsgBox and prettify or hide it.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209529 Set (by AspirinJunkie)] - Provides a set data type and brings the corresponding mathematical functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200660 Variants and Safearrays (by LarsJ)] - Create/access/process Variants and SafeArrays.&lt;br /&gt;
&lt;br /&gt;
=== Inter Process Communications ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202485 AppInteract (by MrCreatoR)] - Reliably pass arrays or other types between processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC (by Kanashius)] - Inter Process Communication using TCP/IP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=205109 AutoItSharedData (by SEuBo)] - Create a shared data storage, a simple AutoItObject-Object, using AutoItObject_Internal.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188991 Autoit-Socket-IO (by tarretarretarre)] - Event driven TCP/IP wrapper inspired by Socket.IO with focus on user friendliness and long term sustainability.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126936 Container (by MrCreatoR)] - Scripts interaction method. Allows to transfer whole arrays as data, and even COM objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=55994 DDEML (by doudou)] - Use your AutoIt script as DDE client or server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193277 FMIPC (by argumentum)] - IPC via FileMapping.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127615 Interprocess (by JScript)] - Remotely execute a function in another script (using Mailslot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193158 IPC_IO (by JohnWIlling)] - IPC library supporting multiple connection types (such as: Named Pipe, File, TCP, SharedMemory, MailSlot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202618 IPC Techniques through ROT Objects (by LarsJ)] - Implementing IRunningObjectTable Interface.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106710 Mailslot (by trancexx)] - IPC using Mailslots.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204734 Overlapped Named Pipe IPC (by Nine)] - Very fast interprocess communication that could be used between VBS or AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169797 Pool - Post Office for Organized Labour (by RTFC)] - Provides multiple AutoIt processes with an infrastructure for exchanging messages, data, and remote-control instructions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202587 WCD IPC (by Nine)] - Framework for Inter Process Communication using Windows Messages WM_COPYDATA.&lt;br /&gt;
&lt;br /&gt;
=== Parallel/concurrent processing ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork (by argumentum)] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186853 _Multiprocess (by jguinch)] - Run several external programs at the same time and retrieve the exit code of each process.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask (by Gianni)] - Easily run and manage many processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking (by Network_Guy)] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT (by Nine)] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
&lt;br /&gt;
== Files, Databases and web connections ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180850 ADO (by mLipok)] - A modifed version of the _SQL UDF to access all kind of databases (MSSQL, MySQL, PostgreSQL, SQLite, MS ACCESS, XLS, TXT, and many other which use ADO and ODBC).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105875 ADODB (by spudw2k)] - ADODB Example.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 AXML (by Aipion)] - This is a Wrapper for Pugixml, made with C++.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145142 DBF (by funkey)] - dBase database read and write with DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/topic/114406-csv-file-to-multidimensional-array/#findComment-799820 CSV (by ProgAndy)] - Read/write CSV files to/from 2D arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197909 CSV (by seangriffin)] - Manipulate CSV files using SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155748 CSVSplit (by czardas)] - Convert to and from CSV format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151116 DIF (by willichan)] - Read/write DIF (Data Interchange Format) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119238 Excel file generation (by jerome)] - Excel file generation (multi-sheet workbook) without the need to have Excel installed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143866 Excel XML (by FireFox)] - Work with SpreadsheetML (Open XML file formats).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155905 EXml (by jdelaney)] - Create Excel file (SpreadsheetML) through &amp;quot;Microsoft.XMLDOM&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116072 EzMySql (by Yoriz)] - Use MySQL Databases with AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148232 _FileGetProperty (by BrewManNH)] - Retrieve properties of a file.Xml2Json&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94920 FireBird (by eltorro)] - FireBird, Interbase DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx (by DXRW4E)] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197421 jq (by TheXman)] - Brings the power and flexibility of jq (an open-source command-line based JSON processor) to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209502 JSON (by AspirinJunkie)] - Interacting with JSON data in AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104150 JSON (by Gabriel13)] - RFC4627 compliant JSON encode/decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148114 JSON (by Ward)] - JSMN - A Non-Strict JSON UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156794 JSON (by ozmike)] - Bridge to Native Windows JSON plus OO extension for AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC (by seangriffin)] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173797 JSONgen (by Jefrey)] - Generate JSON.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127101 MS SQL (by TheLuBu)] - MSSQL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51952 MS SQL (by ChrisL)] - _SQL. ADODB Connection.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20814 MySQL (by cdkid)] - MySQL relational database management system.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85617 MySQL (by ProgAndy)] - MySQL UDFs (without ODBC - working with libmysql.dll).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=122360 MySQL (by James)] - MySQL ODBC Connector.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187223 romaSQL (rynow)] - Built on the concept of Laravel Query &amp;amp; doctrine. Connection string is based on ADODB / ODBC.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143331 Sharepoint 2007/2010 (by schoppet)] - Access the SOAP-Webservices of Sharepoint 2007/2010.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17099 SQLite (by ptrex)] - SQLite is a library that implements a self-contained, embeddable, zero-configuration SQL database engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=142977 SQLite Array Functions (by SmOke_N)] - SQLite Array Functions - a faster method for unique arrays and sorting methods.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140521 SQLite - Database (by PhoenixXL)] - UDF for SQLite so that beginners will also be able to do the stuff.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157853 SQLiteEx (by 57ar7up)] - SQLiteEx UDF v0.5.1 - Simplest work with SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163633 Xbase I/O (by RTFC)] - Transfer data between Xbase Data file (*.dbf) and AutoIt array written in pure AutoIt (no SQL, no ADO, no dlls, no external dependencies).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209526 xlsxNative (by AspirinJunkie)] - Read and write xlsx files without excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=19848 XML DOM Wrapper (by eltorro)] - Supports CRUD operations on XML. Including XSL and XPath.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 XML (by mLipok)] - New version of XML DOM Wrapper, with many new features.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208932 Xml2Json (by TheXman)] - Transform XML to JSON.&lt;br /&gt;
&lt;br /&gt;
== Data compression ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85094 7z, zip, gzip, bzip2, tar (by rasim)] - Extensive library that uses a external DLL that must be provided with the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92958 gZip (by Zinthose)] - Based on the parsing of gZip.exe output. It can work with memory, it doesn&#039;t work with files. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87441 LZMA (by trancexx)] - LZMA (Native Windows).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138838 Package (by Yashied)] - Package UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129529 pZip (by asdf8)] - PureZIP_L library UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=76176 UnRAR (by rasim)] - UnRAR.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17727 XZip (by eltorro)] - Another UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161847 XZip (by mLipok)] - UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44524 Zip plugin (by eltorro)] - Zip plugin.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73425 ZIP (by torels)] - ZIP UDF in pure AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116565 zip (by wraithdu)] - Create ZIP files and unpack ZIP files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135565 ZIP (by joakim)] - ZIP STRUCTS UDF (from scratch).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87284 ZLib (by monoceres)] - Based on ZLib.dll. It can compress/uncompress data in memory, it doesn&#039;t work with files.&lt;br /&gt;
&lt;br /&gt;
== Encryption and hash ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81332 _Base64Encode, _Base64Decode (by trancexx)] - Fast _Base64Encode, _Base64Decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153246 Base91 and Base128 (by Beege)] - Base91 and Base128 functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155538 Codecrypter (by RTFC)] - Encrypt scripts without placing the key inside the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=201002 Cryptography API: Next Gen (by TheXman)] - Microsoft&#039;s long-term replacement for their CryptoAPI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210901 Enigma (by willichan)] - Simple encryption based on the Enigma Machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203990 GDPR (by mLipok)] - Functions to encrypt/decrypt strings and files with the GDPR in mind.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95558 Hashes for files (by trancexx)] - Fast RC32, MD4, MD5, SHA1 calculation for big files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107784 TrueCrypt (by FuryCell)] - TrueCrypt UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140737 WinTrust (by kasty)] - verify the integrity of a file with its embedded signature or a given catalog.&lt;br /&gt;
&lt;br /&gt;
== GUI Additions ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast (by genius257)] - Native Win8+ toast notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97241 3D Pie chart (by WideBoyDixon)] - 3D Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173924 Chart_UDF (by Kanashius)] - This UDF can be used to Display bar charts in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96258 ContextHelp (by Yashied)] - Management of context help ([https://www.autoitscript.com/forum/index.php?showtopic=72152-contexthelp/ original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211475 DarkMode (by NoNameCode)] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109096 ExtMsgBox (by Melba23)] - A very customisable replacement for MsgBox.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx (by BugFix)] - Another kind of group, versatile changeable.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105582 GUICtrlOnChangeRegister (by Mat)] - Call a function when an edits content is changed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme (by WildByDesign)] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145149 GUIExtender (by Melba23)] - Expand and contract sections of your GUI ([https://www.autoitscript.com/forum/index.php?showtopic=117909 original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197654 GuiFlatButton (by kurtykurtyboy)] - Change colors of regular buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119505 GUIFrame (by Melba23 &amp;amp; Kip)] - Divide a GUI into adjustable frames.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=144207 GUI Panel (by FireFox)] - Manage child GUIs as panel ctrls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113723 GUI Scrollbars (by Melba23)] - Automatically sized scrollbars with a single command.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161184 MetroGUI (by BBs19)] - Windows 10 style buttons, toggles, radios etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 Modern tray menu (by Holger)] - Allows the creation of modern, fancy GUI and tray menus with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194693 MTSkin (by Taskms4)] - Simply create modern looking GUIs (borderless GUI, Interactive menu panel (with mouse-over detection), a bunch of skins).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182136 Notifications (by S3cret91)] - Display permanent desktop notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=136149 Notify (by Melba23)] - Small notifications on the edge of the display.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161750 Pie chart (by Andreik)] - Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75429 Real Vista Aero Glass (by James)] - Real Vista Aero Glass UDF - you can apply glass effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF (by Nine)] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=71811 SetOnEvent (by martin)] - Provides an easy way for an event to call functions with parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=103871 _SysTray (by wraithdu)] - Get info about and manipulate Systray icons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108445 Toast (by Melba23)] - Small message GUIs which pop out of the Systray.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110003 Tray Icon Bar Graph (by BeeGee)] - Creates a scrolling bar graph as the tray icon.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=132864 Uskin (by JScript)] - Allows you to skin your GUI using the Windows &#039;&#039;.MSstyles&#039;&#039; files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191821 Wi3SMenu (by NHD)] - Create a slide menu with Windows 10 style. Supports color, icon and opacity.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129196 WinSnap (by Beege)] - Automatic Window Alignment by applying that &amp;quot;snappy edge&amp;quot; effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32494 XSkin (by Valuater)] - Allows skinning of your GUI and to apply custom skins.&lt;br /&gt;
&lt;br /&gt;
=== Controls ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202529 BrowseForFolder (by MrCreatoR)] - Handle SHBrowseForFolderW with more options, such as multi selection (checkboxes), window position, controls text and more. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=146406 Calendar (by jmon)] - Calendar UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125293 ChooseFileFolder (byMelba23)] - Single and multiple selections from specified path treeview listing.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96464 Colorpicker (by Yashied)] - Create a button for the user to select a color.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker (by Nine)] - Date Range Picker Control.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=123409 Explorer Frame UDF (by Beege)] - Takes any frame created by GUIFrame and turns it into a MS-Windows like Explorer window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview (by Kanashius)] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173929 GDIPlus Slider UDF (by Kanashius)] - This UDF can be used to create a slider with an imagebackground and an image to move.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=79412 Graph control (by andybiochem)] - Easily create and show bar chart and line charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104399 GraphGDIPlus UDF (by andybiochem)] - Easily create and show bar chart and line charts with GDI+ to take advantage of double-buffering.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105682 GUICtrlCreateFinder (by Mat)] - Allows you to create a window finder control like the one seen in AutoIt Window Info.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107965 GUIHotkey (by Mat)] - UDF for using native hotkey controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182492 GUIListViewEx (by Melba23)] - Insert, delete, move, drag, sort, edit and colour ListView items.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111438 GUIPager (by Mat)] - Create and control native pager controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 GUI/Tray Menu (by Holger, LarsJ, AZJIO)] - GUI/Tray Menu with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166594 GUITreeViewEx (by Melba23)] - Check/clear parent and child checkboxes in a TreeView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=90598 Hotkey input control (by Yashied)] - Hotkeys Input Control UDF Library (Non-native).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173932 ListView Edit UDF (by Kanashius)] - This UDF can be used to simply edit an Listview.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109355 ListView - Explorer like ListView UDF (by Beege)] - This UDF simplify creating MS Explorer-like ListViews.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143711 Marquee (by Melba23)] - Make tickertape info bars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143380 Predict Text UDF (by PhoenixXL)] - Sub classes the edit control and matches the current word through the Database &amp;amp; sets selection in accordance.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163939 Progressbar new style (by Muzaiyan)] - New styles for your progress bar.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74649 Progressbar with GDIplus (by ProgAndy)] - You even can use full textured images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151636 RestrictEdit_SRE UDF (by PhoenixXL)] - Restrict the text that can be entered in an editbox through a String Regular Expression.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128242 Ribbon (by trancexx)] - UDF for Windows Ribbon framework.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114034 StringSize (by Melba23)] - Automatically size controls to fit the text you want to put in them.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126958 Syslink (by Yashied)] - Provides a convenient way to embed hypertext links in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105814 Table (by andybiochem)] - Table UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211024 Toggle Button (by Andreik)] - Create simple toggle buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125251 TVExplorer (by Yashied)] - Allows to create TreeView (TV) Explorer controls that display a tree of files and folders.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=190659 Virtual Listview (by LarsJ)] - Virtual Listview for large amounts of data with a large number of rows.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195053 Windows Message Monitor (by LarsJ)] - Monitor Windows Messages of a window or control.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118317 Battery UDF (by Yashied)] - Retrieves various information and current status of the battery(s).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154727 BuildPartitionTable (by RTFC)] - Scans a physical drive&#039;s partition table and returns a partition_table, allocation_table and volumes_table.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155674 CommAPI (by therealhanuta)] - Serial and parallel communication (COM port, RS-232, LPT port) - without installing DLL&#039;s (using Windows API calls).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77731 Device Management (by weaponx)] - Device Management API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97487 DirectShow (by monoceres)] - DirectShow UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164700 DirectSound (by eukalyptus)] - DirectSound UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164701 Direct2D (by eukalyptus)] - Direct2D UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99713 Drive Info (by NerdFencer)] - Gathers drive info for Hard Drives, Disk Drives, and Floppy Drives.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138989 FritzBox (by Allow2010)] - _FB_Tools - manage your FritzBox from Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121084 I/O Port Functions (by Ascend4nt)] - Input/Output UDF for interacting with ports (x64 Parallel Port, Keyboard etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203207 MediaDevice (by Danyfirex)] - Transfer files to portable devices like phones, storages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php=showtopic=213296 Monitor (by Trong)] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154350 Monitor Configuration (by jaberwacky)] - Monitor Configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155469 Mouse (by AlmarM)] - AutoIt powered mouse events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=147325 MouseTrapEvent (by ozmike)] - MouseTrapEvent UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149083 NetInfo (by Nessie)] - UDF for test internet download speed and upload speed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155539 Network configuration (by jguinch)] - Network configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182684 Nitgen (by Jefrey)] - UDF to work with Nitgen fingerprint readers that use NGenBio SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210968 Printer Manager (by Nine)] - Manage printers with winspool.drv DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155485 Printers management with WMI (by jguinch)] - Add/delete printer, driver, port, or obtain configuration, set default printer ...&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=189190 Serial port UDF / COM port UDF (by MazeM)] - It is very similar to CommAPI using kernel32.dll, but all code is packed into a single file without any dependencies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128546 Serial Port/COM (by martin)] - Serial Port /COM Port UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27755 SMARTDRIVE (by ptrex)] - SMART drive Analysis.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158640 SPI Hardware Interface (by Blinky)] - Communicate with the MAX335 chip using the SPI protocol via the LPT (printer) port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=8188 VISA/GPIB (by Angel)] - VISA/GPIB library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68866 Webcam (by LIMITER)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70857 Webcam (by ludocus)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91018 WiFi (by MattyD)] - Low level control over your wireless LAN.&lt;br /&gt;
&lt;br /&gt;
== Information gathering ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29404 Computer information (by JSThePatriot)] - A general purpose library to get various details about a Windows machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151920 NetworkStatistics (by Ascend4nt)] - Network Interface Info, Statistics, and Traffic.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=54039 WinPcap (by JRSmile)] - Wrapper for the windows packet capture library WinPcap.&lt;br /&gt;
* [https://opensource.grisambre.net/pcapau3/ WinPcap (by Nicolas Ricquemaque)] - A library to access the main functionalities offered by the WinPcap driver.&lt;br /&gt;
&lt;br /&gt;
== Internet protocol suite ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207859 cURLX64 (by Beege)] - cURL UDF with x64 support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=137456 cURL (by seangriffin)] - A UDF for transferring data with URL syntax.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187718 HTTP lib (by Jefrey)] - HTTP lib (GET, POST and upload) UDF to simplify HTTP requests, mainly when dealing about POST data or file uploads.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202895 HttpApi (by TheXman)] - HTTP Server API enables applications to communicate over HTTP without using MS Internet Information Server (IIS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=40243 IMAP (by mikeytown2)] - IMAP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108422 IMAP4 (by Tipulatoid)] - IMAP4 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=43515 IRC (by McGod)] - A lightweight library for communicating with IRC servers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159285 IRC (by rcmaehl)] - IRC UDF - Updated Version of Chips&#039; IRC UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=22838 POP3 (by Apzo)] - POP3 library for retrieving email messages. Not compatible with Gmail because it uses SSL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167339 POP3 (by mLipok)] - POP3 UDF According to the 1939 RFC, modified version with Quoted Printable decoder.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154530 Prowl (by mrflibblehat)] - Push notifications to iPhone, iPod touch or iPad using Prowl (Growl client for iOS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138095 SFTP (by Lupo73)] - UDF to support SFTP protocol using PSFTP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154054 Socket UDF (by funkey)] - Socket UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=23860 SMTP (by Jos)] - Smtp Mailer That Supports Html And Attachments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167292 SMTP Mailer UDF (by mLipok)] - Smtp Mailer That Supports Html And Attachments - Modified Version with support to save EML files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81687 SNMP (by enaiman)] - SNMP_UDF for SNMPv1 and SNMPv2c.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP (by MattyD)] - SNMP UDF SNMPv1 and SNMPv2c. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70759 SNMP - MIB protocol (by ptrex)] - Reading toner status from SNMP device with WMI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166579 SSH (by jeanphile)] - Use the SSH protocol very easily in your code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185329 STUN (by j0kky)] - STUN is a protocol that permits you to know your external IP but, more interesting, your external port associated to your internal port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184817 SyslogSend (by Irios)] - This allows sending (BSD) messages to a syslog server using UDP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169774 TCPServer (by Jefrey)] - Multi client, event-based, able to bind console app to socket.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=57022 UPnP Protocol (by ptrex)] - UPnP - Read and Control your devices in side out.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=84133 WinHTTP (by trancexx)] - Access the HTTP protocol for creating GET and POST requests and submitting them with conforming standards, cookies not supported.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77503 WinInet (by -Ultima-)] - Access standard Internet protocols (FTP, Gopher and HTTP). Supports GET/POST requests and cookies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181645 Winsock (by j0kky)] - Create client/server application using native winsock functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF (by Trong)] - TCP/UDP Networking Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191954 WSA_NBTCP (by ripdad)] - Windows Sockets API - Non-Blocking Transmission Control Protocol.&lt;br /&gt;
&lt;br /&gt;
== Maths ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment (By AsprininJunkie)] - Least Squares Adjustment.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170658 Advanced Math UDF (by scintilla4evr)] - Advanced mathematical functions (primes, number sequences, interpolate, calculate values of functions like Riemann zeta etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=102686 Advanced rounding (by Mat)] - Support for different measures of accuracy and 8 ways to resolve tie breaks.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83529 Big number (by eukalyptus)] - Make calculations with extremely large numbers that AutoIt normally is not able to support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106551 Decimal To fraction (by Malkey)] - Converts any decimal number to a fraction. Example: 1.2 to 6/5.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162921 Eigen4AutoIt (by RFTC)] - Allows to perform fast matrix operations on large numerical data sets, and much more ....&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra (by AspirinJunkie)] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140789 MathsEx UDF (by PhoenixXL)] - Functions for Carrying Out More Advanced Mathematical Calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81189 Number base conversion (by james3mg)] - From, to and between positive bases less than 63 (decimals supported).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117156 NumToWord (by Mat)] - Convert numerals to a human readable string.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108803 Polynomials (by Mat)] - Functions for using polynomials.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83091 Primes (by jennico)] - Many functions dealing with prime number generation and calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94770 Roman Numerals (by AZJIO)] - Roman Numerals.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98160 Root function (by Mat)] - Working out real roots of numbers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209527 Stat (by AspirinJunkie)] - Statistics for Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163899 StringAPL (by minx)] - inline APL interpreter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=82722 Trigonometric and math functions (by trancexx)] - _ATan2(), _Cosh(), _Frexp(), _Hypot(), _Ldexp(), _Logb(), _Sinh(), _Tanh().&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95357 FreeImage library (by ProgAndy)] - Various operations on images, such as rotate, resize, flip.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll (by Trong)] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127263 HtmlHelp (by Geodetic)] - HtmlHelp functions for context-sensitive help from CHM (compiled HTML) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116009 HyperCam (by seangriffin)] - HyperCam (Screen Recording) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182535 HyCam2 (by willichan)] - Automation for HyCam2 screen recording utility.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50608 OCR (by ptrex)] - Real OCR in AU3 - MODI with MS Office 2003.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=89542 OCR (by seangriffin)] - Tesseract (Screen OCR) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206133 OCRSpace (by MrKm)] - Convert Images to text with the OCRSpace API. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51054 Printer controller (by martin)] - Print text in any font, size and colour at any position on the page, draw lines, curves, elipses, pies in any colour, and print images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73993 Printing (by GRS)] - Printing from AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202621 QRCreator (by BugFix)] - Simple QR-code creation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161831 RTF_Printer (by mLipok)] - Printing RichEdit in the background.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94834 Simple DirectMedia Layer (by AdmiralClaws)] - Adds support for joysticks, CDs, 2D graphics, timers. See [https://www.libsdl.org/ SDL website] for more information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207324 UWPOCR (by Danyfirex)] - Universal Windows Platform Optical Character Recognition API.&lt;br /&gt;
&lt;br /&gt;
===Graphics and image===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202987 AutoYolo3 (by smartee)] - Real-Time Object Detection using YOLOv3 wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113881 au3Irrlicht2 (by JRowe)] - Combining Irrlicht and AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86748 AVI writing udf (by monoceres)] - Create uncompressed avi&#039;s from bitmap files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27362 Bitmap Library (by evilertoaster)] - Bitmap Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202663 GIF animation (by Nine)] - Fast cached GIF animation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150231 GTK+  (by prazetto)] - GTK+ Framework | Widgets.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=13096 ImageGetInfo (by Lazycat)] - Read info from JPEG, TIFF, BMP, PNG and GIF - size, color depth, resolution.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/471-image-search-udf Image Search (by VIP)] - Search for an image on the desktop. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70506 IrrLicht (by A. Percy)] - A 3D graphics engine suitable for creating games.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160732 OpenCV (by myliseJ)] - UDF for the OpenCV library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206432 OpenCV v4+ (by smbape)] - OpenCV UDF with support for OpenCV v4+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151011 OpenGL (by LarsJ)] - OpenGL without external libraries etc. For JPEG files it also retrieves various Exif information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148129 OpenGL (2.0) (by minx)] - New set of UDFs for OpenGL + AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152950 S3D (by Starg)] - Draw simple 3D graphics with GDI+.&lt;br /&gt;
&lt;br /&gt;
===Players===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114143 VLC (by seangriffin)] - VLC (Media Player) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91316 VLC Media Player (by ptrex)] - VLC Media Player.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27352 WMP (by ConsultingJoe)] - Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44008 WMP - Media Controls (by CFire)] - Another Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203154 WMP - GUI Control (by SudeepJD)] - IE based WMP Control.&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83481 BASS Function Library (by BrettF)] - Sound and Music via wrappers for Bass, BassEnc, Bass FX, BassSFX, BassAsio and BassCd DLLs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173808 libZPlay (by Danyfirex)] - Multimedia library for playing mp3, mp2, mp1, ogg, flac, ac3, aac, oga, wav and pcm files and streams.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=37072 MIDI (by eynstyne)] - MIDI UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208116 MIDI (by MattyD)] - Wrap of the Windows MIDI functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114742 SAPIListBox (by seangriffin)] - SAPIListBox (Speech Recognition) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=100439 TTS (by Beege)] - Text-to-Speech UDF.&lt;br /&gt;
&lt;br /&gt;
== PDF ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162195 Acrobat Reader - ActiveX Viewer (by mLipok)] - Make your own PDF Viewer GUI with Acrobat Reader ActiveX COM Object &amp;quot;AcroPDF.PDF.1&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164469 Debenu PDF Viewer SDK (by mLipok)] - A collection of functions to display PDF files in your applications using Debenu PDF Viewer SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160875 Debenu Quick PDF Library (by mLipok)] - A collection of functions for Debenu Quick PDF Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75832 FoxIt Reader (by ptrex)] - PDF Reader in AU3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118827 MPDF (by taietel)] - Create PDF from your application.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=42776 PDFCreator (by ptrex)] - Automation of PDFCreator allows you to create and manipulate PDF files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170550 PDFCreator (by mLipok)] - UDF for PDFCreator v1.x.x with working EVENTs Handler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32261 _StringToPDF (by Tam0r)] - Write a string to a PDF file and specify font size, type etc.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145158 Firewall (by JLogan3o13)] - Control and manipulate the Windows Firewall (enable/disable, Exclusions list, enable/disable ports etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194015 Firewall policy2 (by Bilgus)]- Provides access to the firewall policy for Windows Vista+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150819 VirusTotal (by Danyfirex)] - VirusTotal API 2.0 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred (by DonChunior)] - Interface to the Windows Credential Management API.&lt;br /&gt;
&lt;br /&gt;
== Social Media and other Website API ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159254 Cex.io (by AquilesCrespo)] - UDF script for using with the web api from https://cex.io/ server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169333 CrowdinAPI (by mLipok)] - Uses the [https://crowdin.com/page/api crowdin.net website API] for some functions (create projects, add and update files, download translations or integrate localization).&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/290-dropbox-authenticator/ Dropbox authenticator (by Gimerly)] - Dropbox authenticator.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158106 Easypost (by dcat127)] - Print USPS Postage Labels.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114801 eBay (by seangriffin)] - eBay UDF (functions GetItemStatus and GetSingleItem from the &amp;quot;Shopping API&amp;quot;).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=141340 Gmail (by PhoenixXL)] - Remote Gmail (UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192422 Gmail API (by Ascer)] - Automate communication with Gmail using oAuth 2.0 security. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98504 Google Functions (by Beege)] - Google Functions (Suggestions, Definitions, Translate, Convert).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=115437 Google Maps (by seangriffin)] - Google Maps UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70675 iTunes (by torels)] - iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101802 iTunes (by Beege)] - Another iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150985 No-IP (by Nessie)] - Simply update your no-ip hostname(s) and retrieve the ip address of an no-ip address.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192391 oAuth (by Ascer)] - Open standard for access delegation, commonly used to grant websites or applications access to other websites.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150838 PasteBin (by mrflibblehat)] - Pastebin UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121767 Skype (by FireFox)] - Skype4COM provides an ActiveX interface to the Skype API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113234 Teamspeak 3 (by chipDE)] - Teamspeak 3 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186944 TeamViewer API (by mLipok)] - A collection of function for use with TeamViewer API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186381 Telegram Bot (by LinkOut)] - UDF for [https://core.telegram.org/api Telegram messenger API].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166547 TVmaze.com API (by BBs19)] - TVmaze.com API UDF (TV-Series).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116600 Twitter (by seangriffin)] - Manage Twitter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149247 Yahoo Weather (by Nessie)] - Yahoo Weather API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112775 Youtube Uploader (by BrettF)] - AYTU - AutoIt Youtube Uploader.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50880 ACL (by ptrex)] - Set ACL on windows Objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134508 ACL (by FredAI)] - Do most everything with the DACL and ownership on all types of objects: Files or folders, Registry keys, services, Kernel and WMI objects, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206400 BITS (by DonChunior)] - Background Intelligent Transfer Service to download files from or upload files to HTTP web servers and SMB file shares.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184937 CertUtil (by mLipok)] - Wrapper for windows certutil.exe (command-line program that is installed in Windows as part of Certificate Services).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113560 FileSystemMonitor (by seangriffin)] - Monitors the file system by recording all file system events occurring within a given path.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111018 ITaskBarList (by Beege)] - ITaskBarList UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74118 Local account (by engine)] - Manage local accounts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161193 Magnifier Functions (by Ascend4nt)] - Exposes most of the useful Magnifier API functions available since Windows Vista.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75250 Registry (by engine)] - Windows Registry UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50551 Registry (by seanhart)] - RegWriteAllUsers / RegDeleteAllUsers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=80201 Service (by arcker)] - Build your own service with AutoIt code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124508 Startup (by guinness)] - Create Startup entries in the Startup Folder or Registry.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164756 SCCM (by JLogan3o13)] - Systems Center Configuration Manager Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134628 System restore (by FredAI)] - System restore UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186111 SubstWrapper (by mLipok)] - Wrapper for windows subst.exe command - (Associates a path with a drive letter).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135994 Taskplanner/Taskscheduler COM (by Allow2010)] - an UDF for using the Windows Taskplaner / Task Scheduler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83355 Task Scheduler (by dbzfanatic)] - Task Scheduler UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200068 TaskScheduler (by water)] - Brushed up Task Scheduler UDF. Link to the [[TaskScheduler|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173934 TTS (by Kanashius)] - Used with SAPI Automation Object - text-to-speech (TTS) engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158377 UAC (by AdamUL)] - User Account Control (UAC) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=175719 Utter (by Surya)] - Utilizing more of SAPI (Speech Recognition UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127075 WIMGAPI (by Homes32)] - Manipulate Windows Image Files (.wim) without ImageX.exe.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=28436 Windows Events (by Emperor)] - Create your own Windows events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=6487 Windows Service Control functions (by SumTingWong)] - Some limited functions to control services (create, start, stop, delete, check ...).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81880 Windows Services (by engine)] - Windows Services UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163178 WRMF (by Luigi)] - WRMF - Windows Registry Monitor Call Function.&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/topic/178871-dllcall-with-c-example/#comment-1285754 SMSApi (by mLipok)] - UDF for SMSAPi which provides SMS services. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/index.php?showtopic=178589 BulkSMS (by Skysnake)] - UDF for BulkSMS which provides SMS services. --&amp;gt;&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145099 _AdlibEnhance (by JScript)] - Enhance Adlib to call functions with parameters, pause and resume.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160936 Android (by Moriba)] - Control any Android device.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97826 Animated tray icons (by Yashied)] - Make animated tray icons easily.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163577 Atom Table (by Ascend4nt)] - Store (add, find, delete, and query) strings locally (at program level) or globally (at OS level) with unique numerical identifiers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170087 Barcode generators (by willichan)] - Creates a Code128A/B/C or Creates a Code39 or Code39Extended optimized barcode from supplied data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211660 BlockInput (by Nine)] - Block all input coming from mouse and/or keyboard, without having an UAC warning displayed. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87735 BlockInputEx (by MrCreatoR)] - Supports a few features that built-in BlockInput() function does not.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29763 Clipboard (by eltorro)] - When apps need to watch the clipboard.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170630 ClipboardEx (by ozmike)] - Allows to have more than 1 item in the Clipboard. Handles all data types, not just text.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81267 Clipboard History (by wraithdu)] - Save and restore the entire clipboard contents. Inspired by AHK&#039;s ClipboardAll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169610 CmdLine (by Jefrey)] - Collection of functions to parse command line arguments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126569 Console (by Shaggi)] - Functions and features to work wiht Console input/output.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121833 Copy (by Yashied)] - Copy or move files and directories without suspending your script. Retrieve the current state (copied bytes, error code etc.) while copying.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154684 Date / Time convert (by Melba23)] - Transform date/time formats.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99106 _DLLStructDisplay (by Ascend4nt)] - Show Struct in ListView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157689 _FileGetMimeType (by Wiliat87)] - Retrieve MIME types based on the extension of the filename/filepath/URL provided.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117033 File locking with cooperative semaphores (by willichan)] - Simple file locking without a server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157241 FindMimeFromData (by twbradio)] - FindMimeFromData using urlmon.dll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181997 Font Icon (by J2TeaM)] - Use Font Awesome in your AutoIt project.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68422 HotString (by jvanegmond)] - Similar to the HotKey function but trigger on a string, instead of a key or key combination.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173946 LASM - Light Assembler (by minxomat)] - Inline UDF for an Assembler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161628 LFN (by orbs)] - Overcome MAX_PATH limit of 256 chars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111492 Link Grammar for AutoIt (by JRowe)] -  Input is a regular sentence in English, German or Italian, output is a pattern parsed from the structure of the sentence.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/147-mruau3 MRU (by Yashied)] - Most Recently Used (MRU) List Automation functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188158 .NET Common Language Runtime (CLR) Framework (by Danyfirex, Junkew, Larsj, ptrex, Trancexx)] - Allows AutoIt to access .NET Class Libraries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101733 NoFocusLines (by Melba23)] - Remove the dotted focus lines from buttons, sliders, radios and checkboxes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149176 NotifyIcon (by FireFox)] - Create, delete and manage self notify icons (formerly TrayIconEx). &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=63318 PixelGetColor (by Manadar)] - Get or Read Pixel from memory.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167024 RDC (by Yashied)] - ReadDirectoryChanges Wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51103 Resources (by Zedna)] - Embed any binary data into your AutoIt compiled EXE files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162499 ResourcesEx (by guinness)] - Up to date version of Zedna&#039;s Resources UDF. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111215 Restart (by Yashied)] - Allows to restart a script from any location with full restoration of the original command line parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51547 SciLexer (by Kip)] - Editing control, supports multiple editors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152093 ScriptEditor (by pandel)] - ScriptEditor with I18N support and customizable lexer completely written in AutoIt (based on SciLexer).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162033 Spell Checker (by iCode)] - Spell Checker functions to call Hunspell, Hyphenate and MyThes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164444 Synology filestation (by nend)] - Functions to interact with a Synology NAS server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163328 TimeConvert (by orbs)] - Convert UTC to/from local time, and/or reformat the string representation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint (by UEZ)] - Creating barcodes using the Zint.dll.&lt;br /&gt;
[[Category:UDF]]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15288</id>
		<title>User Defined Functions</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15288"/>
		<updated>2026-05-07T16:49:05Z</updated>

		<summary type="html">&lt;p&gt;Water: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
This page is a listing of libraries of &#039;&#039;&#039;user defined functions&#039;&#039;&#039; (UDF). These libraries have been written to allow easy integration into your own scripts and are a very valuable resource for any programmer.&amp;lt;br /&amp;gt;&lt;br /&gt;
This list is probably not complete (409 UDFs on 2026-05-07), but constantly supplemented.&lt;br /&gt;
If you do not find a solution here, ask a new question on the [https://www.autoitscript.com/forum/forum/2-general-help-and-support/ forum].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
The listed UDFs might have been written for older versions of AutoIt. So there is no guarantee that every UDF works smoothly with newer versions.&amp;lt;br /&amp;gt;&lt;br /&gt;
None of the UDFs has been tested by the maintainers of this list so you as a user need to make sure that they deliver the expected results.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;When will an UDF be added to this list?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
It should meet all/most of the general requirements for UDFs as described [[UDF-spec|here]].&amp;lt;br&amp;gt;&lt;br /&gt;
In addition the following requirements should be met:&lt;br /&gt;
* &#039;&#039;&#039;Documentation&#039;&#039;&#039;: So users can tell what the UDF is intended to do (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Examples&#039;&#039;&#039;: So users can get an idea how to use the UDF. The more the better (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Operating systems&#039;&#039;&#039;: Should support the latest Microsoft OS (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;AutoIt&#039;&#039;&#039;: Should support the latest version of AutoIt (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Author&#039;&#039;&#039;: The author should still be active on the forum so he can reply to questions (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What to do when one of your UDFs is missing?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please send a [https://www.autoitscript.com/forum/messenger/compose/?to=7903 PM] to user water. Add a short description of the UDF and a link to your post in the [https://www.autoitscript.com/forum/forum/9-autoit-example-scripts/ Example Scripts] or [https://www.autoitscript.com/forum/forum/49-autoit-projects-and-collaboration/ Projects and Collaboration] forum.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Added in the past two years&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date !! Section !! Creator !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-07 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || MattyD || [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP UDF] - SNMPv1 and SNMPv2c.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-01 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment] - Least Squares Adjustment.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-04-01 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || WildByDesign || [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-10 || [[User_Defined_Functions#Inter_Process_Communications|Inter Process Communications]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC] - Inter Process Communication using TCP/IP.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-09 || [[User_Defined_Functions#Browsers|Browsers]] || ioa747 || [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt] - Integrate WebView2 into AutoIt via COM. &lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-19 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF] - TCP/UDP Networking Library.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || BugFix || [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx] - Another kind of group, versatile changeable.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-16 || [[User_Defined_Functions#Security|Security]] || DonChunior || [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred] - Interface to the Windows Credential Management API.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || genius257 || [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast] - Native Win8+ toast notifications.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Media|Media]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Hardware|Hardware]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213296 Monitor] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-09-22 || [[User_Defined_Functions#Misc|Misc]] || UEZ || [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint] - Creating barcodes using the Zint.dll.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-07-27 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || DXRW4E || [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-04-16 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || seangriffin || [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-03-22 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-02-26 || [[User_Defined_Functions#Controls|Controls]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-16 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Gianni || [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask] - Easily run and manage many processes.&lt;br /&gt;
|- &lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || NoNameCode || [https://www.autoitscript.com/forum/index.php?showtopic=211475 Darkmode] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Network_Guy || [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-11 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || t0nZ || [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog] - Logs made easy.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || argumentum || [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-21 || [[User_Defined_Functions#Controls|Controls]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker] - Date Range Picker Control.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-06 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place the Table of contents (TOC) here --&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Automation ==&lt;br /&gt;
&lt;br /&gt;
===Browsers===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154439 Chrome (by seangriffin)] - Automate the most common tasks in Chrome with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95595 Firefox (by Stilgar)] - A little less support for automation than IE, but still very good.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167661 Firefox (by Danp2)] - Modified newer version of Stilgar Firefox UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/224-firefox-profile-backup/ FireFox Profile Backup 1.0 (by careca)] - Backup or restore your firefox profile. The application searches for the profile in home drive that will be the one to backup.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _FF_AutoLogin (by Stilgar)] - This is a auto-login function and login-function-generator for FireFox and the FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92035 _FF_DM (by Stilgar)] - UDF to control the FireFox Download-Manager (not the download-window).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91650 _FF_FoxBox (by Stilgar)] - UDF to control Fox!Box (A Mozilla Firefox extension for the AVM FRITZ!Box) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91665 _FF_Screengrab (by Stilgar)] - UDF to control Screengrab! (FireFox-AddOn) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _HTML (by Stilgar)] - Get informations from any HTML (XML) source, without any browser.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166542 HTMLDocumentEvents (by SmOke_N)] - Track IE document events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167035 IEEx (by SmOke_N)] - IE extended library with some Javascript options.&lt;br /&gt;
* Internet Explorer (by DaleHohm et al.) - IE library that is now supplied with a standard AutoIt install.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153520 IUIAutomation MS framework (by junkew)] - IUIAutomation MS framework to automate chrome, FF, IE etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149203 NavInfo (by Nessie)] - With this UDF you can check if a specified browser/software is installed and which version is being used.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=61090 Opera (by MrCreatoR,)] - Automate the most common tasks in Opera with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191990 WebDriver (by Danp2)] - W3C compliant Webriver UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt (by ioa747)] - AutoIt WebView2 Component (COM Interop).&lt;br /&gt;
&lt;br /&gt;
===Microsoft Office===&lt;br /&gt;
Some features of Microsoft&#039;s Office products are proprietary and cannot readily be manipulated.  Sometimes workarounds are required.&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;[[Known issues with Microsoft Office automation.|This page]]&amp;lt;/u&amp;gt; is dedicated to identifying those issues, provide explanations and list solutions or workarounds.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32144 Microsoft Office Access (by randallc)] - Automate Microsoft Access.&lt;br /&gt;
* Microsoft Office Excel (by water et al.) - This UDF is included in AutoIt. Link to the [[Excel_UDF|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135312 Microsoft Office Excel Charts (by water, GreenCan)] - Creating charts using Microsoft Excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204034 Microsoft Office Excel Pivot Tables (by SudeepJD)] - Create and Update Excel Pivot Tables and Charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126305 Microsoft Office Outlook (Items) (by water)] - Automate Microsoft Outlook Items. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202451 Microsoft Office Outlook (GUI) (by water)] - Automate Microsoft Outlook GUI. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197346 Microsoft Office Outlook Tools (by water)] - Built on top of the OutlookEX UDF it offers some often needed extended functionality (import/export ics/vcf files etc.). Link to the [[OutlookTools|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50254 Microsoft Office PowerPoint (by Toady)] - Automate Microsoft PowerPoint.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=178783 Microsoft Office PowerPoint (by water)] - Automate Microsoft PowerPoint. Link to the [[Powerpoint|documentation]] pages.&lt;br /&gt;
* Microsoft Office Word (by water et al.) - This UDF is included in AutoIt. Link to the [[Word_UDF|documentation]] pages.&lt;br /&gt;
&lt;br /&gt;
===OpenOffice/LibreOffice===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210514 LibreOffice Suite (by donnyh13)] - A huge list of functions for LibreOffice Base, Calc and Writer. Link to the [[LibreOffice|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151530 OOo/LibO Calc (by GMK)] - OpenOfficeCalc UDF (works also for Libre Office).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185932 OpenOffice/LibreOffice Spell Checker (by GMK)] - Function to validate words, and show spell alternatives.&lt;br /&gt;
&lt;br /&gt;
===Other Applications===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106163 Active Directory (by water)] - Extensive library to control and manipulate the Windows active directory ([https://www.autoitscript.com/forum/files/file/355-ad-active-directory-udf/ Download]). Link to the [[Active_Directory_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87956 Java (by seangriffin)] - Creates an access bridge between your application and a Java application. Allowing you to automate some Java applications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86574 SAP (by seangriffin)] - SAP business management automation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149540 SAPWizard (by ozmike)] - SAPWizard UDF.&lt;br /&gt;
&lt;br /&gt;
== Script Coding/Analyzing/Debugging ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209528 ArrayCombinations (by AspirinJunkie)] - Different ways of composing elements of a set.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155442 ArrayMultiColSort (by Melba23)] - Function to sort a 2D array on several columns.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209523 ArrayPlus (by AspirinJunkie)] - Functions for flexible Array handling (create, extract, rebuild, sort, filter, find, print)&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180467 ArrayWorkshop (by czardas)] - Multidimensional array functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=59174 Associative array functions (by Nutster)] - Manage a version of associative arrays in single AutoIt variables. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=198929 AutoIt error logger (AUERLO) (by user4157124)] - File- and stdout (etc.) output of messages, errors, exit method and -code, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110379 AutoItObject (by ProgAndy and others)] - Brings the Object Orientation programming paradigm to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112879 AutoIt Syntax Highlight (by MrCreatoR)] - Highlights AutoIt v3 syntax code to html/bbcode format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191488 cDebug (by c.haslam)] - Dumps the values of all AutoIt subtypes and expressions including nested arrays, DLL structs and maps.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor (by Nine)] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195882 ErrorLog (by mLipok)] - Logs program activities and errors to different output locations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211718 FuzzyString (by AspirinJunkie)] - Fuzzy string comparison and search in string arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143167 GetOpt (by dany)] - Parse GNU and DOS style command line options similar to getopt().&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog (by t0nZ)] - Logs made easy.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156196 Log4a (by zorphnog)] - Logging library loosely based upon the log4j and NLog libaries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195862 Loga (by Danyfirex)] - Simple logging library to keep track of code with an integrated console.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119032 Log UDF (by Yashied)] - Create a text log files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202832 OnDebugMsgBox (by argumentum)] - Catch the dreaded &amp;quot;AutoIt Error&amp;quot; MsgBox and prettify or hide it.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209529 Set (by AspirinJunkie)] - Provides a set data type and brings the corresponding mathematical functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200660 Variants and Safearrays (by LarsJ)] - Create/access/process Variants and SafeArrays.&lt;br /&gt;
&lt;br /&gt;
=== Inter Process Communications ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202485 AppInteract (by MrCreatoR)] - Reliably pass arrays or other types between processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC (by Kanashius)] - Inter Process Communication using TCP/IP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=205109 AutoItSharedData (by SEuBo)] - Create a shared data storage, a simple AutoItObject-Object, using AutoItObject_Internal.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188991 Autoit-Socket-IO (by tarretarretarre)] - Event driven TCP/IP wrapper inspired by Socket.IO with focus on user friendliness and long term sustainability.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126936 Container (by MrCreatoR)] - Scripts interaction method. Allows to transfer whole arrays as data, and even COM objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=55994 DDEML (by doudou)] - Use your AutoIt script as DDE client or server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193277 FMIPC (by argumentum)] - IPC via FileMapping.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127615 Interprocess (by JScript)] - Remotely execute a function in another script (using Mailslot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193158 IPC_IO (by JohnWIlling)] - IPC library supporting multiple connection types (such as: Named Pipe, File, TCP, SharedMemory, MailSlot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202618 IPC Techniques through ROT Objects (by LarsJ)] - Implementing IRunningObjectTable Interface.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106710 Mailslot (by trancexx)] - IPC using Mailslots.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204734 Overlapped Named Pipe IPC (by Nine)] - Very fast interprocess communication that could be used between VBS or AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169797 Pool - Post Office for Organized Labour (by RTFC)] - Provides multiple AutoIt processes with an infrastructure for exchanging messages, data, and remote-control instructions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202587 WCD IPC (by Nine)] - Framework for Inter Process Communication using Windows Messages WM_COPYDATA.&lt;br /&gt;
&lt;br /&gt;
=== Parallel/concurrent processing ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork (by argumentum)] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186853 _Multiprocess (by jguinch)] - Run several external programs at the same time and retrieve the exit code of each process.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask (by Gianni)] - Easily run and manage many processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking (by Network_Guy)] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT (by Nine)] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
&lt;br /&gt;
== Files, Databases and web connections ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180850 ADO (by mLipok)] - A modifed version of the _SQL UDF to access all kind of databases (MSSQL, MySQL, PostgreSQL, SQLite, MS ACCESS, XLS, TXT, and many other which use ADO and ODBC).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105875 ADODB (by spudw2k)] - ADODB Example.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 AXML (by Aipion)] - This is a Wrapper for Pugixml, made with C++.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145142 DBF (by funkey)] - dBase database read and write with DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/topic/114406-csv-file-to-multidimensional-array/#findComment-799820 CSV (by ProgAndy)] - Read/write CSV files to/from 2D arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197909 CSV (by seangriffin)] - Manipulate CSV files using SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155748 CSVSplit (by czardas)] - Convert to and from CSV format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151116 DIF (by willichan)] - Read/write DIF (Data Interchange Format) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119238 Excel file generation (by jerome)] - Excel file generation (multi-sheet workbook) without the need to have Excel installed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143866 Excel XML (by FireFox)] - Work with SpreadsheetML (Open XML file formats).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155905 EXml (by jdelaney)] - Create Excel file (SpreadsheetML) through &amp;quot;Microsoft.XMLDOM&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116072 EzMySql (by Yoriz)] - Use MySQL Databases with AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148232 _FileGetProperty (by BrewManNH)] - Retrieve properties of a file.Xml2Json&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94920 FireBird (by eltorro)] - FireBird, Interbase DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx (by DXRW4E)] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197421 jq (by TheXman)] - Brings the power and flexibility of jq (an open-source command-line based JSON processor) to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209502 JSON (by AspirinJunkie)] - Interacting with JSON data in AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104150 JSON (by Gabriel13)] - RFC4627 compliant JSON encode/decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148114 JSON (by Ward)] - JSMN - A Non-Strict JSON UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156794 JSON (by ozmike)] - Bridge to Native Windows JSON plus OO extension for AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC (by seangriffin)] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173797 JSONgen (by Jefrey)] - Generate JSON.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127101 MS SQL (by TheLuBu)] - MSSQL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51952 MS SQL (by ChrisL)] - _SQL. ADODB Connection.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20814 MySQL (by cdkid)] - MySQL relational database management system.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85617 MySQL (by ProgAndy)] - MySQL UDFs (without ODBC - working with libmysql.dll).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=122360 MySQL (by James)] - MySQL ODBC Connector.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187223 romaSQL (rynow)] - Built on the concept of Laravel Query &amp;amp; doctrine. Connection string is based on ADODB / ODBC.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143331 Sharepoint 2007/2010 (by schoppet)] - Access the SOAP-Webservices of Sharepoint 2007/2010.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17099 SQLite (by ptrex)] - SQLite is a library that implements a self-contained, embeddable, zero-configuration SQL database engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=142977 SQLite Array Functions (by SmOke_N)] - SQLite Array Functions - a faster method for unique arrays and sorting methods.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140521 SQLite - Database (by PhoenixXL)] - UDF for SQLite so that beginners will also be able to do the stuff.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157853 SQLiteEx (by 57ar7up)] - SQLiteEx UDF v0.5.1 - Simplest work with SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163633 Xbase I/O (by RTFC)] - Transfer data between Xbase Data file (*.dbf) and AutoIt array written in pure AutoIt (no SQL, no ADO, no dlls, no external dependencies).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209526 xlsxNative (by AspirinJunkie)] - Read and write xlsx files without excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=19848 XML DOM Wrapper (by eltorro)] - Supports CRUD operations on XML. Including XSL and XPath.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 XML (by mLipok)] - New version of XML DOM Wrapper, with many new features.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208932 Xml2Json (by TheXman)] - Transform XML to JSON.&lt;br /&gt;
&lt;br /&gt;
== Data compression ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85094 7z, zip, gzip, bzip2, tar (by rasim)] - Extensive library that uses a external DLL that must be provided with the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92958 gZip (by Zinthose)] - Based on the parsing of gZip.exe output. It can work with memory, it doesn&#039;t work with files. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87441 LZMA (by trancexx)] - LZMA (Native Windows).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138838 Package (by Yashied)] - Package UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129529 pZip (by asdf8)] - PureZIP_L library UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=76176 UnRAR (by rasim)] - UnRAR.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17727 XZip (by eltorro)] - Another UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161847 XZip (by mLipok)] - UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44524 Zip plugin (by eltorro)] - Zip plugin.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73425 ZIP (by torels)] - ZIP UDF in pure AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116565 zip (by wraithdu)] - Create ZIP files and unpack ZIP files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135565 ZIP (by joakim)] - ZIP STRUCTS UDF (from scratch).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87284 ZLib (by monoceres)] - Based on ZLib.dll. It can compress/uncompress data in memory, it doesn&#039;t work with files.&lt;br /&gt;
&lt;br /&gt;
== Encryption and hash ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81332 _Base64Encode, _Base64Decode (by trancexx)] - Fast _Base64Encode, _Base64Decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153246 Base91 and Base128 (by Beege)] - Base91 and Base128 functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155538 Codecrypter (by RTFC)] - Encrypt scripts without placing the key inside the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=201002 Cryptography API: Next Gen (by TheXman)] - Microsoft&#039;s long-term replacement for their CryptoAPI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210901 Enigma (by willichan)] - Simple encryption based on the Enigma Machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203990 GDPR (by mLipok)] - Functions to encrypt/decrypt strings and files with the GDPR in mind.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95558 Hashes for files (by trancexx)] - Fast RC32, MD4, MD5, SHA1 calculation for big files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107784 TrueCrypt (by FuryCell)] - TrueCrypt UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140737 WinTrust (by kasty)] - verify the integrity of a file with its embedded signature or a given catalog.&lt;br /&gt;
&lt;br /&gt;
== GUI Additions ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast (by genius257)] - Native Win8+ toast notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97241 3D Pie chart (by WideBoyDixon)] - 3D Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173924 Chart_UDF (by Kanashius)] - This UDF can be used to Display bar charts in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96258 ContextHelp (by Yashied)] - Management of context help ([https://www.autoitscript.com/forum/index.php?showtopic=72152-contexthelp/ original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211475 DarkMode (by NoNameCode)] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109096 ExtMsgBox (by Melba23)] - A very customisable replacement for MsgBox.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx (by BugFix)] - Another kind of group, versatile changeable.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105582 GUICtrlOnChangeRegister (by Mat)] - Call a function when an edits content is changed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme (by WildByDesign)] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145149 GUIExtender (by Melba23)] - Expand and contract sections of your GUI ([https://www.autoitscript.com/forum/index.php?showtopic=117909 original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197654 GuiFlatButton (by kurtykurtyboy)] - Change colors of regular buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119505 GUIFrame (by Melba23 &amp;amp; Kip)] - Divide a GUI into adjustable frames.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=144207 GUI Panel (by FireFox)] - Manage child GUIs as panel ctrls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113723 GUI Scrollbars (by Melba23)] - Automatically sized scrollbars with a single command.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161184 MetroGUI (by BBs19)] - Windows 10 style buttons, toggles, radios etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 Modern tray menu (by Holger)] - Allows the creation of modern, fancy GUI and tray menus with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194693 MTSkin (by Taskms4)] - Simply create modern looking GUIs (borderless GUI, Interactive menu panel (with mouse-over detection), a bunch of skins).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182136 Notifications (by S3cret91)] - Display permanent desktop notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=136149 Notify (by Melba23)] - Small notifications on the edge of the display.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161750 Pie chart (by Andreik)] - Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75429 Real Vista Aero Glass (by James)] - Real Vista Aero Glass UDF - you can apply glass effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF (by Nine)] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=71811 SetOnEvent (by martin)] - Provides an easy way for an event to call functions with parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=103871 _SysTray (by wraithdu)] - Get info about and manipulate Systray icons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108445 Toast (by Melba23)] - Small message GUIs which pop out of the Systray.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110003 Tray Icon Bar Graph (by BeeGee)] - Creates a scrolling bar graph as the tray icon.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=132864 Uskin (by JScript)] - Allows you to skin your GUI using the Windows &#039;&#039;.MSstyles&#039;&#039; files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191821 Wi3SMenu (by NHD)] - Create a slide menu with Windows 10 style. Supports color, icon and opacity.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129196 WinSnap (by Beege)] - Automatic Window Alignment by applying that &amp;quot;snappy edge&amp;quot; effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32494 XSkin (by Valuater)] - Allows skinning of your GUI and to apply custom skins.&lt;br /&gt;
&lt;br /&gt;
=== Controls ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202529 BrowseForFolder (by MrCreatoR)] - Handle SHBrowseForFolderW with more options, such as multi selection (checkboxes), window position, controls text and more. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=146406 Calendar (by jmon)] - Calendar UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125293 ChooseFileFolder (byMelba23)] - Single and multiple selections from specified path treeview listing.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96464 Colorpicker (by Yashied)] - Create a button for the user to select a color.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker (by Nine)] - Date Range Picker Control.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=123409 Explorer Frame UDF (by Beege)] - Takes any frame created by GUIFrame and turns it into a MS-Windows like Explorer window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview (by Kanashius)] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173929 GDIPlus Slider UDF (by Kanashius)] - This UDF can be used to create a slider with an imagebackground and an image to move.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=79412 Graph control (by andybiochem)] - Easily create and show bar chart and line charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104399 GraphGDIPlus UDF (by andybiochem)] - Easily create and show bar chart and line charts with GDI+ to take advantage of double-buffering.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105682 GUICtrlCreateFinder (by Mat)] - Allows you to create a window finder control like the one seen in AutoIt Window Info.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107965 GUIHotkey (by Mat)] - UDF for using native hotkey controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182492 GUIListViewEx (by Melba23)] - Insert, delete, move, drag, sort, edit and colour ListView items.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111438 GUIPager (by Mat)] - Create and control native pager controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 GUI/Tray Menu (by Holger, LarsJ, AZJIO)] - GUI/Tray Menu with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166594 GUITreeViewEx (by Melba23)] - Check/clear parent and child checkboxes in a TreeView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=90598 Hotkey input control (by Yashied)] - Hotkeys Input Control UDF Library (Non-native).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173932 ListView Edit UDF (by Kanashius)] - This UDF can be used to simply edit an Listview.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109355 ListView - Explorer like ListView UDF (by Beege)] - This UDF simplify creating MS Explorer-like ListViews.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143711 Marquee (by Melba23)] - Make tickertape info bars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143380 Predict Text UDF (by PhoenixXL)] - Sub classes the edit control and matches the current word through the Database &amp;amp; sets selection in accordance.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163939 Progressbar new style (by Muzaiyan)] - New styles for your progress bar.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74649 Progressbar with GDIplus (by ProgAndy)] - You even can use full textured images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151636 RestrictEdit_SRE UDF (by PhoenixXL)] - Restrict the text that can be entered in an editbox through a String Regular Expression.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128242 Ribbon (by trancexx)] - UDF for Windows Ribbon framework.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114034 StringSize (by Melba23)] - Automatically size controls to fit the text you want to put in them.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126958 Syslink (by Yashied)] - Provides a convenient way to embed hypertext links in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105814 Table (by andybiochem)] - Table UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211024 Toggle Button (by Andreik)] - Create simple toggle buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125251 TVExplorer (by Yashied)] - Allows to create TreeView (TV) Explorer controls that display a tree of files and folders.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=190659 Virtual Listview (by LarsJ)] - Virtual Listview for large amounts of data with a large number of rows.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195053 Windows Message Monitor (by LarsJ)] - Monitor Windows Messages of a window or control.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118317 Battery UDF (by Yashied)] - Retrieves various information and current status of the battery(s).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154727 BuildPartitionTable (by RTFC)] - Scans a physical drive&#039;s partition table and returns a partition_table, allocation_table and volumes_table.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155674 CommAPI (by therealhanuta)] - Serial and parallel communication (COM port, RS-232, LPT port) - without installing DLL&#039;s (using Windows API calls).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77731 Device Management (by weaponx)] - Device Management API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97487 DirectShow (by monoceres)] - DirectShow UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164700 DirectSound (by eukalyptus)] - DirectSound UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164701 Direct2D (by eukalyptus)] - Direct2D UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99713 Drive Info (by NerdFencer)] - Gathers drive info for Hard Drives, Disk Drives, and Floppy Drives.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138989 FritzBox (by Allow2010)] - _FB_Tools - manage your FritzBox from Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121084 I/O Port Functions (by Ascend4nt)] - Input/Output UDF for interacting with ports (x64 Parallel Port, Keyboard etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203207 MediaDevice (by Danyfirex)] - Transfer files to portable devices like phones, storages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php=showtopic=213296 Monitor (by Trong)] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154350 Monitor Configuration (by jaberwacky)] - Monitor Configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155469 Mouse (by AlmarM)] - AutoIt powered mouse events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=147325 MouseTrapEvent (by ozmike)] - MouseTrapEvent UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149083 NetInfo (by Nessie)] - UDF for test internet download speed and upload speed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155539 Network configuration (by jguinch)] - Network configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182684 Nitgen (by Jefrey)] - UDF to work with Nitgen fingerprint readers that use NGenBio SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210968 Printer Manager (by Nine)] - Manage printers with winspool.drv DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155485 Printers management with WMI (by jguinch)] - Add/delete printer, driver, port, or obtain configuration, set default printer ...&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=189190 Serial port UDF / COM port UDF (by MazeM)] - It is very similar to CommAPI using kernel32.dll, but all code is packed into a single file without any dependencies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128546 Serial Port/COM (by martin)] - Serial Port /COM Port UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27755 SMARTDRIVE (by ptrex)] - SMART drive Analysis.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158640 SPI Hardware Interface (by Blinky)] - Communicate with the MAX335 chip using the SPI protocol via the LPT (printer) port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=8188 VISA/GPIB (by Angel)] - VISA/GPIB library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68866 Webcam (by LIMITER)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70857 Webcam (by ludocus)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91018 WiFi (by MattyD)] - Low level control over your wireless LAN.&lt;br /&gt;
&lt;br /&gt;
== Information gathering ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29404 Computer information (by JSThePatriot)] - A general purpose library to get various details about a Windows machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151920 NetworkStatistics (by Ascend4nt)] - Network Interface Info, Statistics, and Traffic.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=54039 WinPcap (by JRSmile)] - Wrapper for the windows packet capture library WinPcap.&lt;br /&gt;
* [https://opensource.grisambre.net/pcapau3/ WinPcap (by Nicolas Ricquemaque)] - A library to access the main functionalities offered by the WinPcap driver.&lt;br /&gt;
&lt;br /&gt;
== Internet protocol suite ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207859 cURLX64 (by Beege)] - cURL UDF with x64 support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=137456 cURL (by seangriffin)] - A UDF for transferring data with URL syntax.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187718 HTTP lib (by Jefrey)] - HTTP lib (GET, POST and upload) UDF to simplify HTTP requests, mainly when dealing about POST data or file uploads.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202895 HttpApi (by TheXman)] - HTTP Server API enables applications to communicate over HTTP without using MS Internet Information Server (IIS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=40243 IMAP (by mikeytown2)] - IMAP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108422 IMAP4 (by Tipulatoid)] - IMAP4 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=43515 IRC (by McGod)] - A lightweight library for communicating with IRC servers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159285 IRC (by rcmaehl)] - IRC UDF - Updated Version of Chips&#039; IRC UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=22838 POP3 (by Apzo)] - POP3 library for retrieving email messages. Not compatible with Gmail because it uses SSL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167339 POP3 (by mLipok)] - POP3 UDF According to the 1939 RFC, modified version with Quoted Printable decoder.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154530 Prowl (by mrflibblehat)] - Push notifications to iPhone, iPod touch or iPad using Prowl (Growl client for iOS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138095 SFTP (by Lupo73)] - UDF to support SFTP protocol using PSFTP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154054 Socket UDF (by funkey)] - Socket UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=23860 SMTP (by Jos)] - Smtp Mailer That Supports Html And Attachments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167292 SMTP Mailer UDF (by mLipok)] - Smtp Mailer That Supports Html And Attachments - Modified Version with support to save EML files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81687 SNMP (by enaiman)] - SNMP_UDF for SNMPv1 and SNMPv2c.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP (by MattyD)] - SNMP UDF SNMPv1 and SNMPv2c. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70759 SNMP - MIB protocol (by ptrex)] - Reading toner status from SNMP device with WMI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166579 SSH (by jeanphile)] - Use the SSH protocol very easily in your code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185329 STUN (by j0kky)] - STUN is a protocol that permits you to know your external IP but, more interesting, your external port associated to your internal port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184817 SyslogSend (by Irios)] - This allows sending (BSD) messages to a syslog server using UDP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169774 TCPServer (by Jefrey)] - Multi client, event-based, able to bind console app to socket.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=57022 UPnP Protocol (by ptrex)] - UPnP - Read and Control your devices in side out.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=84133 WinHTTP (by trancexx)] - Access the HTTP protocol for creating GET and POST requests and submitting them with conforming standards, cookies not supported.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77503 WinInet (by -Ultima-)] - Access standard Internet protocols (FTP, Gopher and HTTP). Supports GET/POST requests and cookies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181645 Winsock (by j0kky)] - Create client/server application using native winsock functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF (by Trong)] - TCP/UDP Networking Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191954 WSA_NBTCP (by ripdad)] - Windows Sockets API - Non-Blocking Transmission Control Protocol.&lt;br /&gt;
&lt;br /&gt;
== Maths ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment (By AsprininJunkie)] - Least Squares Adjustment.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170658 Advanced Math UDF (by scintilla4evr)] - Advanced mathematical functions (primes, number sequences, interpolate, calculate values of functions like Riemann zeta etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=102686 Advanced rounding (by Mat)] - Support for different measures of accuracy and 8 ways to resolve tie breaks.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83529 Big number (by eukalyptus)] - Make calculations with extremely large numbers that AutoIt normally is not able to support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106551 Decimal To fraction (by Malkey)] - Converts any decimal number to a fraction. Example: 1.2 to 6/5.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162921 Eigen4AutoIt (by RFTC)] - Allows to perform fast matrix operations on large numerical data sets, and much more ....&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra (by AspirinJunkie)] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140789 MathsEx UDF (by PhoenixXL)] - Functions for Carrying Out More Advanced Mathematical Calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81189 Number base conversion (by james3mg)] - From, to and between positive bases less than 63 (decimals supported).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117156 NumToWord (by Mat)] - Convert numerals to a human readable string.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108803 Polynomials (by Mat)] - Functions for using polynomials.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83091 Primes (by jennico)] - Many functions dealing with prime number generation and calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94770 Roman Numerals (by AZJIO)] - Roman Numerals.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98160 Root function (by Mat)] - Working out real roots of numbers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209527 Stat (by AspirinJunkie)] - Statistics for Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163899 StringAPL (by minx)] - inline APL interpreter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=82722 Trigonometric and math functions (by trancexx)] - _ATan2(), _Cosh(), _Frexp(), _Hypot(), _Ldexp(), _Logb(), _Sinh(), _Tanh().&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95357 FreeImage library (by ProgAndy)] - Various operations on images, such as rotate, resize, flip.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll (by Trong)] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127263 HtmlHelp (by Geodetic)] - HtmlHelp functions for context-sensitive help from CHM (compiled HTML) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116009 HyperCam (by seangriffin)] - HyperCam (Screen Recording) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182535 HyCam2 (by willichan)] - Automation for HyCam2 screen recording utility.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50608 OCR (by ptrex)] - Real OCR in AU3 - MODI with MS Office 2003.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=89542 OCR (by seangriffin)] - Tesseract (Screen OCR) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206133 OCRSpace (by MrKm)] - Convert Images to text with the OCRSpace API. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51054 Printer controller (by martin)] - Print text in any font, size and colour at any position on the page, draw lines, curves, elipses, pies in any colour, and print images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73993 Printing (by GRS)] - Printing from AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202621 QRCreator (by BugFix)] - Simple QR-code creation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161831 RTF_Printer (by mLipok)] - Printing RichEdit in the background.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94834 Simple DirectMedia Layer (by AdmiralClaws)] - Adds support for joysticks, CDs, 2D graphics, timers. See [https://www.libsdl.org/ SDL website] for more information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207324 UWPOCR (by Danyfirex)] - Universal Windows Platform Optical Character Recognition API.&lt;br /&gt;
&lt;br /&gt;
===Graphics and image===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202987 AutoYolo3 (by smartee)] - Real-Time Object Detection using YOLOv3 wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113881 au3Irrlicht2 (by JRowe)] - Combining Irrlicht and AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86748 AVI writing udf (by monoceres)] - Create uncompressed avi&#039;s from bitmap files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27362 Bitmap Library (by evilertoaster)] - Bitmap Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202663 GIF animation (by Nine)] - Fast cached GIF animation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150231 GTK+  (by prazetto)] - GTK+ Framework | Widgets.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=13096 ImageGetInfo (by Lazycat)] - Read info from JPEG, TIFF, BMP, PNG and GIF - size, color depth, resolution.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/471-image-search-udf Image Search (by VIP)] - Search for an image on the desktop. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70506 IrrLicht (by A. Percy)] - A 3D graphics engine suitable for creating games.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160732 OpenCV (by myliseJ)] - UDF for the OpenCV library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206432 OpenCV v4+ (by smbape)] - OpenCV UDF with support for OpenCV v4+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151011 OpenGL (by LarsJ)] - OpenGL without external libraries etc. For JPEG files it also retrieves various Exif information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148129 OpenGL (2.0) (by minx)] - New set of UDFs for OpenGL + AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152950 S3D (by Starg)] - Draw simple 3D graphics with GDI+.&lt;br /&gt;
&lt;br /&gt;
===Players===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114143 VLC (by seangriffin)] - VLC (Media Player) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91316 VLC Media Player (by ptrex)] - VLC Media Player.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27352 WMP (by ConsultingJoe)] - Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44008 WMP - Media Controls (by CFire)] - Another Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203154 WMP - GUI Control (by SudeepJD)] - IE based WMP Control.&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83481 BASS Function Library (by BrettF)] - Sound and Music via wrappers for Bass, BassEnc, Bass FX, BassSFX, BassAsio and BassCd DLLs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173808 libZPlay (by Danyfirex)] - Multimedia library for playing mp3, mp2, mp1, ogg, flac, ac3, aac, oga, wav and pcm files and streams.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=37072 MIDI (by eynstyne)] - MIDI UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208116 MIDI (by MattyD)] - Wrap of the Windows MIDI functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114742 SAPIListBox (by seangriffin)] - SAPIListBox (Speech Recognition) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=100439 TTS (by Beege)] - Text-to-Speech UDF.&lt;br /&gt;
&lt;br /&gt;
== PDF ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162195 Acrobat Reader - ActiveX Viewer (by mLipok)] - Make your own PDF Viewer GUI with Acrobat Reader ActiveX COM Object &amp;quot;AcroPDF.PDF.1&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164469 Debenu PDF Viewer SDK (by mLipok)] - A collection of functions to display PDF files in your applications using Debenu PDF Viewer SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160875 Debenu Quick PDF Library (by mLipok)] - A collection of functions for Debenu Quick PDF Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75832 FoxIt Reader (by ptrex)] - PDF Reader in AU3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118827 MPDF (by taietel)] - Create PDF from your application.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=42776 PDFCreator (by ptrex)] - Automation of PDFCreator allows you to create and manipulate PDF files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170550 PDFCreator (by mLipok)] - UDF for PDFCreator v1.x.x with working EVENTs Handler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32261 _StringToPDF (by Tam0r)] - Write a string to a PDF file and specify font size, type etc.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145158 Firewall (by JLogan3o13)] - Control and manipulate the Windows Firewall (enable/disable, Exclusions list, enable/disable ports etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194015 Firewall policy2 (by Bilgus)]- Provides access to the firewall policy for Windows Vista+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150819 VirusTotal (by Danyfirex)] - VirusTotal API 2.0 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred (by DonChunior)] - Interface to the Windows Credential Management API.&lt;br /&gt;
&lt;br /&gt;
== Social Media and other Website API ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159254 Cex.io (by AquilesCrespo)] - UDF script for using with the web api from https://cex.io/ server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169333 CrowdinAPI (by mLipok)] - Uses the [https://crowdin.com/page/api crowdin.net website API] for some functions (create projects, add and update files, download translations or integrate localization).&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/290-dropbox-authenticator/ Dropbox authenticator (by Gimerly)] - Dropbox authenticator.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158106 Easypost (by dcat127)] - Print USPS Postage Labels.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114801 eBay (by seangriffin)] - eBay UDF (functions GetItemStatus and GetSingleItem from the &amp;quot;Shopping API&amp;quot;).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=141340 Gmail (by PhoenixXL)] - Remote Gmail (UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192422 Gmail API (by Ascer)] - Automate communication with Gmail using oAuth 2.0 security. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98504 Google Functions (by Beege)] - Google Functions (Suggestions, Definitions, Translate, Convert).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=115437 Google Maps (by seangriffin)] - Google Maps UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70675 iTunes (by torels)] - iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101802 iTunes (by Beege)] - Another iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150985 No-IP (by Nessie)] - Simply update your no-ip hostname(s) and retrieve the ip address of an no-ip address.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192391 oAuth (by Ascer)] - Open standard for access delegation, commonly used to grant websites or applications access to other websites.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150838 PasteBin (by mrflibblehat)] - Pastebin UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121767 Skype (by FireFox)] - Skype4COM provides an ActiveX interface to the Skype API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113234 Teamspeak 3 (by chipDE)] - Teamspeak 3 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186944 TeamViewer API (by mLipok)] - A collection of function for use with TeamViewer API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186381 Telegram Bot (by LinkOut)] - UDF for [https://core.telegram.org/api Telegram messenger API].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166547 TVmaze.com API (by BBs19)] - TVmaze.com API UDF (TV-Series).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116600 Twitter (by seangriffin)] - Manage Twitter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149247 Yahoo Weather (by Nessie)] - Yahoo Weather API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112775 Youtube Uploader (by BrettF)] - AYTU - AutoIt Youtube Uploader.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50880 ACL (by ptrex)] - Set ACL on windows Objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134508 ACL (by FredAI)] - Do most everything with the DACL and ownership on all types of objects: Files or folders, Registry keys, services, Kernel and WMI objects, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206400 BITS (by DonChunior)] - Background Intelligent Transfer Service to download files from or upload files to HTTP web servers and SMB file shares.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184937 CertUtil (by mLipok)] - Wrapper for windows certutil.exe (command-line program that is installed in Windows as part of Certificate Services).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113560 FileSystemMonitor (by seangriffin)] - Monitors the file system by recording all file system events occurring within a given path.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111018 ITaskBarList (by Beege)] - ITaskBarList UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74118 Local account (by engine)] - Manage local accounts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161193 Magnifier Functions (by Ascend4nt)] - Exposes most of the useful Magnifier API functions available since Windows Vista.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75250 Registry (by engine)] - Windows Registry UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50551 Registry (by seanhart)] - RegWriteAllUsers / RegDeleteAllUsers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=80201 Service (by arcker)] - Build your own service with AutoIt code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124508 Startup (by guinness)] - Create Startup entries in the Startup Folder or Registry.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164756 SCCM (by JLogan3o13)] - Systems Center Configuration Manager Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134628 System restore (by FredAI)] - System restore UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186111 SubstWrapper (by mLipok)] - Wrapper for windows subst.exe command - (Associates a path with a drive letter).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135994 Taskplanner/Taskscheduler COM (by Allow2010)] - an UDF for using the Windows Taskplaner / Task Scheduler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83355 Task Scheduler (by dbzfanatic)] - Task Scheduler UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200068 TaskScheduler (by water)] - Brushed up Task Scheduler UDF. Link to the [[TaskScheduler|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173934 TTS (by Kanashius)] - Used with SAPI Automation Object - text-to-speech (TTS) engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158377 UAC (by AdamUL)] - User Account Control (UAC) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=175719 Utter (by Surya)] - Utilizing more of SAPI (Speech Recognition UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127075 WIMGAPI (by Homes32)] - Manipulate Windows Image Files (.wim) without ImageX.exe.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=28436 Windows Events (by Emperor)] - Create your own Windows events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=6487 Windows Service Control functions (by SumTingWong)] - Some limited functions to control services (create, start, stop, delete, check ...).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81880 Windows Services (by engine)] - Windows Services UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163178 WRMF (by Luigi)] - WRMF - Windows Registry Monitor Call Function.&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/topic/178871-dllcall-with-c-example/#comment-1285754 SMSApi (by mLipok)] - UDF for SMSAPi which provides SMS services. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/index.php?showtopic=178589 BulkSMS (by Skysnake)] - UDF for BulkSMS which provides SMS services. --&amp;gt;&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145099 _AdlibEnhance (by JScript)] - Enhance Adlib to call functions with parameters, pause and resume.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160936 Android (by Moriba)] - Control any Android device.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97826 Animated tray icons (by Yashied)] - Make animated tray icons easily.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163577 Atom Table (by Ascend4nt)] - Store (add, find, delete, and query) strings locally (at program level) or globally (at OS level) with unique numerical identifiers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170087 Barcode generators (by willichan)] - Creates a Code128A/B/C or Creates a Code39 or Code39Extended optimized barcode from supplied data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211660 BlockInput (by Nine)] - Block all input coming from mouse and/or keyboard, without having an UAC warning displayed. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87735 BlockInputEx (by MrCreatoR)] - Supports a few features that built-in BlockInput() function does not.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29763 Clipboard (by eltorro)] - When apps need to watch the clipboard.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170630 ClipboardEx (by ozmike)] - Allows to have more than 1 item in the Clipboard. Handles all data types, not just text.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81267 Clipboard History (by wraithdu)] - Save and restore the entire clipboard contents. Inspired by AHK&#039;s ClipboardAll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169610 CmdLine (by Jefrey)] - Collection of functions to parse command line arguments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126569 Console (by Shaggi)] - Functions and features to work wiht Console input/output.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121833 Copy (by Yashied)] - Copy or move files and directories without suspending your script. Retrieve the current state (copied bytes, error code etc.) while copying.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154684 Date / Time convert (by Melba23)] - Transform date/time formats.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99106 _DLLStructDisplay (by Ascend4nt)] - Show Struct in ListView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157689 _FileGetMimeType (by Wiliat87)] - Retrieve MIME types based on the extension of the filename/filepath/URL provided.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117033 File locking with cooperative semaphores (by willichan)] - Simple file locking without a server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157241 FindMimeFromData (by twbradio)] - FindMimeFromData using urlmon.dll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181997 Font Icon (by J2TeaM)] - Use Font Awesome in your AutoIt project.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68422 HotString (by jvanegmond)] - Similar to the HotKey function but trigger on a string, instead of a key or key combination.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173946 LASM - Light Assembler (by minxomat)] - Inline UDF for an Assembler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161628 LFN (by orbs)] - Overcome MAX_PATH limit of 256 chars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111492 Link Grammar for AutoIt (by JRowe)] -  Input is a regular sentence in English, German or Italian, output is a pattern parsed from the structure of the sentence.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/147-mruau3 MRU (by Yashied)] - Most Recently Used (MRU) List Automation functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188158 .NET Common Language Runtime (CLR) Framework (by Danyfirex, Junkew, Larsj, ptrex, Trancexx)] - Allows AutoIt to access .NET Class Libraries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101733 NoFocusLines (by Melba23)] - Remove the dotted focus lines from buttons, sliders, radios and checkboxes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149176 NotifyIcon (by FireFox)] - Create, delete and manage self notify icons (formerly TrayIconEx). &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=63318 PixelGetColor (by Manadar)] - Get or Read Pixel from memory.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167024 RDC (by Yashied)] - ReadDirectoryChanges Wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51103 Resources (by Zedna)] - Embed any binary data into your AutoIt compiled EXE files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162499 ResourcesEx (by guinness)] - Up to date version of Zedna&#039;s Resources UDF. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111215 Restart (by Yashied)] - Allows to restart a script from any location with full restoration of the original command line parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51547 SciLexer (by Kip)] - Editing control, supports multiple editors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152093 ScriptEditor (by pandel)] - ScriptEditor with I18N support and customizable lexer completely written in AutoIt (based on SciLexer).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162033 Spell Checker (by iCode)] - Spell Checker functions to call Hunspell, Hyphenate and MyThes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164444 Synology filestation (by nend)] - Functions to interact with a Synology NAS server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163328 TimeConvert (by orbs)] - Convert UTC to/from local time, and/or reformat the string representation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint (by UEZ)] - Creating barcodes using the Zint.dll.&lt;br /&gt;
[[Category:UDF]]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15287</id>
		<title>User Defined Functions</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15287"/>
		<updated>2026-05-07T16:45:38Z</updated>

		<summary type="html">&lt;p&gt;Water: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
This page is a listing of libraries of &#039;&#039;&#039;user defined functions&#039;&#039;&#039; (UDF). These libraries have been written to allow easy integration into your own scripts and are a very valuable resource for any programmer.&amp;lt;br /&amp;gt;&lt;br /&gt;
This list is probably not complete (409 UDFs on 2026-05-07), but constantly supplemented.&lt;br /&gt;
If you do not find a solution here, ask a new question on the [https://www.autoitscript.com/forum/forum/2-general-help-and-support/ forum].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
The listed UDFs might have been written for older versions of AutoIt. So there is no guarantee that every UDF works smoothly with newer versions.&amp;lt;br /&amp;gt;&lt;br /&gt;
None of the UDFs has been tested by the maintainers of this list so you as a user need to make sure that they deliver the expected results.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;When will an UDF be added to this list?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
It should meet all/most of the general requirements for UDFs as described [[UDF-spec|here]].&amp;lt;br&amp;gt;&lt;br /&gt;
In addition the following requirements should be met:&lt;br /&gt;
* &#039;&#039;&#039;Documentation&#039;&#039;&#039;: So users can tell what the UDF is intended to do (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Examples&#039;&#039;&#039;: So users can get an idea how to use the UDF. The more the better (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Operating systems&#039;&#039;&#039;: Should support the latest Microsoft OS (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;AutoIt&#039;&#039;&#039;: Should support the latest version of AutoIt (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Author&#039;&#039;&#039;: The author should still be active on the forum so he can reply to questions (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What to do when one of your UDFs is missing?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please send a [https://www.autoitscript.com/forum/messenger/compose/?to=7903 PM] to user water. Add a short description of the UDF and a link to your post in the [https://www.autoitscript.com/forum/forum/9-autoit-example-scripts/ Example Scripts] or [https://www.autoitscript.com/forum/forum/49-autoit-projects-and-collaboration/ Projects and Collaboration] forum.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Added in the past two years&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date !! Section !! Creator !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-07 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || MattyD || [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP UDF] - SNMPv1 and SNMPv2c.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-01 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment] - Least Squares Adjustment.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-04-01 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || WildByDesign || [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-10 || [[User_Defined_Functions#Inter_Process_Communications|Inter Process Communications]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC] - Inter Process Communication using TCP/IP.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-09 || [[User_Defined_Functions#Browsers|Browsers]] || ioa747 || [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt] - Integrate WebView2 into AutoIt via COM. &lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-19 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF] - TCP/UDP Networking Library.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || BugFix || [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx] - Another kind of group, versatile changeable.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-16 || [[User_Defined_Functions#Security|Security]] || DonChunior || [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred] - Interface to the Windows Credential Management API.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || genius257 || [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast] - Native Win8+ toast notifications.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Media|Media]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Hardware|Hardware]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213296 Monitor] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-09-22 || [[User_Defined_Functions#Misc|Misc]] || UEZ || [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint] - Creating barcodes using the Zint.dll.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-07-27 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || DXRW4E || [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-04-16 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || seangriffin || [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-03-22 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-02-26 || [[User_Defined_Functions#Controls|Controls]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-16 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Gianni || [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask] - Easily run and manage many processes.&lt;br /&gt;
|- &lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || NoNameCode || [https://www.autoitscript.com/forum/index.php?showtopic=211475 Darkmode] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Network_Guy || [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-11 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || t0nZ || [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog] - Logs made easy.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || argumentum || [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-21 || [[User_Defined_Functions#Controls|Controls]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker] - Date Range Picker Control.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-06 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-03-27 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=211718 FuzzyString] - Fuzzy string comparison and search in string arrays.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place the Table of contents (TOC) here --&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Automation ==&lt;br /&gt;
&lt;br /&gt;
===Browsers===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154439 Chrome (by seangriffin)] - Automate the most common tasks in Chrome with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95595 Firefox (by Stilgar)] - A little less support for automation than IE, but still very good.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167661 Firefox (by Danp2)] - Modified newer version of Stilgar Firefox UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/224-firefox-profile-backup/ FireFox Profile Backup 1.0 (by careca)] - Backup or restore your firefox profile. The application searches for the profile in home drive that will be the one to backup.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _FF_AutoLogin (by Stilgar)] - This is a auto-login function and login-function-generator for FireFox and the FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92035 _FF_DM (by Stilgar)] - UDF to control the FireFox Download-Manager (not the download-window).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91650 _FF_FoxBox (by Stilgar)] - UDF to control Fox!Box (A Mozilla Firefox extension for the AVM FRITZ!Box) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91665 _FF_Screengrab (by Stilgar)] - UDF to control Screengrab! (FireFox-AddOn) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _HTML (by Stilgar)] - Get informations from any HTML (XML) source, without any browser.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166542 HTMLDocumentEvents (by SmOke_N)] - Track IE document events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167035 IEEx (by SmOke_N)] - IE extended library with some Javascript options.&lt;br /&gt;
* Internet Explorer (by DaleHohm et al.) - IE library that is now supplied with a standard AutoIt install.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153520 IUIAutomation MS framework (by junkew)] - IUIAutomation MS framework to automate chrome, FF, IE etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149203 NavInfo (by Nessie)] - With this UDF you can check if a specified browser/software is installed and which version is being used.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=61090 Opera (by MrCreatoR,)] - Automate the most common tasks in Opera with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191990 WebDriver (by Danp2)] - W3C compliant Webriver UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt (by ioa747)] - AutoIt WebView2 Component (COM Interop).&lt;br /&gt;
&lt;br /&gt;
===Microsoft Office===&lt;br /&gt;
Some features of Microsoft&#039;s Office products are proprietary and cannot readily be manipulated.  Sometimes workarounds are required.&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;[[Known issues with Microsoft Office automation.|This page]]&amp;lt;/u&amp;gt; is dedicated to identifying those issues, provide explanations and list solutions or workarounds.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32144 Microsoft Office Access (by randallc)] - Automate Microsoft Access.&lt;br /&gt;
* Microsoft Office Excel (by water et al.) - This UDF is included in AutoIt. Link to the [[Excel_UDF|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135312 Microsoft Office Excel Charts (by water, GreenCan)] - Creating charts using Microsoft Excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204034 Microsoft Office Excel Pivot Tables (by SudeepJD)] - Create and Update Excel Pivot Tables and Charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126305 Microsoft Office Outlook (Items) (by water)] - Automate Microsoft Outlook Items. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202451 Microsoft Office Outlook (GUI) (by water)] - Automate Microsoft Outlook GUI. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197346 Microsoft Office Outlook Tools (by water)] - Built on top of the OutlookEX UDF it offers some often needed extended functionality (import/export ics/vcf files etc.). Link to the [[OutlookTools|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50254 Microsoft Office PowerPoint (by Toady)] - Automate Microsoft PowerPoint.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=178783 Microsoft Office PowerPoint (by water)] - Automate Microsoft PowerPoint. Link to the [[Powerpoint|documentation]] pages.&lt;br /&gt;
* Microsoft Office Word (by water et al.) - This UDF is included in AutoIt. Link to the [[Word_UDF|documentation]] pages.&lt;br /&gt;
&lt;br /&gt;
===OpenOffice/LibreOffice===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210514 LibreOffice Suite (by donnyh13)] - A huge list of functions for LibreOffice Base, Calc and Writer. Link to the [[LibreOffice|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151530 OOo/LibO Calc (by GMK)] - OpenOfficeCalc UDF (works also for Libre Office).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185932 OpenOffice/LibreOffice Spell Checker (by GMK)] - Function to validate words, and show spell alternatives.&lt;br /&gt;
&lt;br /&gt;
===Other Applications===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106163 Active Directory (by water)] - Extensive library to control and manipulate the Windows active directory ([https://www.autoitscript.com/forum/files/file/355-ad-active-directory-udf/ Download]). Link to the [[Active_Directory_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87956 Java (by seangriffin)] - Creates an access bridge between your application and a Java application. Allowing you to automate some Java applications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86574 SAP (by seangriffin)] - SAP business management automation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149540 SAPWizard (by ozmike)] - SAPWizard UDF.&lt;br /&gt;
&lt;br /&gt;
== Script Coding/Analyzing/Debugging ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209528 ArrayCombinations (by AspirinJunkie)] - Different ways of composing elements of a set.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155442 ArrayMultiColSort (by Melba23)] - Function to sort a 2D array on several columns.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209523 ArrayPlus (by AspirinJunkie)] - Functions for flexible Array handling (create, extract, rebuild, sort, filter, find, print)&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180467 ArrayWorkshop (by czardas)] - Multidimensional array functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=59174 Associative array functions (by Nutster)] - Manage a version of associative arrays in single AutoIt variables. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=198929 AutoIt error logger (AUERLO) (by user4157124)] - File- and stdout (etc.) output of messages, errors, exit method and -code, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110379 AutoItObject (by ProgAndy and others)] - Brings the Object Orientation programming paradigm to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112879 AutoIt Syntax Highlight (by MrCreatoR)] - Highlights AutoIt v3 syntax code to html/bbcode format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191488 cDebug (by c.haslam)] - Dumps the values of all AutoIt subtypes and expressions including nested arrays, DLL structs and maps.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor (by Nine)] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195882 ErrorLog (by mLipok)] - Logs program activities and errors to different output locations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211718 FuzzyString (by AspirinJunkie)] - Fuzzy string comparison and search in string arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143167 GetOpt (by dany)] - Parse GNU and DOS style command line options similar to getopt().&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog (by t0nZ)] - Logs made easy.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156196 Log4a (by zorphnog)] - Logging library loosely based upon the log4j and NLog libaries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195862 Loga (by Danyfirex)] - Simple logging library to keep track of code with an integrated console.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119032 Log UDF (by Yashied)] - Create a text log files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202832 OnDebugMsgBox (by argumentum)] - Catch the dreaded &amp;quot;AutoIt Error&amp;quot; MsgBox and prettify or hide it.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209529 Set (by AspirinJunkie)] - Provides a set data type and brings the corresponding mathematical functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200660 Variants and Safearrays (by LarsJ)] - Create/access/process Variants and SafeArrays.&lt;br /&gt;
&lt;br /&gt;
=== Inter Process Communications ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202485 AppInteract (by MrCreatoR)] - Reliably pass arrays or other types between processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC (by Kanashius)] - Inter Process Communication using TCP/IP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=205109 AutoItSharedData (by SEuBo)] - Create a shared data storage, a simple AutoItObject-Object, using AutoItObject_Internal.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188991 Autoit-Socket-IO (by tarretarretarre)] - Event driven TCP/IP wrapper inspired by Socket.IO with focus on user friendliness and long term sustainability.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126936 Container (by MrCreatoR)] - Scripts interaction method. Allows to transfer whole arrays as data, and even COM objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=55994 DDEML (by doudou)] - Use your AutoIt script as DDE client or server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193277 FMIPC (by argumentum)] - IPC via FileMapping.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127615 Interprocess (by JScript)] - Remotely execute a function in another script (using Mailslot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193158 IPC_IO (by JohnWIlling)] - IPC library supporting multiple connection types (such as: Named Pipe, File, TCP, SharedMemory, MailSlot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202618 IPC Techniques through ROT Objects (by LarsJ)] - Implementing IRunningObjectTable Interface.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106710 Mailslot (by trancexx)] - IPC using Mailslots.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204734 Overlapped Named Pipe IPC (by Nine)] - Very fast interprocess communication that could be used between VBS or AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169797 Pool - Post Office for Organized Labour (by RTFC)] - Provides multiple AutoIt processes with an infrastructure for exchanging messages, data, and remote-control instructions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202587 WCD IPC (by Nine)] - Framework for Inter Process Communication using Windows Messages WM_COPYDATA.&lt;br /&gt;
&lt;br /&gt;
=== Parallel/concurrent processing ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork (by argumentum)] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186853 _Multiprocess (by jguinch)] - Run several external programs at the same time and retrieve the exit code of each process.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask (by Gianni)] - Easily run and manage many processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking (by Network_Guy)] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT (by Nine)] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
&lt;br /&gt;
== Files, Databases and web connections ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180850 ADO (by mLipok)] - A modifed version of the _SQL UDF to access all kind of databases (MSSQL, MySQL, PostgreSQL, SQLite, MS ACCESS, XLS, TXT, and many other which use ADO and ODBC).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105875 ADODB (by spudw2k)] - ADODB Example.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 AXML (by Aipion)] - This is a Wrapper for Pugixml, made with C++.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145142 DBF (by funkey)] - dBase database read and write with DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/topic/114406-csv-file-to-multidimensional-array/#findComment-799820 CSV (by ProgAndy)] - Read/write CSV files to/from 2D arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197909 CSV (by seangriffin)] - Manipulate CSV files using SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155748 CSVSplit (by czardas)] - Convert to and from CSV format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151116 DIF (by willichan)] - Read/write DIF (Data Interchange Format) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119238 Excel file generation (by jerome)] - Excel file generation (multi-sheet workbook) without the need to have Excel installed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143866 Excel XML (by FireFox)] - Work with SpreadsheetML (Open XML file formats).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155905 EXml (by jdelaney)] - Create Excel file (SpreadsheetML) through &amp;quot;Microsoft.XMLDOM&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116072 EzMySql (by Yoriz)] - Use MySQL Databases with AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148232 _FileGetProperty (by BrewManNH)] - Retrieve properties of a file.Xml2Json&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94920 FireBird (by eltorro)] - FireBird, Interbase DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx (by DXRW4E)] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197421 jq (by TheXman)] - Brings the power and flexibility of jq (an open-source command-line based JSON processor) to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209502 JSON (by AspirinJunkie)] - Interacting with JSON data in AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104150 JSON (by Gabriel13)] - RFC4627 compliant JSON encode/decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148114 JSON (by Ward)] - JSMN - A Non-Strict JSON UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156794 JSON (by ozmike)] - Bridge to Native Windows JSON plus OO extension for AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC (by seangriffin)] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173797 JSONgen (by Jefrey)] - Generate JSON.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127101 MS SQL (by TheLuBu)] - MSSQL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51952 MS SQL (by ChrisL)] - _SQL. ADODB Connection.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20814 MySQL (by cdkid)] - MySQL relational database management system.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85617 MySQL (by ProgAndy)] - MySQL UDFs (without ODBC - working with libmysql.dll).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=122360 MySQL (by James)] - MySQL ODBC Connector.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187223 romaSQL (rynow)] - Built on the concept of Laravel Query &amp;amp; doctrine. Connection string is based on ADODB / ODBC.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143331 Sharepoint 2007/2010 (by schoppet)] - Access the SOAP-Webservices of Sharepoint 2007/2010.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17099 SQLite (by ptrex)] - SQLite is a library that implements a self-contained, embeddable, zero-configuration SQL database engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=142977 SQLite Array Functions (by SmOke_N)] - SQLite Array Functions - a faster method for unique arrays and sorting methods.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140521 SQLite - Database (by PhoenixXL)] - UDF for SQLite so that beginners will also be able to do the stuff.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157853 SQLiteEx (by 57ar7up)] - SQLiteEx UDF v0.5.1 - Simplest work with SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163633 Xbase I/O (by RTFC)] - Transfer data between Xbase Data file (*.dbf) and AutoIt array written in pure AutoIt (no SQL, no ADO, no dlls, no external dependencies).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209526 xlsxNative (by AspirinJunkie)] - Read and write xlsx files without excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=19848 XML DOM Wrapper (by eltorro)] - Supports CRUD operations on XML. Including XSL and XPath.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 XML (by mLipok)] - New version of XML DOM Wrapper, with many new features.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208932 Xml2Json (by TheXman)] - Transform XML to JSON.&lt;br /&gt;
&lt;br /&gt;
== Data compression ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85094 7z, zip, gzip, bzip2, tar (by rasim)] - Extensive library that uses a external DLL that must be provided with the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92958 gZip (by Zinthose)] - Based on the parsing of gZip.exe output. It can work with memory, it doesn&#039;t work with files. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87441 LZMA (by trancexx)] - LZMA (Native Windows).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138838 Package (by Yashied)] - Package UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129529 pZip (by asdf8)] - PureZIP_L library UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=76176 UnRAR (by rasim)] - UnRAR.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17727 XZip (by eltorro)] - Another UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161847 XZip (by mLipok)] - UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44524 Zip plugin (by eltorro)] - Zip plugin.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73425 ZIP (by torels)] - ZIP UDF in pure AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116565 zip (by wraithdu)] - Create ZIP files and unpack ZIP files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135565 ZIP (by joakim)] - ZIP STRUCTS UDF (from scratch).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87284 ZLib (by monoceres)] - Based on ZLib.dll. It can compress/uncompress data in memory, it doesn&#039;t work with files.&lt;br /&gt;
&lt;br /&gt;
== Encryption and hash ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81332 _Base64Encode, _Base64Decode (by trancexx)] - Fast _Base64Encode, _Base64Decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153246 Base91 and Base128 (by Beege)] - Base91 and Base128 functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155538 Codecrypter (by RTFC)] - Encrypt scripts without placing the key inside the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=201002 Cryptography API: Next Gen (by TheXman)] - Microsoft&#039;s long-term replacement for their CryptoAPI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210901 Enigma (by willichan)] - Simple encryption based on the Enigma Machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203990 GDPR (by mLipok)] - Functions to encrypt/decrypt strings and files with the GDPR in mind.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95558 Hashes for files (by trancexx)] - Fast RC32, MD4, MD5, SHA1 calculation for big files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107784 TrueCrypt (by FuryCell)] - TrueCrypt UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140737 WinTrust (by kasty)] - verify the integrity of a file with its embedded signature or a given catalog.&lt;br /&gt;
&lt;br /&gt;
== GUI Additions ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast (by genius257)] - Native Win8+ toast notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97241 3D Pie chart (by WideBoyDixon)] - 3D Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173924 Chart_UDF (by Kanashius)] - This UDF can be used to Display bar charts in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96258 ContextHelp (by Yashied)] - Management of context help ([https://www.autoitscript.com/forum/index.php?showtopic=72152-contexthelp/ original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211475 DarkMode (by NoNameCode)] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109096 ExtMsgBox (by Melba23)] - A very customisable replacement for MsgBox.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx (by BugFix)] - Another kind of group, versatile changeable.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105582 GUICtrlOnChangeRegister (by Mat)] - Call a function when an edits content is changed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme (by WildByDesign)] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145149 GUIExtender (by Melba23)] - Expand and contract sections of your GUI ([https://www.autoitscript.com/forum/index.php?showtopic=117909 original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197654 GuiFlatButton (by kurtykurtyboy)] - Change colors of regular buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119505 GUIFrame (by Melba23 &amp;amp; Kip)] - Divide a GUI into adjustable frames.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=144207 GUI Panel (by FireFox)] - Manage child GUIs as panel ctrls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113723 GUI Scrollbars (by Melba23)] - Automatically sized scrollbars with a single command.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161184 MetroGUI (by BBs19)] - Windows 10 style buttons, toggles, radios etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 Modern tray menu (by Holger)] - Allows the creation of modern, fancy GUI and tray menus with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194693 MTSkin (by Taskms4)] - Simply create modern looking GUIs (borderless GUI, Interactive menu panel (with mouse-over detection), a bunch of skins).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182136 Notifications (by S3cret91)] - Display permanent desktop notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=136149 Notify (by Melba23)] - Small notifications on the edge of the display.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161750 Pie chart (by Andreik)] - Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75429 Real Vista Aero Glass (by James)] - Real Vista Aero Glass UDF - you can apply glass effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF (by Nine)] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=71811 SetOnEvent (by martin)] - Provides an easy way for an event to call functions with parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=103871 _SysTray (by wraithdu)] - Get info about and manipulate Systray icons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108445 Toast (by Melba23)] - Small message GUIs which pop out of the Systray.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110003 Tray Icon Bar Graph (by BeeGee)] - Creates a scrolling bar graph as the tray icon.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=132864 Uskin (by JScript)] - Allows you to skin your GUI using the Windows &#039;&#039;.MSstyles&#039;&#039; files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191821 Wi3SMenu (by NHD)] - Create a slide menu with Windows 10 style. Supports color, icon and opacity.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129196 WinSnap (by Beege)] - Automatic Window Alignment by applying that &amp;quot;snappy edge&amp;quot; effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32494 XSkin (by Valuater)] - Allows skinning of your GUI and to apply custom skins.&lt;br /&gt;
&lt;br /&gt;
=== Controls ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202529 BrowseForFolder (by MrCreatoR)] - Handle SHBrowseForFolderW with more options, such as multi selection (checkboxes), window position, controls text and more. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=146406 Calendar (by jmon)] - Calendar UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125293 ChooseFileFolder (byMelba23)] - Single and multiple selections from specified path treeview listing.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96464 Colorpicker (by Yashied)] - Create a button for the user to select a color.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker (by Nine)] - Date Range Picker Control.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=123409 Explorer Frame UDF (by Beege)] - Takes any frame created by GUIFrame and turns it into a MS-Windows like Explorer window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview (by Kanashius)] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173929 GDIPlus Slider UDF (by Kanashius)] - This UDF can be used to create a slider with an imagebackground and an image to move.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=79412 Graph control (by andybiochem)] - Easily create and show bar chart and line charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104399 GraphGDIPlus UDF (by andybiochem)] - Easily create and show bar chart and line charts with GDI+ to take advantage of double-buffering.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105682 GUICtrlCreateFinder (by Mat)] - Allows you to create a window finder control like the one seen in AutoIt Window Info.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107965 GUIHotkey (by Mat)] - UDF for using native hotkey controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182492 GUIListViewEx (by Melba23)] - Insert, delete, move, drag, sort, edit and colour ListView items.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111438 GUIPager (by Mat)] - Create and control native pager controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 GUI/Tray Menu (by Holger, LarsJ, AZJIO)] - GUI/Tray Menu with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166594 GUITreeViewEx (by Melba23)] - Check/clear parent and child checkboxes in a TreeView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=90598 Hotkey input control (by Yashied)] - Hotkeys Input Control UDF Library (Non-native).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173932 ListView Edit UDF (by Kanashius)] - This UDF can be used to simply edit an Listview.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109355 ListView - Explorer like ListView UDF (by Beege)] - This UDF simplify creating MS Explorer-like ListViews.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143711 Marquee (by Melba23)] - Make tickertape info bars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143380 Predict Text UDF (by PhoenixXL)] - Sub classes the edit control and matches the current word through the Database &amp;amp; sets selection in accordance.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163939 Progressbar new style (by Muzaiyan)] - New styles for your progress bar.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74649 Progressbar with GDIplus (by ProgAndy)] - You even can use full textured images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151636 RestrictEdit_SRE UDF (by PhoenixXL)] - Restrict the text that can be entered in an editbox through a String Regular Expression.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128242 Ribbon (by trancexx)] - UDF for Windows Ribbon framework.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114034 StringSize (by Melba23)] - Automatically size controls to fit the text you want to put in them.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126958 Syslink (by Yashied)] - Provides a convenient way to embed hypertext links in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105814 Table (by andybiochem)] - Table UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211024 Toggle Button (by Andreik)] - Create simple toggle buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125251 TVExplorer (by Yashied)] - Allows to create TreeView (TV) Explorer controls that display a tree of files and folders.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=190659 Virtual Listview (by LarsJ)] - Virtual Listview for large amounts of data with a large number of rows.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195053 Windows Message Monitor (by LarsJ)] - Monitor Windows Messages of a window or control.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118317 Battery UDF (by Yashied)] - Retrieves various information and current status of the battery(s).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154727 BuildPartitionTable (by RTFC)] - Scans a physical drive&#039;s partition table and returns a partition_table, allocation_table and volumes_table.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155674 CommAPI (by therealhanuta)] - Serial and parallel communication (COM port, RS-232, LPT port) - without installing DLL&#039;s (using Windows API calls).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77731 Device Management (by weaponx)] - Device Management API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97487 DirectShow (by monoceres)] - DirectShow UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164700 DirectSound (by eukalyptus)] - DirectSound UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164701 Direct2D (by eukalyptus)] - Direct2D UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99713 Drive Info (by NerdFencer)] - Gathers drive info for Hard Drives, Disk Drives, and Floppy Drives.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138989 FritzBox (by Allow2010)] - _FB_Tools - manage your FritzBox from Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121084 I/O Port Functions (by Ascend4nt)] - Input/Output UDF for interacting with ports (x64 Parallel Port, Keyboard etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203207 MediaDevice (by Danyfirex)] - Transfer files to portable devices like phones, storages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php=showtopic=213296 Monitor (by Trong)] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154350 Monitor Configuration (by jaberwacky)] - Monitor Configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155469 Mouse (by AlmarM)] - AutoIt powered mouse events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=147325 MouseTrapEvent (by ozmike)] - MouseTrapEvent UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149083 NetInfo (by Nessie)] - UDF for test internet download speed and upload speed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155539 Network configuration (by jguinch)] - Network configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182684 Nitgen (by Jefrey)] - UDF to work with Nitgen fingerprint readers that use NGenBio SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210968 Printer Manager (by Nine)] - Manage printers with winspool.drv DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155485 Printers management with WMI (by jguinch)] - Add/delete printer, driver, port, or obtain configuration, set default printer ...&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=189190 Serial port UDF / COM port UDF (by MazeM)] - It is very similar to CommAPI using kernel32.dll, but all code is packed into a single file without any dependencies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128546 Serial Port/COM (by martin)] - Serial Port /COM Port UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27755 SMARTDRIVE (by ptrex)] - SMART drive Analysis.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158640 SPI Hardware Interface (by Blinky)] - Communicate with the MAX335 chip using the SPI protocol via the LPT (printer) port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=8188 VISA/GPIB (by Angel)] - VISA/GPIB library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68866 Webcam (by LIMITER)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70857 Webcam (by ludocus)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91018 WiFi (by MattyD)] - Low level control over your wireless LAN.&lt;br /&gt;
&lt;br /&gt;
== Information gathering ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29404 Computer information (by JSThePatriot)] - A general purpose library to get various details about a Windows machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151920 NetworkStatistics (by Ascend4nt)] - Network Interface Info, Statistics, and Traffic.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=54039 WinPcap (by JRSmile)] - Wrapper for the windows packet capture library WinPcap.&lt;br /&gt;
* [https://opensource.grisambre.net/pcapau3/ WinPcap (by Nicolas Ricquemaque)] - A library to access the main functionalities offered by the WinPcap driver.&lt;br /&gt;
&lt;br /&gt;
== Internet protocol suite ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207859 cURLX64 (by Beege)] - cURL UDF with x64 support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=137456 cURL (by seangriffin)] - A UDF for transferring data with URL syntax.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187718 HTTP lib (by Jefrey)] - HTTP lib (GET, POST and upload) UDF to simplify HTTP requests, mainly when dealing about POST data or file uploads.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202895 HttpApi (by TheXman)] - HTTP Server API enables applications to communicate over HTTP without using MS Internet Information Server (IIS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=40243 IMAP (by mikeytown2)] - IMAP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108422 IMAP4 (by Tipulatoid)] - IMAP4 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=43515 IRC (by McGod)] - A lightweight library for communicating with IRC servers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159285 IRC (by rcmaehl)] - IRC UDF - Updated Version of Chips&#039; IRC UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=22838 POP3 (by Apzo)] - POP3 library for retrieving email messages. Not compatible with Gmail because it uses SSL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167339 POP3 (by mLipok)] - POP3 UDF According to the 1939 RFC, modified version with Quoted Printable decoder.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154530 Prowl (by mrflibblehat)] - Push notifications to iPhone, iPod touch or iPad using Prowl (Growl client for iOS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138095 SFTP (by Lupo73)] - UDF to support SFTP protocol using PSFTP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154054 Socket UDF (by funkey)] - Socket UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=23860 SMTP (by Jos)] - Smtp Mailer That Supports Html And Attachments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167292 SMTP Mailer UDF (by mLipok)] - Smtp Mailer That Supports Html And Attachments - Modified Version with support to save EML files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81687 SNMP (by enaiman)] - SNMP_UDF for SNMPv1 and SNMPv2c.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211777 SNMP (by MattyD)] - SNMP UDF SNMPv1 and SNMPv2c. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70759 SNMP - MIB protocol (by ptrex)] - Reading toner status from SNMP device with WMI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166579 SSH (by jeanphile)] - Use the SSH protocol very easily in your code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185329 STUN (by j0kky)] - STUN is a protocol that permits you to know your external IP but, more interesting, your external port associated to your internal port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184817 SyslogSend (by Irios)] - This allows sending (BSD) messages to a syslog server using UDP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169774 TCPServer (by Jefrey)] - Multi client, event-based, able to bind console app to socket.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=57022 UPnP Protocol (by ptrex)] - UPnP - Read and Control your devices in side out.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=84133 WinHTTP (by trancexx)] - Access the HTTP protocol for creating GET and POST requests and submitting them with conforming standards, cookies not supported.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77503 WinInet (by -Ultima-)] - Access standard Internet protocols (FTP, Gopher and HTTP). Supports GET/POST requests and cookies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181645 Winsock (by j0kky)] - Create client/server application using native winsock functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF (by Trong)] - TCP/UDP Networking Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191954 WSA_NBTCP (by ripdad)] - Windows Sockets API - Non-Blocking Transmission Control Protocol.&lt;br /&gt;
&lt;br /&gt;
== Maths ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment (By AsprininJunkie)] - Least Squares Adjustment.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170658 Advanced Math UDF (by scintilla4evr)] - Advanced mathematical functions (primes, number sequences, interpolate, calculate values of functions like Riemann zeta etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=102686 Advanced rounding (by Mat)] - Support for different measures of accuracy and 8 ways to resolve tie breaks.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83529 Big number (by eukalyptus)] - Make calculations with extremely large numbers that AutoIt normally is not able to support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106551 Decimal To fraction (by Malkey)] - Converts any decimal number to a fraction. Example: 1.2 to 6/5.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162921 Eigen4AutoIt (by RFTC)] - Allows to perform fast matrix operations on large numerical data sets, and much more ....&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra (by AspirinJunkie)] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140789 MathsEx UDF (by PhoenixXL)] - Functions for Carrying Out More Advanced Mathematical Calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81189 Number base conversion (by james3mg)] - From, to and between positive bases less than 63 (decimals supported).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117156 NumToWord (by Mat)] - Convert numerals to a human readable string.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108803 Polynomials (by Mat)] - Functions for using polynomials.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83091 Primes (by jennico)] - Many functions dealing with prime number generation and calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94770 Roman Numerals (by AZJIO)] - Roman Numerals.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98160 Root function (by Mat)] - Working out real roots of numbers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209527 Stat (by AspirinJunkie)] - Statistics for Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163899 StringAPL (by minx)] - inline APL interpreter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=82722 Trigonometric and math functions (by trancexx)] - _ATan2(), _Cosh(), _Frexp(), _Hypot(), _Ldexp(), _Logb(), _Sinh(), _Tanh().&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95357 FreeImage library (by ProgAndy)] - Various operations on images, such as rotate, resize, flip.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll (by Trong)] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127263 HtmlHelp (by Geodetic)] - HtmlHelp functions for context-sensitive help from CHM (compiled HTML) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116009 HyperCam (by seangriffin)] - HyperCam (Screen Recording) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182535 HyCam2 (by willichan)] - Automation for HyCam2 screen recording utility.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50608 OCR (by ptrex)] - Real OCR in AU3 - MODI with MS Office 2003.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=89542 OCR (by seangriffin)] - Tesseract (Screen OCR) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206133 OCRSpace (by MrKm)] - Convert Images to text with the OCRSpace API. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51054 Printer controller (by martin)] - Print text in any font, size and colour at any position on the page, draw lines, curves, elipses, pies in any colour, and print images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73993 Printing (by GRS)] - Printing from AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202621 QRCreator (by BugFix)] - Simple QR-code creation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161831 RTF_Printer (by mLipok)] - Printing RichEdit in the background.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94834 Simple DirectMedia Layer (by AdmiralClaws)] - Adds support for joysticks, CDs, 2D graphics, timers. See [https://www.libsdl.org/ SDL website] for more information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207324 UWPOCR (by Danyfirex)] - Universal Windows Platform Optical Character Recognition API.&lt;br /&gt;
&lt;br /&gt;
===Graphics and image===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202987 AutoYolo3 (by smartee)] - Real-Time Object Detection using YOLOv3 wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113881 au3Irrlicht2 (by JRowe)] - Combining Irrlicht and AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86748 AVI writing udf (by monoceres)] - Create uncompressed avi&#039;s from bitmap files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27362 Bitmap Library (by evilertoaster)] - Bitmap Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202663 GIF animation (by Nine)] - Fast cached GIF animation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150231 GTK+  (by prazetto)] - GTK+ Framework | Widgets.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=13096 ImageGetInfo (by Lazycat)] - Read info from JPEG, TIFF, BMP, PNG and GIF - size, color depth, resolution.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/471-image-search-udf Image Search (by VIP)] - Search for an image on the desktop. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70506 IrrLicht (by A. Percy)] - A 3D graphics engine suitable for creating games.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160732 OpenCV (by myliseJ)] - UDF for the OpenCV library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206432 OpenCV v4+ (by smbape)] - OpenCV UDF with support for OpenCV v4+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151011 OpenGL (by LarsJ)] - OpenGL without external libraries etc. For JPEG files it also retrieves various Exif information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148129 OpenGL (2.0) (by minx)] - New set of UDFs for OpenGL + AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152950 S3D (by Starg)] - Draw simple 3D graphics with GDI+.&lt;br /&gt;
&lt;br /&gt;
===Players===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114143 VLC (by seangriffin)] - VLC (Media Player) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91316 VLC Media Player (by ptrex)] - VLC Media Player.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27352 WMP (by ConsultingJoe)] - Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44008 WMP - Media Controls (by CFire)] - Another Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203154 WMP - GUI Control (by SudeepJD)] - IE based WMP Control.&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83481 BASS Function Library (by BrettF)] - Sound and Music via wrappers for Bass, BassEnc, Bass FX, BassSFX, BassAsio and BassCd DLLs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173808 libZPlay (by Danyfirex)] - Multimedia library for playing mp3, mp2, mp1, ogg, flac, ac3, aac, oga, wav and pcm files and streams.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=37072 MIDI (by eynstyne)] - MIDI UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208116 MIDI (by MattyD)] - Wrap of the Windows MIDI functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114742 SAPIListBox (by seangriffin)] - SAPIListBox (Speech Recognition) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=100439 TTS (by Beege)] - Text-to-Speech UDF.&lt;br /&gt;
&lt;br /&gt;
== PDF ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162195 Acrobat Reader - ActiveX Viewer (by mLipok)] - Make your own PDF Viewer GUI with Acrobat Reader ActiveX COM Object &amp;quot;AcroPDF.PDF.1&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164469 Debenu PDF Viewer SDK (by mLipok)] - A collection of functions to display PDF files in your applications using Debenu PDF Viewer SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160875 Debenu Quick PDF Library (by mLipok)] - A collection of functions for Debenu Quick PDF Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75832 FoxIt Reader (by ptrex)] - PDF Reader in AU3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118827 MPDF (by taietel)] - Create PDF from your application.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=42776 PDFCreator (by ptrex)] - Automation of PDFCreator allows you to create and manipulate PDF files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170550 PDFCreator (by mLipok)] - UDF for PDFCreator v1.x.x with working EVENTs Handler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32261 _StringToPDF (by Tam0r)] - Write a string to a PDF file and specify font size, type etc.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145158 Firewall (by JLogan3o13)] - Control and manipulate the Windows Firewall (enable/disable, Exclusions list, enable/disable ports etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194015 Firewall policy2 (by Bilgus)]- Provides access to the firewall policy for Windows Vista+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150819 VirusTotal (by Danyfirex)] - VirusTotal API 2.0 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred (by DonChunior)] - Interface to the Windows Credential Management API.&lt;br /&gt;
&lt;br /&gt;
== Social Media and other Website API ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159254 Cex.io (by AquilesCrespo)] - UDF script for using with the web api from https://cex.io/ server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169333 CrowdinAPI (by mLipok)] - Uses the [https://crowdin.com/page/api crowdin.net website API] for some functions (create projects, add and update files, download translations or integrate localization).&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/290-dropbox-authenticator/ Dropbox authenticator (by Gimerly)] - Dropbox authenticator.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158106 Easypost (by dcat127)] - Print USPS Postage Labels.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114801 eBay (by seangriffin)] - eBay UDF (functions GetItemStatus and GetSingleItem from the &amp;quot;Shopping API&amp;quot;).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=141340 Gmail (by PhoenixXL)] - Remote Gmail (UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192422 Gmail API (by Ascer)] - Automate communication with Gmail using oAuth 2.0 security. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98504 Google Functions (by Beege)] - Google Functions (Suggestions, Definitions, Translate, Convert).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=115437 Google Maps (by seangriffin)] - Google Maps UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70675 iTunes (by torels)] - iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101802 iTunes (by Beege)] - Another iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150985 No-IP (by Nessie)] - Simply update your no-ip hostname(s) and retrieve the ip address of an no-ip address.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192391 oAuth (by Ascer)] - Open standard for access delegation, commonly used to grant websites or applications access to other websites.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150838 PasteBin (by mrflibblehat)] - Pastebin UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121767 Skype (by FireFox)] - Skype4COM provides an ActiveX interface to the Skype API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113234 Teamspeak 3 (by chipDE)] - Teamspeak 3 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186944 TeamViewer API (by mLipok)] - A collection of function for use with TeamViewer API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186381 Telegram Bot (by LinkOut)] - UDF for [https://core.telegram.org/api Telegram messenger API].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166547 TVmaze.com API (by BBs19)] - TVmaze.com API UDF (TV-Series).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116600 Twitter (by seangriffin)] - Manage Twitter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149247 Yahoo Weather (by Nessie)] - Yahoo Weather API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112775 Youtube Uploader (by BrettF)] - AYTU - AutoIt Youtube Uploader.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50880 ACL (by ptrex)] - Set ACL on windows Objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134508 ACL (by FredAI)] - Do most everything with the DACL and ownership on all types of objects: Files or folders, Registry keys, services, Kernel and WMI objects, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206400 BITS (by DonChunior)] - Background Intelligent Transfer Service to download files from or upload files to HTTP web servers and SMB file shares.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184937 CertUtil (by mLipok)] - Wrapper for windows certutil.exe (command-line program that is installed in Windows as part of Certificate Services).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113560 FileSystemMonitor (by seangriffin)] - Monitors the file system by recording all file system events occurring within a given path.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111018 ITaskBarList (by Beege)] - ITaskBarList UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74118 Local account (by engine)] - Manage local accounts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161193 Magnifier Functions (by Ascend4nt)] - Exposes most of the useful Magnifier API functions available since Windows Vista.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75250 Registry (by engine)] - Windows Registry UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50551 Registry (by seanhart)] - RegWriteAllUsers / RegDeleteAllUsers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=80201 Service (by arcker)] - Build your own service with AutoIt code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124508 Startup (by guinness)] - Create Startup entries in the Startup Folder or Registry.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164756 SCCM (by JLogan3o13)] - Systems Center Configuration Manager Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134628 System restore (by FredAI)] - System restore UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186111 SubstWrapper (by mLipok)] - Wrapper for windows subst.exe command - (Associates a path with a drive letter).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135994 Taskplanner/Taskscheduler COM (by Allow2010)] - an UDF for using the Windows Taskplaner / Task Scheduler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83355 Task Scheduler (by dbzfanatic)] - Task Scheduler UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200068 TaskScheduler (by water)] - Brushed up Task Scheduler UDF. Link to the [[TaskScheduler|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173934 TTS (by Kanashius)] - Used with SAPI Automation Object - text-to-speech (TTS) engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158377 UAC (by AdamUL)] - User Account Control (UAC) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=175719 Utter (by Surya)] - Utilizing more of SAPI (Speech Recognition UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127075 WIMGAPI (by Homes32)] - Manipulate Windows Image Files (.wim) without ImageX.exe.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=28436 Windows Events (by Emperor)] - Create your own Windows events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=6487 Windows Service Control functions (by SumTingWong)] - Some limited functions to control services (create, start, stop, delete, check ...).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81880 Windows Services (by engine)] - Windows Services UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163178 WRMF (by Luigi)] - WRMF - Windows Registry Monitor Call Function.&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/topic/178871-dllcall-with-c-example/#comment-1285754 SMSApi (by mLipok)] - UDF for SMSAPi which provides SMS services. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/index.php?showtopic=178589 BulkSMS (by Skysnake)] - UDF for BulkSMS which provides SMS services. --&amp;gt;&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145099 _AdlibEnhance (by JScript)] - Enhance Adlib to call functions with parameters, pause and resume.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160936 Android (by Moriba)] - Control any Android device.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97826 Animated tray icons (by Yashied)] - Make animated tray icons easily.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163577 Atom Table (by Ascend4nt)] - Store (add, find, delete, and query) strings locally (at program level) or globally (at OS level) with unique numerical identifiers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170087 Barcode generators (by willichan)] - Creates a Code128A/B/C or Creates a Code39 or Code39Extended optimized barcode from supplied data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211660 BlockInput (by Nine)] - Block all input coming from mouse and/or keyboard, without having an UAC warning displayed. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87735 BlockInputEx (by MrCreatoR)] - Supports a few features that built-in BlockInput() function does not.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29763 Clipboard (by eltorro)] - When apps need to watch the clipboard.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170630 ClipboardEx (by ozmike)] - Allows to have more than 1 item in the Clipboard. Handles all data types, not just text.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81267 Clipboard History (by wraithdu)] - Save and restore the entire clipboard contents. Inspired by AHK&#039;s ClipboardAll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169610 CmdLine (by Jefrey)] - Collection of functions to parse command line arguments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126569 Console (by Shaggi)] - Functions and features to work wiht Console input/output.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121833 Copy (by Yashied)] - Copy or move files and directories without suspending your script. Retrieve the current state (copied bytes, error code etc.) while copying.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154684 Date / Time convert (by Melba23)] - Transform date/time formats.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99106 _DLLStructDisplay (by Ascend4nt)] - Show Struct in ListView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157689 _FileGetMimeType (by Wiliat87)] - Retrieve MIME types based on the extension of the filename/filepath/URL provided.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117033 File locking with cooperative semaphores (by willichan)] - Simple file locking without a server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157241 FindMimeFromData (by twbradio)] - FindMimeFromData using urlmon.dll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181997 Font Icon (by J2TeaM)] - Use Font Awesome in your AutoIt project.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68422 HotString (by jvanegmond)] - Similar to the HotKey function but trigger on a string, instead of a key or key combination.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173946 LASM - Light Assembler (by minxomat)] - Inline UDF for an Assembler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161628 LFN (by orbs)] - Overcome MAX_PATH limit of 256 chars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111492 Link Grammar for AutoIt (by JRowe)] -  Input is a regular sentence in English, German or Italian, output is a pattern parsed from the structure of the sentence.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/147-mruau3 MRU (by Yashied)] - Most Recently Used (MRU) List Automation functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188158 .NET Common Language Runtime (CLR) Framework (by Danyfirex, Junkew, Larsj, ptrex, Trancexx)] - Allows AutoIt to access .NET Class Libraries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101733 NoFocusLines (by Melba23)] - Remove the dotted focus lines from buttons, sliders, radios and checkboxes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149176 NotifyIcon (by FireFox)] - Create, delete and manage self notify icons (formerly TrayIconEx). &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=63318 PixelGetColor (by Manadar)] - Get or Read Pixel from memory.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167024 RDC (by Yashied)] - ReadDirectoryChanges Wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51103 Resources (by Zedna)] - Embed any binary data into your AutoIt compiled EXE files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162499 ResourcesEx (by guinness)] - Up to date version of Zedna&#039;s Resources UDF. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111215 Restart (by Yashied)] - Allows to restart a script from any location with full restoration of the original command line parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51547 SciLexer (by Kip)] - Editing control, supports multiple editors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152093 ScriptEditor (by pandel)] - ScriptEditor with I18N support and customizable lexer completely written in AutoIt (based on SciLexer).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162033 Spell Checker (by iCode)] - Spell Checker functions to call Hunspell, Hyphenate and MyThes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164444 Synology filestation (by nend)] - Functions to interact with a Synology NAS server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163328 TimeConvert (by orbs)] - Convert UTC to/from local time, and/or reformat the string representation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint (by UEZ)] - Creating barcodes using the Zint.dll.&lt;br /&gt;
[[Category:UDF]]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15286</id>
		<title>User Defined Functions</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15286"/>
		<updated>2026-05-04T09:12:03Z</updated>

		<summary type="html">&lt;p&gt;Water: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
This page is a listing of libraries of &#039;&#039;&#039;user defined functions&#039;&#039;&#039; (UDF). These libraries have been written to allow easy integration into your own scripts and are a very valuable resource for any programmer.&amp;lt;br /&amp;gt;&lt;br /&gt;
This list is probably not complete (408 UDFs on 2026-05-01), but constantly supplemented.&lt;br /&gt;
If you do not find a solution here, ask a new question on the [https://www.autoitscript.com/forum/forum/2-general-help-and-support/ forum].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
The listed UDFs might have been written for older versions of AutoIt. So there is no guarantee that every UDF works smoothly with newer versions.&amp;lt;br /&amp;gt;&lt;br /&gt;
None of the UDFs has been tested by the maintainers of this list so you as a user need to make sure that they deliver the expected results.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;When will an UDF be added to this list?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
It should meet all/most of the general requirements for UDFs as described [[UDF-spec|here]].&amp;lt;br&amp;gt;&lt;br /&gt;
In addition the following requirements should be met:&lt;br /&gt;
* &#039;&#039;&#039;Documentation&#039;&#039;&#039;: So users can tell what the UDF is intended to do (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Examples&#039;&#039;&#039;: So users can get an idea how to use the UDF. The more the better (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Operating systems&#039;&#039;&#039;: Should support the latest Microsoft OS (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;AutoIt&#039;&#039;&#039;: Should support the latest version of AutoIt (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Author&#039;&#039;&#039;: The author should still be active on the forum so he can reply to questions (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What to do when one of your UDFs is missing?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please send a [https://www.autoitscript.com/forum/messenger/compose/?to=7903 PM] to user water. Add a short description of the UDF and a link to your post in the [https://www.autoitscript.com/forum/forum/9-autoit-example-scripts/ Example Scripts] or [https://www.autoitscript.com/forum/forum/49-autoit-projects-and-collaboration/ Projects and Collaboration] forum.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Added in the past two years&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date !! Section !! Creator !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-01 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment] - Least Squares Adjustment.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-04-01 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || WildByDesign || [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-10 || [[User_Defined_Functions#Inter_Process_Communications|Inter Process Communications]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC] - Inter Process Communication using TCP/IP.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-09 || [[User_Defined_Functions#Browsers|Browsers]] || ioa747 || [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt] - Integrate WebView2 into AutoIt via COM. &lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-19 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF] - TCP/UDP Networking Library.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || BugFix || [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx] - Another kind of group, versatile changeable.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-16 || [[User_Defined_Functions#Security|Security]] || DonChunior || [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred] - Interface to the Windows Credential Management API.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || genius257 || [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast] - Native Win8+ toast notifications.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Media|Media]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Hardware|Hardware]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213296 Monitor] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-09-22 || [[User_Defined_Functions#Misc|Misc]] || UEZ || [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint] - Creating barcodes using the Zint.dll.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-07-27 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || DXRW4E || [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-04-16 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || seangriffin || [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-03-22 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-02-26 || [[User_Defined_Functions#Controls|Controls]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-16 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Gianni || [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask] - Easily run and manage many processes.&lt;br /&gt;
|- &lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || NoNameCode || [https://www.autoitscript.com/forum/index.php?showtopic=211475 Darkmode] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Network_Guy || [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-11 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || t0nZ || [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog] - Logs made easy.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || argumentum || [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-21 || [[User_Defined_Functions#Controls|Controls]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker] - Date Range Picker Control.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-06 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-03-27 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=211718 FuzzyString] - Fuzzy string comparison and search in string arrays.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place the Table of contents (TOC) here --&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Automation ==&lt;br /&gt;
&lt;br /&gt;
===Browsers===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154439 Chrome (by seangriffin)] - Automate the most common tasks in Chrome with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95595 Firefox (by Stilgar)] - A little less support for automation than IE, but still very good.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167661 Firefox (by Danp2)] - Modified newer version of Stilgar Firefox UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/224-firefox-profile-backup/ FireFox Profile Backup 1.0 (by careca)] - Backup or restore your firefox profile. The application searches for the profile in home drive that will be the one to backup.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _FF_AutoLogin (by Stilgar)] - This is a auto-login function and login-function-generator for FireFox and the FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92035 _FF_DM (by Stilgar)] - UDF to control the FireFox Download-Manager (not the download-window).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91650 _FF_FoxBox (by Stilgar)] - UDF to control Fox!Box (A Mozilla Firefox extension for the AVM FRITZ!Box) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91665 _FF_Screengrab (by Stilgar)] - UDF to control Screengrab! (FireFox-AddOn) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _HTML (by Stilgar)] - Get informations from any HTML (XML) source, without any browser.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166542 HTMLDocumentEvents (by SmOke_N)] - Track IE document events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167035 IEEx (by SmOke_N)] - IE extended library with some Javascript options.&lt;br /&gt;
* Internet Explorer (by DaleHohm et al.) - IE library that is now supplied with a standard AutoIt install.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153520 IUIAutomation MS framework (by junkew)] - IUIAutomation MS framework to automate chrome, FF, IE etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149203 NavInfo (by Nessie)] - With this UDF you can check if a specified browser/software is installed and which version is being used.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=61090 Opera (by MrCreatoR,)] - Automate the most common tasks in Opera with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191990 WebDriver (by Danp2)] - W3C compliant Webriver UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt (by ioa747)] - AutoIt WebView2 Component (COM Interop).&lt;br /&gt;
&lt;br /&gt;
===Microsoft Office===&lt;br /&gt;
Some features of Microsoft&#039;s Office products are proprietary and cannot readily be manipulated.  Sometimes workarounds are required.&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;[[Known issues with Microsoft Office automation.|This page]]&amp;lt;/u&amp;gt; is dedicated to identifying those issues, provide explanations and list solutions or workarounds.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32144 Microsoft Office Access (by randallc)] - Automate Microsoft Access.&lt;br /&gt;
* Microsoft Office Excel (by water et al.) - This UDF is included in AutoIt. Link to the [[Excel_UDF|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135312 Microsoft Office Excel Charts (by water, GreenCan)] - Creating charts using Microsoft Excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204034 Microsoft Office Excel Pivot Tables (by SudeepJD)] - Create and Update Excel Pivot Tables and Charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126305 Microsoft Office Outlook (Items) (by water)] - Automate Microsoft Outlook Items. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202451 Microsoft Office Outlook (GUI) (by water)] - Automate Microsoft Outlook GUI. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197346 Microsoft Office Outlook Tools (by water)] - Built on top of the OutlookEX UDF it offers some often needed extended functionality (import/export ics/vcf files etc.). Link to the [[OutlookTools|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50254 Microsoft Office PowerPoint (by Toady)] - Automate Microsoft PowerPoint.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=178783 Microsoft Office PowerPoint (by water)] - Automate Microsoft PowerPoint. Link to the [[Powerpoint|documentation]] pages.&lt;br /&gt;
* Microsoft Office Word (by water et al.) - This UDF is included in AutoIt. Link to the [[Word_UDF|documentation]] pages.&lt;br /&gt;
&lt;br /&gt;
===OpenOffice/LibreOffice===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210514 LibreOffice Suite (by donnyh13)] - A huge list of functions for LibreOffice Base, Calc and Writer. Link to the [[LibreOffice|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151530 OOo/LibO Calc (by GMK)] - OpenOfficeCalc UDF (works also for Libre Office).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185932 OpenOffice/LibreOffice Spell Checker (by GMK)] - Function to validate words, and show spell alternatives.&lt;br /&gt;
&lt;br /&gt;
===Other Applications===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106163 Active Directory (by water)] - Extensive library to control and manipulate the Windows active directory ([https://www.autoitscript.com/forum/files/file/355-ad-active-directory-udf/ Download]). Link to the [[Active_Directory_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87956 Java (by seangriffin)] - Creates an access bridge between your application and a Java application. Allowing you to automate some Java applications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86574 SAP (by seangriffin)] - SAP business management automation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149540 SAPWizard (by ozmike)] - SAPWizard UDF.&lt;br /&gt;
&lt;br /&gt;
== Script Coding/Analyzing/Debugging ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209528 ArrayCombinations (by AspirinJunkie)] - Different ways of composing elements of a set.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155442 ArrayMultiColSort (by Melba23)] - Function to sort a 2D array on several columns.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209523 ArrayPlus (by AspirinJunkie)] - Functions for flexible Array handling (create, extract, rebuild, sort, filter, find, print)&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180467 ArrayWorkshop (by czardas)] - Multidimensional array functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=59174 Associative array functions (by Nutster)] - Manage a version of associative arrays in single AutoIt variables. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=198929 AutoIt error logger (AUERLO) (by user4157124)] - File- and stdout (etc.) output of messages, errors, exit method and -code, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110379 AutoItObject (by ProgAndy and others)] - Brings the Object Orientation programming paradigm to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112879 AutoIt Syntax Highlight (by MrCreatoR)] - Highlights AutoIt v3 syntax code to html/bbcode format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191488 cDebug (by c.haslam)] - Dumps the values of all AutoIt subtypes and expressions including nested arrays, DLL structs and maps.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor (by Nine)] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195882 ErrorLog (by mLipok)] - Logs program activities and errors to different output locations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211718 FuzzyString (by AspirinJunkie)] - Fuzzy string comparison and search in string arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143167 GetOpt (by dany)] - Parse GNU and DOS style command line options similar to getopt().&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog (by t0nZ)] - Logs made easy.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156196 Log4a (by zorphnog)] - Logging library loosely based upon the log4j and NLog libaries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195862 Loga (by Danyfirex)] - Simple logging library to keep track of code with an integrated console.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119032 Log UDF (by Yashied)] - Create a text log files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202832 OnDebugMsgBox (by argumentum)] - Catch the dreaded &amp;quot;AutoIt Error&amp;quot; MsgBox and prettify or hide it.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209529 Set (by AspirinJunkie)] - Provides a set data type and brings the corresponding mathematical functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200660 Variants and Safearrays (by LarsJ)] - Create/access/process Variants and SafeArrays.&lt;br /&gt;
&lt;br /&gt;
=== Inter Process Communications ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202485 AppInteract (by MrCreatoR)] - Reliably pass arrays or other types between processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC (by Kanashius)] - Inter Process Communication using TCP/IP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=205109 AutoItSharedData (by SEuBo)] - Create a shared data storage, a simple AutoItObject-Object, using AutoItObject_Internal.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188991 Autoit-Socket-IO (by tarretarretarre)] - Event driven TCP/IP wrapper inspired by Socket.IO with focus on user friendliness and long term sustainability.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126936 Container (by MrCreatoR)] - Scripts interaction method. Allows to transfer whole arrays as data, and even COM objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=55994 DDEML (by doudou)] - Use your AutoIt script as DDE client or server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193277 FMIPC (by argumentum)] - IPC via FileMapping.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127615 Interprocess (by JScript)] - Remotely execute a function in another script (using Mailslot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193158 IPC_IO (by JohnWIlling)] - IPC library supporting multiple connection types (such as: Named Pipe, File, TCP, SharedMemory, MailSlot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202618 IPC Techniques through ROT Objects (by LarsJ)] - Implementing IRunningObjectTable Interface.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106710 Mailslot (by trancexx)] - IPC using Mailslots.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204734 Overlapped Named Pipe IPC (by Nine)] - Very fast interprocess communication that could be used between VBS or AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169797 Pool - Post Office for Organized Labour (by RTFC)] - Provides multiple AutoIt processes with an infrastructure for exchanging messages, data, and remote-control instructions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202587 WCD IPC (by Nine)] - Framework for Inter Process Communication using Windows Messages WM_COPYDATA.&lt;br /&gt;
&lt;br /&gt;
=== Parallel/concurrent processing ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork (by argumentum)] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186853 _Multiprocess (by jguinch)] - Run several external programs at the same time and retrieve the exit code of each process.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask (by Gianni)] - Easily run and manage many processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking (by Network_Guy)] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT (by Nine)] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
&lt;br /&gt;
== Files, Databases and web connections ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180850 ADO (by mLipok)] - A modifed version of the _SQL UDF to access all kind of databases (MSSQL, MySQL, PostgreSQL, SQLite, MS ACCESS, XLS, TXT, and many other which use ADO and ODBC).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105875 ADODB (by spudw2k)] - ADODB Example.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 AXML (by Aipion)] - This is a Wrapper for Pugixml, made with C++.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145142 DBF (by funkey)] - dBase database read and write with DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/topic/114406-csv-file-to-multidimensional-array/#findComment-799820 CSV (by ProgAndy)] - Read/write CSV files to/from 2D arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197909 CSV (by seangriffin)] - Manipulate CSV files using SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155748 CSVSplit (by czardas)] - Convert to and from CSV format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151116 DIF (by willichan)] - Read/write DIF (Data Interchange Format) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119238 Excel file generation (by jerome)] - Excel file generation (multi-sheet workbook) without the need to have Excel installed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143866 Excel XML (by FireFox)] - Work with SpreadsheetML (Open XML file formats).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155905 EXml (by jdelaney)] - Create Excel file (SpreadsheetML) through &amp;quot;Microsoft.XMLDOM&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116072 EzMySql (by Yoriz)] - Use MySQL Databases with AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148232 _FileGetProperty (by BrewManNH)] - Retrieve properties of a file.Xml2Json&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94920 FireBird (by eltorro)] - FireBird, Interbase DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx (by DXRW4E)] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197421 jq (by TheXman)] - Brings the power and flexibility of jq (an open-source command-line based JSON processor) to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209502 JSON (by AspirinJunkie)] - Interacting with JSON data in AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104150 JSON (by Gabriel13)] - RFC4627 compliant JSON encode/decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148114 JSON (by Ward)] - JSMN - A Non-Strict JSON UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156794 JSON (by ozmike)] - Bridge to Native Windows JSON plus OO extension for AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC (by seangriffin)] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173797 JSONgen (by Jefrey)] - Generate JSON.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127101 MS SQL (by TheLuBu)] - MSSQL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51952 MS SQL (by ChrisL)] - _SQL. ADODB Connection.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20814 MySQL (by cdkid)] - MySQL relational database management system.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85617 MySQL (by ProgAndy)] - MySQL UDFs (without ODBC - working with libmysql.dll).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=122360 MySQL (by James)] - MySQL ODBC Connector.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187223 romaSQL (rynow)] - Built on the concept of Laravel Query &amp;amp; doctrine. Connection string is based on ADODB / ODBC.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143331 Sharepoint 2007/2010 (by schoppet)] - Access the SOAP-Webservices of Sharepoint 2007/2010.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17099 SQLite (by ptrex)] - SQLite is a library that implements a self-contained, embeddable, zero-configuration SQL database engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=142977 SQLite Array Functions (by SmOke_N)] - SQLite Array Functions - a faster method for unique arrays and sorting methods.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140521 SQLite - Database (by PhoenixXL)] - UDF for SQLite so that beginners will also be able to do the stuff.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157853 SQLiteEx (by 57ar7up)] - SQLiteEx UDF v0.5.1 - Simplest work with SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163633 Xbase I/O (by RTFC)] - Transfer data between Xbase Data file (*.dbf) and AutoIt array written in pure AutoIt (no SQL, no ADO, no dlls, no external dependencies).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209526 xlsxNative (by AspirinJunkie)] - Read and write xlsx files without excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=19848 XML DOM Wrapper (by eltorro)] - Supports CRUD operations on XML. Including XSL and XPath.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 XML (by mLipok)] - New version of XML DOM Wrapper, with many new features.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208932 Xml2Json (by TheXman)] - Transform XML to JSON.&lt;br /&gt;
&lt;br /&gt;
== Data compression ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85094 7z, zip, gzip, bzip2, tar (by rasim)] - Extensive library that uses a external DLL that must be provided with the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92958 gZip (by Zinthose)] - Based on the parsing of gZip.exe output. It can work with memory, it doesn&#039;t work with files. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87441 LZMA (by trancexx)] - LZMA (Native Windows).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138838 Package (by Yashied)] - Package UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129529 pZip (by asdf8)] - PureZIP_L library UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=76176 UnRAR (by rasim)] - UnRAR.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17727 XZip (by eltorro)] - Another UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161847 XZip (by mLipok)] - UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44524 Zip plugin (by eltorro)] - Zip plugin.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73425 ZIP (by torels)] - ZIP UDF in pure AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116565 zip (by wraithdu)] - Create ZIP files and unpack ZIP files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135565 ZIP (by joakim)] - ZIP STRUCTS UDF (from scratch).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87284 ZLib (by monoceres)] - Based on ZLib.dll. It can compress/uncompress data in memory, it doesn&#039;t work with files.&lt;br /&gt;
&lt;br /&gt;
== Encryption and hash ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81332 _Base64Encode, _Base64Decode (by trancexx)] - Fast _Base64Encode, _Base64Decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153246 Base91 and Base128 (by Beege)] - Base91 and Base128 functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155538 Codecrypter (by RTFC)] - Encrypt scripts without placing the key inside the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=201002 Cryptography API: Next Gen (by TheXman)] - Microsoft&#039;s long-term replacement for their CryptoAPI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210901 Enigma (by willichan)] - Simple encryption based on the Enigma Machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203990 GDPR (by mLipok)] - Functions to encrypt/decrypt strings and files with the GDPR in mind.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95558 Hashes for files (by trancexx)] - Fast RC32, MD4, MD5, SHA1 calculation for big files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107784 TrueCrypt (by FuryCell)] - TrueCrypt UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140737 WinTrust (by kasty)] - verify the integrity of a file with its embedded signature or a given catalog.&lt;br /&gt;
&lt;br /&gt;
== GUI Additions ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast (by genius257)] - Native Win8+ toast notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97241 3D Pie chart (by WideBoyDixon)] - 3D Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173924 Chart_UDF (by Kanashius)] - This UDF can be used to Display bar charts in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96258 ContextHelp (by Yashied)] - Management of context help ([https://www.autoitscript.com/forum/index.php?showtopic=72152-contexthelp/ original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211475 DarkMode (by NoNameCode)] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109096 ExtMsgBox (by Melba23)] - A very customisable replacement for MsgBox.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx (by BugFix)] - Another kind of group, versatile changeable.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105582 GUICtrlOnChangeRegister (by Mat)] - Call a function when an edits content is changed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme (by WildByDesign)] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145149 GUIExtender (by Melba23)] - Expand and contract sections of your GUI ([https://www.autoitscript.com/forum/index.php?showtopic=117909 original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197654 GuiFlatButton (by kurtykurtyboy)] - Change colors of regular buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119505 GUIFrame (by Melba23 &amp;amp; Kip)] - Divide a GUI into adjustable frames.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=144207 GUI Panel (by FireFox)] - Manage child GUIs as panel ctrls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113723 GUI Scrollbars (by Melba23)] - Automatically sized scrollbars with a single command.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161184 MetroGUI (by BBs19)] - Windows 10 style buttons, toggles, radios etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 Modern tray menu (by Holger)] - Allows the creation of modern, fancy GUI and tray menus with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194693 MTSkin (by Taskms4)] - Simply create modern looking GUIs (borderless GUI, Interactive menu panel (with mouse-over detection), a bunch of skins).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182136 Notifications (by S3cret91)] - Display permanent desktop notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=136149 Notify (by Melba23)] - Small notifications on the edge of the display.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161750 Pie chart (by Andreik)] - Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75429 Real Vista Aero Glass (by James)] - Real Vista Aero Glass UDF - you can apply glass effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF (by Nine)] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=71811 SetOnEvent (by martin)] - Provides an easy way for an event to call functions with parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=103871 _SysTray (by wraithdu)] - Get info about and manipulate Systray icons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108445 Toast (by Melba23)] - Small message GUIs which pop out of the Systray.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110003 Tray Icon Bar Graph (by BeeGee)] - Creates a scrolling bar graph as the tray icon.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=132864 Uskin (by JScript)] - Allows you to skin your GUI using the Windows &#039;&#039;.MSstyles&#039;&#039; files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191821 Wi3SMenu (by NHD)] - Create a slide menu with Windows 10 style. Supports color, icon and opacity.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129196 WinSnap (by Beege)] - Automatic Window Alignment by applying that &amp;quot;snappy edge&amp;quot; effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32494 XSkin (by Valuater)] - Allows skinning of your GUI and to apply custom skins.&lt;br /&gt;
&lt;br /&gt;
=== Controls ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202529 BrowseForFolder (by MrCreatoR)] - Handle SHBrowseForFolderW with more options, such as multi selection (checkboxes), window position, controls text and more. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=146406 Calendar (by jmon)] - Calendar UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125293 ChooseFileFolder (byMelba23)] - Single and multiple selections from specified path treeview listing.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96464 Colorpicker (by Yashied)] - Create a button for the user to select a color.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker (by Nine)] - Date Range Picker Control.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=123409 Explorer Frame UDF (by Beege)] - Takes any frame created by GUIFrame and turns it into a MS-Windows like Explorer window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview (by Kanashius)] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173929 GDIPlus Slider UDF (by Kanashius)] - This UDF can be used to create a slider with an imagebackground and an image to move.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=79412 Graph control (by andybiochem)] - Easily create and show bar chart and line charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104399 GraphGDIPlus UDF (by andybiochem)] - Easily create and show bar chart and line charts with GDI+ to take advantage of double-buffering.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105682 GUICtrlCreateFinder (by Mat)] - Allows you to create a window finder control like the one seen in AutoIt Window Info.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107965 GUIHotkey (by Mat)] - UDF for using native hotkey controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182492 GUIListViewEx (by Melba23)] - Insert, delete, move, drag, sort, edit and colour ListView items.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111438 GUIPager (by Mat)] - Create and control native pager controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 GUI/Tray Menu (by Holger, LarsJ, AZJIO)] - GUI/Tray Menu with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166594 GUITreeViewEx (by Melba23)] - Check/clear parent and child checkboxes in a TreeView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=90598 Hotkey input control (by Yashied)] - Hotkeys Input Control UDF Library (Non-native).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173932 ListView Edit UDF (by Kanashius)] - This UDF can be used to simply edit an Listview.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109355 ListView - Explorer like ListView UDF (by Beege)] - This UDF simplify creating MS Explorer-like ListViews.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143711 Marquee (by Melba23)] - Make tickertape info bars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143380 Predict Text UDF (by PhoenixXL)] - Sub classes the edit control and matches the current word through the Database &amp;amp; sets selection in accordance.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163939 Progressbar new style (by Muzaiyan)] - New styles for your progress bar.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74649 Progressbar with GDIplus (by ProgAndy)] - You even can use full textured images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151636 RestrictEdit_SRE UDF (by PhoenixXL)] - Restrict the text that can be entered in an editbox through a String Regular Expression.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128242 Ribbon (by trancexx)] - UDF for Windows Ribbon framework.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114034 StringSize (by Melba23)] - Automatically size controls to fit the text you want to put in them.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126958 Syslink (by Yashied)] - Provides a convenient way to embed hypertext links in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105814 Table (by andybiochem)] - Table UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211024 Toggle Button (by Andreik)] - Create simple toggle buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125251 TVExplorer (by Yashied)] - Allows to create TreeView (TV) Explorer controls that display a tree of files and folders.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=190659 Virtual Listview (by LarsJ)] - Virtual Listview for large amounts of data with a large number of rows.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195053 Windows Message Monitor (by LarsJ)] - Monitor Windows Messages of a window or control.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118317 Battery UDF (by Yashied)] - Retrieves various information and current status of the battery(s).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154727 BuildPartitionTable (by RTFC)] - Scans a physical drive&#039;s partition table and returns a partition_table, allocation_table and volumes_table.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155674 CommAPI (by therealhanuta)] - Serial and parallel communication (COM port, RS-232, LPT port) - without installing DLL&#039;s (using Windows API calls).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77731 Device Management (by weaponx)] - Device Management API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97487 DirectShow (by monoceres)] - DirectShow UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164700 DirectSound (by eukalyptus)] - DirectSound UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164701 Direct2D (by eukalyptus)] - Direct2D UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99713 Drive Info (by NerdFencer)] - Gathers drive info for Hard Drives, Disk Drives, and Floppy Drives.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138989 FritzBox (by Allow2010)] - _FB_Tools - manage your FritzBox from Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121084 I/O Port Functions (by Ascend4nt)] - Input/Output UDF for interacting with ports (x64 Parallel Port, Keyboard etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203207 MediaDevice (by Danyfirex)] - Transfer files to portable devices like phones, storages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php=showtopic=213296 Monitor (by Trong)] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154350 Monitor Configuration (by jaberwacky)] - Monitor Configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155469 Mouse (by AlmarM)] - AutoIt powered mouse events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=147325 MouseTrapEvent (by ozmike)] - MouseTrapEvent UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149083 NetInfo (by Nessie)] - UDF for test internet download speed and upload speed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155539 Network configuration (by jguinch)] - Network configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182684 Nitgen (by Jefrey)] - UDF to work with Nitgen fingerprint readers that use NGenBio SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210968 Printer Manager (by Nine)] - Manage printers with winspool.drv DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155485 Printers management with WMI (by jguinch)] - Add/delete printer, driver, port, or obtain configuration, set default printer ...&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=189190 Serial port UDF / COM port UDF (by MazeM)] - It is very similar to CommAPI using kernel32.dll, but all code is packed into a single file without any dependencies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128546 Serial Port/COM (by martin)] - Serial Port /COM Port UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27755 SMARTDRIVE (by ptrex)] - SMART drive Analysis.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158640 SPI Hardware Interface (by Blinky)] - Communicate with the MAX335 chip using the SPI protocol via the LPT (printer) port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=8188 VISA/GPIB (by Angel)] - VISA/GPIB library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68866 Webcam (by LIMITER)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70857 Webcam (by ludocus)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91018 WiFi (by MattyD)] - Low level control over your wireless LAN.&lt;br /&gt;
&lt;br /&gt;
== Information gathering ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29404 Computer information (by JSThePatriot)] - A general purpose library to get various details about a Windows machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151920 NetworkStatistics (by Ascend4nt)] - Network Interface Info, Statistics, and Traffic.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=54039 WinPcap (by JRSmile)] - Wrapper for the windows packet capture library WinPcap.&lt;br /&gt;
* [https://opensource.grisambre.net/pcapau3/ WinPcap (by Nicolas Ricquemaque)] - A library to access the main functionalities offered by the WinPcap driver.&lt;br /&gt;
&lt;br /&gt;
== Internet protocol suite ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207859 cURLX64 (by Beege)] - cURL UDF with x64 support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=137456 cURL (by seangriffin)] - A UDF for transferring data with URL syntax.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187718 HTTP lib (by Jefrey)] - HTTP lib (GET, POST and upload) UDF to simplify HTTP requests, mainly when dealing about POST data or file uploads.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202895 HttpApi (by TheXman)] - HTTP Server API enables applications to communicate over HTTP without using MS Internet Information Server (IIS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=40243 IMAP (by mikeytown2)] - IMAP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108422 IMAP4 (by Tipulatoid)] - IMAP4 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=43515 IRC (by McGod)] - A lightweight library for communicating with IRC servers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159285 IRC (by rcmaehl)] - IRC UDF - Updated Version of Chips&#039; IRC UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=22838 POP3 (by Apzo)] - POP3 library for retrieving email messages. Not compatible with Gmail because it uses SSL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167339 POP3 (by mLipok)] - POP3 UDF According to the 1939 RFC, modified version with Quoted Printable decoder.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154530 Prowl (by mrflibblehat)] - Push notifications to iPhone, iPod touch or iPad using Prowl (Growl client for iOS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138095 SFTP (by Lupo73)] - UDF to support SFTP protocol using PSFTP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154054 Socket UDF (by funkey)] - Socket UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=23860 SMTP (by Jos)] - Smtp Mailer That Supports Html And Attachments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167292 SMTP Mailer UDF (by mLipok)] - Smtp Mailer That Supports Html And Attachments - Modified Version with support to save EML files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81687 SNMP (by enaiman)] - SNMP_UDF for SNMPv1 and SNMPv2c.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70759 SNMP - MIB protocol (by ptrex)] - Reading toner status from SNMP device with WMI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166579 SSH (by jeanphile)] - Use the SSH protocol very easily in your code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185329 STUN (by j0kky)] - STUN is a protocol that permits you to know your external IP but, more interesting, your external port associated to your internal port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184817 SyslogSend (by Irios)] - This allows sending (BSD) messages to a syslog server using UDP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169774 TCPServer (by Jefrey)] - Multi client, event-based, able to bind console app to socket.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=57022 UPnP Protocol (by ptrex)] - UPnP - Read and Control your devices in side out.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=84133 WinHTTP (by trancexx)] - Access the HTTP protocol for creating GET and POST requests and submitting them with conforming standards, cookies not supported.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77503 WinInet (by -Ultima-)] - Access standard Internet protocols (FTP, Gopher and HTTP). Supports GET/POST requests and cookies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181645 Winsock (by j0kky)] - Create client/server application using native winsock functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF (by Trong)] - TCP/UDP Networking Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191954 WSA_NBTCP (by ripdad)] - Windows Sockets API - Non-Blocking Transmission Control Protocol.&lt;br /&gt;
&lt;br /&gt;
== Maths ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment (By AsprininJunkie)] - Least Squares Adjustment.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170658 Advanced Math UDF (by scintilla4evr)] - Advanced mathematical functions (primes, number sequences, interpolate, calculate values of functions like Riemann zeta etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=102686 Advanced rounding (by Mat)] - Support for different measures of accuracy and 8 ways to resolve tie breaks.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83529 Big number (by eukalyptus)] - Make calculations with extremely large numbers that AutoIt normally is not able to support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106551 Decimal To fraction (by Malkey)] - Converts any decimal number to a fraction. Example: 1.2 to 6/5.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162921 Eigen4AutoIt (by RFTC)] - Allows to perform fast matrix operations on large numerical data sets, and much more ....&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra (by AspirinJunkie)] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140789 MathsEx UDF (by PhoenixXL)] - Functions for Carrying Out More Advanced Mathematical Calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81189 Number base conversion (by james3mg)] - From, to and between positive bases less than 63 (decimals supported).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117156 NumToWord (by Mat)] - Convert numerals to a human readable string.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108803 Polynomials (by Mat)] - Functions for using polynomials.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83091 Primes (by jennico)] - Many functions dealing with prime number generation and calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94770 Roman Numerals (by AZJIO)] - Roman Numerals.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98160 Root function (by Mat)] - Working out real roots of numbers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209527 Stat (by AspirinJunkie)] - Statistics for Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163899 StringAPL (by minx)] - inline APL interpreter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=82722 Trigonometric and math functions (by trancexx)] - _ATan2(), _Cosh(), _Frexp(), _Hypot(), _Ldexp(), _Logb(), _Sinh(), _Tanh().&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95357 FreeImage library (by ProgAndy)] - Various operations on images, such as rotate, resize, flip.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll (by Trong)] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127263 HtmlHelp (by Geodetic)] - HtmlHelp functions for context-sensitive help from CHM (compiled HTML) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116009 HyperCam (by seangriffin)] - HyperCam (Screen Recording) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182535 HyCam2 (by willichan)] - Automation for HyCam2 screen recording utility.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50608 OCR (by ptrex)] - Real OCR in AU3 - MODI with MS Office 2003.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=89542 OCR (by seangriffin)] - Tesseract (Screen OCR) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206133 OCRSpace (by MrKm)] - Convert Images to text with the OCRSpace API. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51054 Printer controller (by martin)] - Print text in any font, size and colour at any position on the page, draw lines, curves, elipses, pies in any colour, and print images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73993 Printing (by GRS)] - Printing from AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202621 QRCreator (by BugFix)] - Simple QR-code creation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161831 RTF_Printer (by mLipok)] - Printing RichEdit in the background.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94834 Simple DirectMedia Layer (by AdmiralClaws)] - Adds support for joysticks, CDs, 2D graphics, timers. See [https://www.libsdl.org/ SDL website] for more information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207324 UWPOCR (by Danyfirex)] - Universal Windows Platform Optical Character Recognition API.&lt;br /&gt;
&lt;br /&gt;
===Graphics and image===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202987 AutoYolo3 (by smartee)] - Real-Time Object Detection using YOLOv3 wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113881 au3Irrlicht2 (by JRowe)] - Combining Irrlicht and AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86748 AVI writing udf (by monoceres)] - Create uncompressed avi&#039;s from bitmap files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27362 Bitmap Library (by evilertoaster)] - Bitmap Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202663 GIF animation (by Nine)] - Fast cached GIF animation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150231 GTK+  (by prazetto)] - GTK+ Framework | Widgets.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=13096 ImageGetInfo (by Lazycat)] - Read info from JPEG, TIFF, BMP, PNG and GIF - size, color depth, resolution.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/471-image-search-udf Image Search (by VIP)] - Search for an image on the desktop. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70506 IrrLicht (by A. Percy)] - A 3D graphics engine suitable for creating games.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160732 OpenCV (by myliseJ)] - UDF for the OpenCV library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206432 OpenCV v4+ (by smbape)] - OpenCV UDF with support for OpenCV v4+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151011 OpenGL (by LarsJ)] - OpenGL without external libraries etc. For JPEG files it also retrieves various Exif information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148129 OpenGL (2.0) (by minx)] - New set of UDFs for OpenGL + AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152950 S3D (by Starg)] - Draw simple 3D graphics with GDI+.&lt;br /&gt;
&lt;br /&gt;
===Players===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114143 VLC (by seangriffin)] - VLC (Media Player) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91316 VLC Media Player (by ptrex)] - VLC Media Player.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27352 WMP (by ConsultingJoe)] - Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44008 WMP - Media Controls (by CFire)] - Another Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203154 WMP - GUI Control (by SudeepJD)] - IE based WMP Control.&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83481 BASS Function Library (by BrettF)] - Sound and Music via wrappers for Bass, BassEnc, Bass FX, BassSFX, BassAsio and BassCd DLLs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173808 libZPlay (by Danyfirex)] - Multimedia library for playing mp3, mp2, mp1, ogg, flac, ac3, aac, oga, wav and pcm files and streams.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=37072 MIDI (by eynstyne)] - MIDI UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208116 MIDI (by MattyD)] - Wrap of the Windows MIDI functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114742 SAPIListBox (by seangriffin)] - SAPIListBox (Speech Recognition) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=100439 TTS (by Beege)] - Text-to-Speech UDF.&lt;br /&gt;
&lt;br /&gt;
== PDF ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162195 Acrobat Reader - ActiveX Viewer (by mLipok)] - Make your own PDF Viewer GUI with Acrobat Reader ActiveX COM Object &amp;quot;AcroPDF.PDF.1&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164469 Debenu PDF Viewer SDK (by mLipok)] - A collection of functions to display PDF files in your applications using Debenu PDF Viewer SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160875 Debenu Quick PDF Library (by mLipok)] - A collection of functions for Debenu Quick PDF Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75832 FoxIt Reader (by ptrex)] - PDF Reader in AU3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118827 MPDF (by taietel)] - Create PDF from your application.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=42776 PDFCreator (by ptrex)] - Automation of PDFCreator allows you to create and manipulate PDF files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170550 PDFCreator (by mLipok)] - UDF for PDFCreator v1.x.x with working EVENTs Handler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32261 _StringToPDF (by Tam0r)] - Write a string to a PDF file and specify font size, type etc.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145158 Firewall (by JLogan3o13)] - Control and manipulate the Windows Firewall (enable/disable, Exclusions list, enable/disable ports etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194015 Firewall policy2 (by Bilgus)]- Provides access to the firewall policy for Windows Vista+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150819 VirusTotal (by Danyfirex)] - VirusTotal API 2.0 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred (by DonChunior)] - Interface to the Windows Credential Management API.&lt;br /&gt;
&lt;br /&gt;
== Social Media and other Website API ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159254 Cex.io (by AquilesCrespo)] - UDF script for using with the web api from https://cex.io/ server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169333 CrowdinAPI (by mLipok)] - Uses the [https://crowdin.com/page/api crowdin.net website API] for some functions (create projects, add and update files, download translations or integrate localization).&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/290-dropbox-authenticator/ Dropbox authenticator (by Gimerly)] - Dropbox authenticator.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158106 Easypost (by dcat127)] - Print USPS Postage Labels.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114801 eBay (by seangriffin)] - eBay UDF (functions GetItemStatus and GetSingleItem from the &amp;quot;Shopping API&amp;quot;).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=141340 Gmail (by PhoenixXL)] - Remote Gmail (UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192422 Gmail API (by Ascer)] - Automate communication with Gmail using oAuth 2.0 security. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98504 Google Functions (by Beege)] - Google Functions (Suggestions, Definitions, Translate, Convert).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=115437 Google Maps (by seangriffin)] - Google Maps UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70675 iTunes (by torels)] - iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101802 iTunes (by Beege)] - Another iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150985 No-IP (by Nessie)] - Simply update your no-ip hostname(s) and retrieve the ip address of an no-ip address.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192391 oAuth (by Ascer)] - Open standard for access delegation, commonly used to grant websites or applications access to other websites.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150838 PasteBin (by mrflibblehat)] - Pastebin UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121767 Skype (by FireFox)] - Skype4COM provides an ActiveX interface to the Skype API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113234 Teamspeak 3 (by chipDE)] - Teamspeak 3 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186944 TeamViewer API (by mLipok)] - A collection of function for use with TeamViewer API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186381 Telegram Bot (by LinkOut)] - UDF for [https://core.telegram.org/api Telegram messenger API].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166547 TVmaze.com API (by BBs19)] - TVmaze.com API UDF (TV-Series).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116600 Twitter (by seangriffin)] - Manage Twitter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149247 Yahoo Weather (by Nessie)] - Yahoo Weather API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112775 Youtube Uploader (by BrettF)] - AYTU - AutoIt Youtube Uploader.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50880 ACL (by ptrex)] - Set ACL on windows Objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134508 ACL (by FredAI)] - Do most everything with the DACL and ownership on all types of objects: Files or folders, Registry keys, services, Kernel and WMI objects, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206400 BITS (by DonChunior)] - Background Intelligent Transfer Service to download files from or upload files to HTTP web servers and SMB file shares.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184937 CertUtil (by mLipok)] - Wrapper for windows certutil.exe (command-line program that is installed in Windows as part of Certificate Services).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113560 FileSystemMonitor (by seangriffin)] - Monitors the file system by recording all file system events occurring within a given path.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111018 ITaskBarList (by Beege)] - ITaskBarList UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74118 Local account (by engine)] - Manage local accounts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161193 Magnifier Functions (by Ascend4nt)] - Exposes most of the useful Magnifier API functions available since Windows Vista.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75250 Registry (by engine)] - Windows Registry UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50551 Registry (by seanhart)] - RegWriteAllUsers / RegDeleteAllUsers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=80201 Service (by arcker)] - Build your own service with AutoIt code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124508 Startup (by guinness)] - Create Startup entries in the Startup Folder or Registry.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164756 SCCM (by JLogan3o13)] - Systems Center Configuration Manager Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134628 System restore (by FredAI)] - System restore UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186111 SubstWrapper (by mLipok)] - Wrapper for windows subst.exe command - (Associates a path with a drive letter).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135994 Taskplanner/Taskscheduler COM (by Allow2010)] - an UDF for using the Windows Taskplaner / Task Scheduler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83355 Task Scheduler (by dbzfanatic)] - Task Scheduler UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200068 TaskScheduler (by water)] - Brushed up Task Scheduler UDF. Link to the [[TaskScheduler|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173934 TTS (by Kanashius)] - Used with SAPI Automation Object - text-to-speech (TTS) engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158377 UAC (by AdamUL)] - User Account Control (UAC) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=175719 Utter (by Surya)] - Utilizing more of SAPI (Speech Recognition UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127075 WIMGAPI (by Homes32)] - Manipulate Windows Image Files (.wim) without ImageX.exe.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=28436 Windows Events (by Emperor)] - Create your own Windows events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=6487 Windows Service Control functions (by SumTingWong)] - Some limited functions to control services (create, start, stop, delete, check ...).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81880 Windows Services (by engine)] - Windows Services UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163178 WRMF (by Luigi)] - WRMF - Windows Registry Monitor Call Function.&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/topic/178871-dllcall-with-c-example/#comment-1285754 SMSApi (by mLipok)] - UDF for SMSAPi which provides SMS services. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/index.php?showtopic=178589 BulkSMS (by Skysnake)] - UDF for BulkSMS which provides SMS services. --&amp;gt;&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145099 _AdlibEnhance (by JScript)] - Enhance Adlib to call functions with parameters, pause and resume.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160936 Android (by Moriba)] - Control any Android device.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97826 Animated tray icons (by Yashied)] - Make animated tray icons easily.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163577 Atom Table (by Ascend4nt)] - Store (add, find, delete, and query) strings locally (at program level) or globally (at OS level) with unique numerical identifiers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170087 Barcode generators (by willichan)] - Creates a Code128A/B/C or Creates a Code39 or Code39Extended optimized barcode from supplied data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211660 BlockInput (by Nine)] - Block all input coming from mouse and/or keyboard, without having an UAC warning displayed. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87735 BlockInputEx (by MrCreatoR)] - Supports a few features that built-in BlockInput() function does not.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29763 Clipboard (by eltorro)] - When apps need to watch the clipboard.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170630 ClipboardEx (by ozmike)] - Allows to have more than 1 item in the Clipboard. Handles all data types, not just text.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81267 Clipboard History (by wraithdu)] - Save and restore the entire clipboard contents. Inspired by AHK&#039;s ClipboardAll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169610 CmdLine (by Jefrey)] - Collection of functions to parse command line arguments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126569 Console (by Shaggi)] - Functions and features to work wiht Console input/output.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121833 Copy (by Yashied)] - Copy or move files and directories without suspending your script. Retrieve the current state (copied bytes, error code etc.) while copying.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154684 Date / Time convert (by Melba23)] - Transform date/time formats.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99106 _DLLStructDisplay (by Ascend4nt)] - Show Struct in ListView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157689 _FileGetMimeType (by Wiliat87)] - Retrieve MIME types based on the extension of the filename/filepath/URL provided.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117033 File locking with cooperative semaphores (by willichan)] - Simple file locking without a server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157241 FindMimeFromData (by twbradio)] - FindMimeFromData using urlmon.dll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181997 Font Icon (by J2TeaM)] - Use Font Awesome in your AutoIt project.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68422 HotString (by jvanegmond)] - Similar to the HotKey function but trigger on a string, instead of a key or key combination.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173946 LASM - Light Assembler (by minxomat)] - Inline UDF for an Assembler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161628 LFN (by orbs)] - Overcome MAX_PATH limit of 256 chars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111492 Link Grammar for AutoIt (by JRowe)] -  Input is a regular sentence in English, German or Italian, output is a pattern parsed from the structure of the sentence.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/147-mruau3 MRU (by Yashied)] - Most Recently Used (MRU) List Automation functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188158 .NET Common Language Runtime (CLR) Framework (by Danyfirex, Junkew, Larsj, ptrex, Trancexx)] - Allows AutoIt to access .NET Class Libraries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101733 NoFocusLines (by Melba23)] - Remove the dotted focus lines from buttons, sliders, radios and checkboxes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149176 NotifyIcon (by FireFox)] - Create, delete and manage self notify icons (formerly TrayIconEx). &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=63318 PixelGetColor (by Manadar)] - Get or Read Pixel from memory.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167024 RDC (by Yashied)] - ReadDirectoryChanges Wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51103 Resources (by Zedna)] - Embed any binary data into your AutoIt compiled EXE files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162499 ResourcesEx (by guinness)] - Up to date version of Zedna&#039;s Resources UDF. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111215 Restart (by Yashied)] - Allows to restart a script from any location with full restoration of the original command line parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51547 SciLexer (by Kip)] - Editing control, supports multiple editors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152093 ScriptEditor (by pandel)] - ScriptEditor with I18N support and customizable lexer completely written in AutoIt (based on SciLexer).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162033 Spell Checker (by iCode)] - Spell Checker functions to call Hunspell, Hyphenate and MyThes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164444 Synology filestation (by nend)] - Functions to interact with a Synology NAS server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163328 TimeConvert (by orbs)] - Convert UTC to/from local time, and/or reformat the string representation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint (by UEZ)] - Creating barcodes using the Zint.dll.&lt;br /&gt;
[[Category:UDF]]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15285</id>
		<title>User Defined Functions</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15285"/>
		<updated>2026-05-01T16:32:39Z</updated>

		<summary type="html">&lt;p&gt;Water: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
This page is a listing of libraries of &#039;&#039;&#039;user defined functions&#039;&#039;&#039; (UDF). These libraries have been written to allow easy integration into your own scripts and are a very valuable resource for any programmer.&amp;lt;br /&amp;gt;&lt;br /&gt;
This list is probably not complete (407 UDFs on 2026-04-01), but constantly supplemented.&lt;br /&gt;
If you do not find a solution here, ask a new question on the [https://www.autoitscript.com/forum/forum/2-general-help-and-support/ forum].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
The listed UDFs might have been written for older versions of AutoIt. So there is no guarantee that every UDF works smoothly with newer versions.&amp;lt;br /&amp;gt;&lt;br /&gt;
None of the UDFs has been tested by the maintainers of this list so you as a user need to make sure that they deliver the expected results.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;When will an UDF be added to this list?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
It should meet all/most of the general requirements for UDFs as described [[UDF-spec|here]].&amp;lt;br&amp;gt;&lt;br /&gt;
In addition the following requirements should be met:&lt;br /&gt;
* &#039;&#039;&#039;Documentation&#039;&#039;&#039;: So users can tell what the UDF is intended to do (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Examples&#039;&#039;&#039;: So users can get an idea how to use the UDF. The more the better (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Operating systems&#039;&#039;&#039;: Should support the latest Microsoft OS (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;AutoIt&#039;&#039;&#039;: Should support the latest version of AutoIt (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Author&#039;&#039;&#039;: The author should still be active on the forum so he can reply to questions (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What to do when one of your UDFs is missing?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please send a [https://www.autoitscript.com/forum/messenger/compose/?to=7903 PM] to user water. Add a short description of the UDF and a link to your post in the [https://www.autoitscript.com/forum/forum/9-autoit-example-scripts/ Example Scripts] or [https://www.autoitscript.com/forum/forum/49-autoit-projects-and-collaboration/ Projects and Collaboration] forum.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Added in the past two years&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date !! Section !! Creator !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 2026-05-01 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment] - Least Squares Adjustment.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-04-01 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || WildByDesign || [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-10 || [[User_Defined_Functions#Inter_Process_Communications|Inter Process Communications]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC] - Inter Process Communication using TCP/IP.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-09 || [[User_Defined_Functions#Browsers|Browsers]] || ioa747 || [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt] - Integrate WebView2 into AutoIt via COM. &lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-19 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF] - TCP/UDP Networking Library.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || BugFix || [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx] - Another kind of group, versatile changeable.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-16 || [[User_Defined_Functions#Security|Security]] || DonChunior || [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred] - Interface to the Windows Credential Management API.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || genius257 || [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast] - Native Win8+ toast notifications.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Media|Media]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Hardware|Hardware]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213296 Monitor] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-09-22 || [[User_Defined_Functions#Misc|Misc]] || UEZ || [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint] - Creating barcodes using the Zint.dll.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-07-27 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || DXRW4E || [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-04-16 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || seangriffin || [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-03-22 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-02-26 || [[User_Defined_Functions#Controls|Controls]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-16 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Gianni || [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask] - Easily run and manage many processes.&lt;br /&gt;
|- &lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || NoNameCode || [https://www.autoitscript.com/forum/index.php?showtopic=211475 Darkmode] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Network_Guy || [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-11 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || t0nZ || [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog] - Logs made easy.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || argumentum || [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-21 || [[User_Defined_Functions#Controls|Controls]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker] - Date Range Picker Control.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-06 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-03-27 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=211718 FuzzyString] - Fuzzy string comparison and search in string arrays.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place the Table of contents (TOC) here --&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Automation ==&lt;br /&gt;
&lt;br /&gt;
===Browsers===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154439 Chrome (by seangriffin)] - Automate the most common tasks in Chrome with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95595 Firefox (by Stilgar)] - A little less support for automation than IE, but still very good.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167661 Firefox (by Danp2)] - Modified newer version of Stilgar Firefox UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/224-firefox-profile-backup/ FireFox Profile Backup 1.0 (by careca)] - Backup or restore your firefox profile. The application searches for the profile in home drive that will be the one to backup.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _FF_AutoLogin (by Stilgar)] - This is a auto-login function and login-function-generator for FireFox and the FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92035 _FF_DM (by Stilgar)] - UDF to control the FireFox Download-Manager (not the download-window).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91650 _FF_FoxBox (by Stilgar)] - UDF to control Fox!Box (A Mozilla Firefox extension for the AVM FRITZ!Box) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91665 _FF_Screengrab (by Stilgar)] - UDF to control Screengrab! (FireFox-AddOn) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _HTML (by Stilgar)] - Get informations from any HTML (XML) source, without any browser.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166542 HTMLDocumentEvents (by SmOke_N)] - Track IE document events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167035 IEEx (by SmOke_N)] - IE extended library with some Javascript options.&lt;br /&gt;
* Internet Explorer (by DaleHohm et al.) - IE library that is now supplied with a standard AutoIt install.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153520 IUIAutomation MS framework (by junkew)] - IUIAutomation MS framework to automate chrome, FF, IE etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149203 NavInfo (by Nessie)] - With this UDF you can check if a specified browser/software is installed and which version is being used.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=61090 Opera (by MrCreatoR,)] - Automate the most common tasks in Opera with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191990 WebDriver (by Danp2)] - W3C compliant Webriver UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt (by ioa747)] - AutoIt WebView2 Component (COM Interop).&lt;br /&gt;
&lt;br /&gt;
===Microsoft Office===&lt;br /&gt;
Some features of Microsoft&#039;s Office products are proprietary and cannot readily be manipulated.  Sometimes workarounds are required.&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;[[Known issues with Microsoft Office automation.|This page]]&amp;lt;/u&amp;gt; is dedicated to identifying those issues, provide explanations and list solutions or workarounds.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32144 Microsoft Office Access (by randallc)] - Automate Microsoft Access.&lt;br /&gt;
* Microsoft Office Excel (by water et al.) - This UDF is included in AutoIt. Link to the [[Excel_UDF|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135312 Microsoft Office Excel Charts (by water, GreenCan)] - Creating charts using Microsoft Excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204034 Microsoft Office Excel Pivot Tables (by SudeepJD)] - Create and Update Excel Pivot Tables and Charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126305 Microsoft Office Outlook (Items) (by water)] - Automate Microsoft Outlook Items. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202451 Microsoft Office Outlook (GUI) (by water)] - Automate Microsoft Outlook GUI. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197346 Microsoft Office Outlook Tools (by water)] - Built on top of the OutlookEX UDF it offers some often needed extended functionality (import/export ics/vcf files etc.). Link to the [[OutlookTools|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50254 Microsoft Office PowerPoint (by Toady)] - Automate Microsoft PowerPoint.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=178783 Microsoft Office PowerPoint (by water)] - Automate Microsoft PowerPoint. Link to the [[Powerpoint|documentation]] pages.&lt;br /&gt;
* Microsoft Office Word (by water et al.) - This UDF is included in AutoIt. Link to the [[Word_UDF|documentation]] pages.&lt;br /&gt;
&lt;br /&gt;
===OpenOffice/LibreOffice===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210514 LibreOffice Suite (by donnyh13)] - A huge list of functions for LibreOffice Base, Calc and Writer. Link to the [[LibreOffice|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151530 OOo/LibO Calc (by GMK)] - OpenOfficeCalc UDF (works also for Libre Office).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185932 OpenOffice/LibreOffice Spell Checker (by GMK)] - Function to validate words, and show spell alternatives.&lt;br /&gt;
&lt;br /&gt;
===Other Applications===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106163 Active Directory (by water)] - Extensive library to control and manipulate the Windows active directory ([https://www.autoitscript.com/forum/files/file/355-ad-active-directory-udf/ Download]). Link to the [[Active_Directory_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87956 Java (by seangriffin)] - Creates an access bridge between your application and a Java application. Allowing you to automate some Java applications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86574 SAP (by seangriffin)] - SAP business management automation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149540 SAPWizard (by ozmike)] - SAPWizard UDF.&lt;br /&gt;
&lt;br /&gt;
== Script Coding/Analyzing/Debugging ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209528 ArrayCombinations (by AspirinJunkie)] - Different ways of composing elements of a set.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155442 ArrayMultiColSort (by Melba23)] - Function to sort a 2D array on several columns.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209523 ArrayPlus (by AspirinJunkie)] - Functions for flexible Array handling (create, extract, rebuild, sort, filter, find, print)&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180467 ArrayWorkshop (by czardas)] - Multidimensional array functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=59174 Associative array functions (by Nutster)] - Manage a version of associative arrays in single AutoIt variables. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=198929 AutoIt error logger (AUERLO) (by user4157124)] - File- and stdout (etc.) output of messages, errors, exit method and -code, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110379 AutoItObject (by ProgAndy and others)] - Brings the Object Orientation programming paradigm to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112879 AutoIt Syntax Highlight (by MrCreatoR)] - Highlights AutoIt v3 syntax code to html/bbcode format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191488 cDebug (by c.haslam)] - Dumps the values of all AutoIt subtypes and expressions including nested arrays, DLL structs and maps.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor (by Nine)] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195882 ErrorLog (by mLipok)] - Logs program activities and errors to different output locations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211718 FuzzyString (by AspirinJunkie)] - Fuzzy string comparison and search in string arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143167 GetOpt (by dany)] - Parse GNU and DOS style command line options similar to getopt().&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog (by t0nZ)] - Logs made easy.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156196 Log4a (by zorphnog)] - Logging library loosely based upon the log4j and NLog libaries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195862 Loga (by Danyfirex)] - Simple logging library to keep track of code with an integrated console.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119032 Log UDF (by Yashied)] - Create a text log files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202832 OnDebugMsgBox (by argumentum)] - Catch the dreaded &amp;quot;AutoIt Error&amp;quot; MsgBox and prettify or hide it.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209529 Set (by AspirinJunkie)] - Provides a set data type and brings the corresponding mathematical functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200660 Variants and Safearrays (by LarsJ)] - Create/access/process Variants and SafeArrays.&lt;br /&gt;
&lt;br /&gt;
=== Inter Process Communications ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202485 AppInteract (by MrCreatoR)] - Reliably pass arrays or other types between processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC (by Kanashius)] - Inter Process Communication using TCP/IP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=205109 AutoItSharedData (by SEuBo)] - Create a shared data storage, a simple AutoItObject-Object, using AutoItObject_Internal.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188991 Autoit-Socket-IO (by tarretarretarre)] - Event driven TCP/IP wrapper inspired by Socket.IO with focus on user friendliness and long term sustainability.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126936 Container (by MrCreatoR)] - Scripts interaction method. Allows to transfer whole arrays as data, and even COM objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=55994 DDEML (by doudou)] - Use your AutoIt script as DDE client or server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193277 FMIPC (by argumentum)] - IPC via FileMapping.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127615 Interprocess (by JScript)] - Remotely execute a function in another script (using Mailslot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193158 IPC_IO (by JohnWIlling)] - IPC library supporting multiple connection types (such as: Named Pipe, File, TCP, SharedMemory, MailSlot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202618 IPC Techniques through ROT Objects (by LarsJ)] - Implementing IRunningObjectTable Interface.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106710 Mailslot (by trancexx)] - IPC using Mailslots.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204734 Overlapped Named Pipe IPC (by Nine)] - Very fast interprocess communication that could be used between VBS or AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169797 Pool - Post Office for Organized Labour (by RTFC)] - Provides multiple AutoIt processes with an infrastructure for exchanging messages, data, and remote-control instructions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202587 WCD IPC (by Nine)] - Framework for Inter Process Communication using Windows Messages WM_COPYDATA.&lt;br /&gt;
&lt;br /&gt;
=== Parallel/concurrent processing ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork (by argumentum)] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186853 _Multiprocess (by jguinch)] - Run several external programs at the same time and retrieve the exit code of each process.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask (by Gianni)] - Easily run and manage many processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking (by Network_Guy)] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT (by Nine)] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
&lt;br /&gt;
== Files, Databases and web connections ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180850 ADO (by mLipok)] - A modifed version of the _SQL UDF to access all kind of databases (MSSQL, MySQL, PostgreSQL, SQLite, MS ACCESS, XLS, TXT, and many other which use ADO and ODBC).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105875 ADODB (by spudw2k)] - ADODB Example.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 AXML (by Aipion)] - This is a Wrapper for Pugixml, made with C++.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145142 DBF (by funkey)] - dBase database read and write with DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/topic/114406-csv-file-to-multidimensional-array/#findComment-799820 CSV (by ProgAndy)] - Read/write CSV files to/from 2D arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197909 CSV (by seangriffin)] - Manipulate CSV files using SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155748 CSVSplit (by czardas)] - Convert to and from CSV format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151116 DIF (by willichan)] - Read/write DIF (Data Interchange Format) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119238 Excel file generation (by jerome)] - Excel file generation (multi-sheet workbook) without the need to have Excel installed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143866 Excel XML (by FireFox)] - Work with SpreadsheetML (Open XML file formats).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155905 EXml (by jdelaney)] - Create Excel file (SpreadsheetML) through &amp;quot;Microsoft.XMLDOM&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116072 EzMySql (by Yoriz)] - Use MySQL Databases with AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148232 _FileGetProperty (by BrewManNH)] - Retrieve properties of a file.Xml2Json&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94920 FireBird (by eltorro)] - FireBird, Interbase DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx (by DXRW4E)] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197421 jq (by TheXman)] - Brings the power and flexibility of jq (an open-source command-line based JSON processor) to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209502 JSON (by AspirinJunkie)] - Interacting with JSON data in AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104150 JSON (by Gabriel13)] - RFC4627 compliant JSON encode/decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148114 JSON (by Ward)] - JSMN - A Non-Strict JSON UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156794 JSON (by ozmike)] - Bridge to Native Windows JSON plus OO extension for AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC (by seangriffin)] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173797 JSONgen (by Jefrey)] - Generate JSON.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127101 MS SQL (by TheLuBu)] - MSSQL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51952 MS SQL (by ChrisL)] - _SQL. ADODB Connection.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20814 MySQL (by cdkid)] - MySQL relational database management system.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85617 MySQL (by ProgAndy)] - MySQL UDFs (without ODBC - working with libmysql.dll).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=122360 MySQL (by James)] - MySQL ODBC Connector.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187223 romaSQL (rynow)] - Built on the concept of Laravel Query &amp;amp; doctrine. Connection string is based on ADODB / ODBC.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143331 Sharepoint 2007/2010 (by schoppet)] - Access the SOAP-Webservices of Sharepoint 2007/2010.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17099 SQLite (by ptrex)] - SQLite is a library that implements a self-contained, embeddable, zero-configuration SQL database engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=142977 SQLite Array Functions (by SmOke_N)] - SQLite Array Functions - a faster method for unique arrays and sorting methods.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140521 SQLite - Database (by PhoenixXL)] - UDF for SQLite so that beginners will also be able to do the stuff.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157853 SQLiteEx (by 57ar7up)] - SQLiteEx UDF v0.5.1 - Simplest work with SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163633 Xbase I/O (by RTFC)] - Transfer data between Xbase Data file (*.dbf) and AutoIt array written in pure AutoIt (no SQL, no ADO, no dlls, no external dependencies).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209526 xlsxNative (by AspirinJunkie)] - Read and write xlsx files without excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=19848 XML DOM Wrapper (by eltorro)] - Supports CRUD operations on XML. Including XSL and XPath.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 XML (by mLipok)] - New version of XML DOM Wrapper, with many new features.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208932 Xml2Json (by TheXman)] - Transform XML to JSON.&lt;br /&gt;
&lt;br /&gt;
== Data compression ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85094 7z, zip, gzip, bzip2, tar (by rasim)] - Extensive library that uses a external DLL that must be provided with the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92958 gZip (by Zinthose)] - Based on the parsing of gZip.exe output. It can work with memory, it doesn&#039;t work with files. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87441 LZMA (by trancexx)] - LZMA (Native Windows).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138838 Package (by Yashied)] - Package UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129529 pZip (by asdf8)] - PureZIP_L library UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=76176 UnRAR (by rasim)] - UnRAR.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17727 XZip (by eltorro)] - Another UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161847 XZip (by mLipok)] - UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44524 Zip plugin (by eltorro)] - Zip plugin.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73425 ZIP (by torels)] - ZIP UDF in pure AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116565 zip (by wraithdu)] - Create ZIP files and unpack ZIP files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135565 ZIP (by joakim)] - ZIP STRUCTS UDF (from scratch).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87284 ZLib (by monoceres)] - Based on ZLib.dll. It can compress/uncompress data in memory, it doesn&#039;t work with files.&lt;br /&gt;
&lt;br /&gt;
== Encryption and hash ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81332 _Base64Encode, _Base64Decode (by trancexx)] - Fast _Base64Encode, _Base64Decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153246 Base91 and Base128 (by Beege)] - Base91 and Base128 functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155538 Codecrypter (by RTFC)] - Encrypt scripts without placing the key inside the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=201002 Cryptography API: Next Gen (by TheXman)] - Microsoft&#039;s long-term replacement for their CryptoAPI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210901 Enigma (by willichan)] - Simple encryption based on the Enigma Machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203990 GDPR (by mLipok)] - Functions to encrypt/decrypt strings and files with the GDPR in mind.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95558 Hashes for files (by trancexx)] - Fast RC32, MD4, MD5, SHA1 calculation for big files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107784 TrueCrypt (by FuryCell)] - TrueCrypt UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140737 WinTrust (by kasty)] - verify the integrity of a file with its embedded signature or a given catalog.&lt;br /&gt;
&lt;br /&gt;
== GUI Additions ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast (by genius257)] - Native Win8+ toast notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97241 3D Pie chart (by WideBoyDixon)] - 3D Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173924 Chart_UDF (by Kanashius)] - This UDF can be used to Display bar charts in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96258 ContextHelp (by Yashied)] - Management of context help ([https://www.autoitscript.com/forum/index.php?showtopic=72152-contexthelp/ original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211475 DarkMode (by NoNameCode)] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109096 ExtMsgBox (by Melba23)] - A very customisable replacement for MsgBox.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx (by BugFix)] - Another kind of group, versatile changeable.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105582 GUICtrlOnChangeRegister (by Mat)] - Call a function when an edits content is changed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme (by WildByDesign)] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145149 GUIExtender (by Melba23)] - Expand and contract sections of your GUI ([https://www.autoitscript.com/forum/index.php?showtopic=117909 original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197654 GuiFlatButton (by kurtykurtyboy)] - Change colors of regular buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119505 GUIFrame (by Melba23 &amp;amp; Kip)] - Divide a GUI into adjustable frames.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=144207 GUI Panel (by FireFox)] - Manage child GUIs as panel ctrls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113723 GUI Scrollbars (by Melba23)] - Automatically sized scrollbars with a single command.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161184 MetroGUI (by BBs19)] - Windows 10 style buttons, toggles, radios etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 Modern tray menu (by Holger)] - Allows the creation of modern, fancy GUI and tray menus with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194693 MTSkin (by Taskms4)] - Simply create modern looking GUIs (borderless GUI, Interactive menu panel (with mouse-over detection), a bunch of skins).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182136 Notifications (by S3cret91)] - Display permanent desktop notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=136149 Notify (by Melba23)] - Small notifications on the edge of the display.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161750 Pie chart (by Andreik)] - Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75429 Real Vista Aero Glass (by James)] - Real Vista Aero Glass UDF - you can apply glass effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF (by Nine)] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=71811 SetOnEvent (by martin)] - Provides an easy way for an event to call functions with parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=103871 _SysTray (by wraithdu)] - Get info about and manipulate Systray icons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108445 Toast (by Melba23)] - Small message GUIs which pop out of the Systray.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110003 Tray Icon Bar Graph (by BeeGee)] - Creates a scrolling bar graph as the tray icon.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=132864 Uskin (by JScript)] - Allows you to skin your GUI using the Windows &#039;&#039;.MSstyles&#039;&#039; files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191821 Wi3SMenu (by NHD)] - Create a slide menu with Windows 10 style. Supports color, icon and opacity.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129196 WinSnap (by Beege)] - Automatic Window Alignment by applying that &amp;quot;snappy edge&amp;quot; effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32494 XSkin (by Valuater)] - Allows skinning of your GUI and to apply custom skins.&lt;br /&gt;
&lt;br /&gt;
=== Controls ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202529 BrowseForFolder (by MrCreatoR)] - Handle SHBrowseForFolderW with more options, such as multi selection (checkboxes), window position, controls text and more. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=146406 Calendar (by jmon)] - Calendar UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125293 ChooseFileFolder (byMelba23)] - Single and multiple selections from specified path treeview listing.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96464 Colorpicker (by Yashied)] - Create a button for the user to select a color.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker (by Nine)] - Date Range Picker Control.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=123409 Explorer Frame UDF (by Beege)] - Takes any frame created by GUIFrame and turns it into a MS-Windows like Explorer window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview (by Kanashius)] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173929 GDIPlus Slider UDF (by Kanashius)] - This UDF can be used to create a slider with an imagebackground and an image to move.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=79412 Graph control (by andybiochem)] - Easily create and show bar chart and line charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104399 GraphGDIPlus UDF (by andybiochem)] - Easily create and show bar chart and line charts with GDI+ to take advantage of double-buffering.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105682 GUICtrlCreateFinder (by Mat)] - Allows you to create a window finder control like the one seen in AutoIt Window Info.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107965 GUIHotkey (by Mat)] - UDF for using native hotkey controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182492 GUIListViewEx (by Melba23)] - Insert, delete, move, drag, sort, edit and colour ListView items.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111438 GUIPager (by Mat)] - Create and control native pager controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 GUI/Tray Menu (by Holger, LarsJ, AZJIO)] - GUI/Tray Menu with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166594 GUITreeViewEx (by Melba23)] - Check/clear parent and child checkboxes in a TreeView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=90598 Hotkey input control (by Yashied)] - Hotkeys Input Control UDF Library (Non-native).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173932 ListView Edit UDF (by Kanashius)] - This UDF can be used to simply edit an Listview.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109355 ListView - Explorer like ListView UDF (by Beege)] - This UDF simplify creating MS Explorer-like ListViews.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143711 Marquee (by Melba23)] - Make tickertape info bars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143380 Predict Text UDF (by PhoenixXL)] - Sub classes the edit control and matches the current word through the Database &amp;amp; sets selection in accordance.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163939 Progressbar new style (by Muzaiyan)] - New styles for your progress bar.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74649 Progressbar with GDIplus (by ProgAndy)] - You even can use full textured images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151636 RestrictEdit_SRE UDF (by PhoenixXL)] - Restrict the text that can be entered in an editbox through a String Regular Expression.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128242 Ribbon (by trancexx)] - UDF for Windows Ribbon framework.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114034 StringSize (by Melba23)] - Automatically size controls to fit the text you want to put in them.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126958 Syslink (by Yashied)] - Provides a convenient way to embed hypertext links in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105814 Table (by andybiochem)] - Table UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211024 Toggle Button (by Andreik)] - Create simple toggle buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125251 TVExplorer (by Yashied)] - Allows to create TreeView (TV) Explorer controls that display a tree of files and folders.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=190659 Virtual Listview (by LarsJ)] - Virtual Listview for large amounts of data with a large number of rows.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195053 Windows Message Monitor (by LarsJ)] - Monitor Windows Messages of a window or control.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118317 Battery UDF (by Yashied)] - Retrieves various information and current status of the battery(s).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154727 BuildPartitionTable (by RTFC)] - Scans a physical drive&#039;s partition table and returns a partition_table, allocation_table and volumes_table.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155674 CommAPI (by therealhanuta)] - Serial and parallel communication (COM port, RS-232, LPT port) - without installing DLL&#039;s (using Windows API calls).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77731 Device Management (by weaponx)] - Device Management API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97487 DirectShow (by monoceres)] - DirectShow UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164700 DirectSound (by eukalyptus)] - DirectSound UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164701 Direct2D (by eukalyptus)] - Direct2D UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99713 Drive Info (by NerdFencer)] - Gathers drive info for Hard Drives, Disk Drives, and Floppy Drives.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138989 FritzBox (by Allow2010)] - _FB_Tools - manage your FritzBox from Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121084 I/O Port Functions (by Ascend4nt)] - Input/Output UDF for interacting with ports (x64 Parallel Port, Keyboard etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203207 MediaDevice (by Danyfirex)] - Transfer files to portable devices like phones, storages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php=showtopic=213296 Monitor (by Trong)] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154350 Monitor Configuration (by jaberwacky)] - Monitor Configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155469 Mouse (by AlmarM)] - AutoIt powered mouse events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=147325 MouseTrapEvent (by ozmike)] - MouseTrapEvent UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149083 NetInfo (by Nessie)] - UDF for test internet download speed and upload speed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155539 Network configuration (by jguinch)] - Network configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182684 Nitgen (by Jefrey)] - UDF to work with Nitgen fingerprint readers that use NGenBio SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210968 Printer Manager (by Nine)] - Manage printers with winspool.drv DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155485 Printers management with WMI (by jguinch)] - Add/delete printer, driver, port, or obtain configuration, set default printer ...&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=189190 Serial port UDF / COM port UDF (by MazeM)] - It is very similar to CommAPI using kernel32.dll, but all code is packed into a single file without any dependencies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128546 Serial Port/COM (by martin)] - Serial Port /COM Port UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27755 SMARTDRIVE (by ptrex)] - SMART drive Analysis.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158640 SPI Hardware Interface (by Blinky)] - Communicate with the MAX335 chip using the SPI protocol via the LPT (printer) port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=8188 VISA/GPIB (by Angel)] - VISA/GPIB library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68866 Webcam (by LIMITER)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70857 Webcam (by ludocus)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91018 WiFi (by MattyD)] - Low level control over your wireless LAN.&lt;br /&gt;
&lt;br /&gt;
== Information gathering ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29404 Computer information (by JSThePatriot)] - A general purpose library to get various details about a Windows machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151920 NetworkStatistics (by Ascend4nt)] - Network Interface Info, Statistics, and Traffic.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=54039 WinPcap (by JRSmile)] - Wrapper for the windows packet capture library WinPcap.&lt;br /&gt;
* [https://opensource.grisambre.net/pcapau3/ WinPcap (by Nicolas Ricquemaque)] - A library to access the main functionalities offered by the WinPcap driver.&lt;br /&gt;
&lt;br /&gt;
== Internet protocol suite ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207859 cURLX64 (by Beege)] - cURL UDF with x64 support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=137456 cURL (by seangriffin)] - A UDF for transferring data with URL syntax.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187718 HTTP lib (by Jefrey)] - HTTP lib (GET, POST and upload) UDF to simplify HTTP requests, mainly when dealing about POST data or file uploads.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202895 HttpApi (by TheXman)] - HTTP Server API enables applications to communicate over HTTP without using MS Internet Information Server (IIS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=40243 IMAP (by mikeytown2)] - IMAP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108422 IMAP4 (by Tipulatoid)] - IMAP4 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=43515 IRC (by McGod)] - A lightweight library for communicating with IRC servers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159285 IRC (by rcmaehl)] - IRC UDF - Updated Version of Chips&#039; IRC UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=22838 POP3 (by Apzo)] - POP3 library for retrieving email messages. Not compatible with Gmail because it uses SSL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167339 POP3 (by mLipok)] - POP3 UDF According to the 1939 RFC, modified version with Quoted Printable decoder.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154530 Prowl (by mrflibblehat)] - Push notifications to iPhone, iPod touch or iPad using Prowl (Growl client for iOS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138095 SFTP (by Lupo73)] - UDF to support SFTP protocol using PSFTP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154054 Socket UDF (by funkey)] - Socket UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=23860 SMTP (by Jos)] - Smtp Mailer That Supports Html And Attachments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167292 SMTP Mailer UDF (by mLipok)] - Smtp Mailer That Supports Html And Attachments - Modified Version with support to save EML files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81687 SNMP (by enaiman)] - SNMP_UDF for SNMPv1 and SNMPv2c.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70759 SNMP - MIB protocol (by ptrex)] - Reading toner status from SNMP device with WMI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166579 SSH (by jeanphile)] - Use the SSH protocol very easily in your code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185329 STUN (by j0kky)] - STUN is a protocol that permits you to know your external IP but, more interesting, your external port associated to your internal port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184817 SyslogSend (by Irios)] - This allows sending (BSD) messages to a syslog server using UDP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169774 TCPServer (by Jefrey)] - Multi client, event-based, able to bind console app to socket.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=57022 UPnP Protocol (by ptrex)] - UPnP - Read and Control your devices in side out.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=84133 WinHTTP (by trancexx)] - Access the HTTP protocol for creating GET and POST requests and submitting them with conforming standards, cookies not supported.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77503 WinInet (by -Ultima-)] - Access standard Internet protocols (FTP, Gopher and HTTP). Supports GET/POST requests and cookies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181645 Winsock (by j0kky)] - Create client/server application using native winsock functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF (by Trong)] - TCP/UDP Networking Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191954 WSA_NBTCP (by ripdad)] - Windows Sockets API - Non-Blocking Transmission Control Protocol.&lt;br /&gt;
&lt;br /&gt;
== Maths ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213521 Adjustment (By AsprininJunkie)] - Least Squares Adjustment.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170658 Advanced Math UDF (by scintilla4evr)] - Advanced mathematical functions (primes, number sequences, interpolate, calculate values of functions like Riemann zeta etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=102686 Advanced rounding (by Mat)] - Support for different measures of accuracy and 8 ways to resolve tie breaks.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83529 Big number (by eukalyptus)] - Make calculations with extremely large numbers that AutoIt normally is not able to support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106551 Decimal To fraction (by Malkey)] - Converts any decimal number to a fraction. Example: 1.2 to 6/5.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162921 Eigen4AutoIt (by RFTC)] - Allows to perform fast matrix operations on large numerical data sets, and much more ....&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra (by AspirinJunkie)] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140789 MathsEx UDF (by PhoenixXL)] - Functions for Carrying Out More Advanced Mathematical Calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81189 Number base conversion (by james3mg)] - From, to and between positive bases less than 63 (decimals supported).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117156 NumToWord (by Mat)] - Convert numerals to a human readable string.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108803 Polynomials (by Mat)] - Functions for using polynomials.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83091 Primes (by jennico)] - Many functions dealing with prime number generation and calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94770 Roman Numerals (by AZJIO)] - Roman Numerals.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98160 Root function (by Mat)] - Working out real roots of numbers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209527 Stat (by AspirinJunkie)] - Statistics for Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163899 StringAPL (by minx)] - inline APL interpreter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=82722 Trigonometric and math functions (by trancexx)] - _ATan2(), _Cosh(), _Frexp(), _Hypot(), _Ldexp(), _Logb(), _Sinh(), _Tanh().&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95357 FreeImage library (by ProgAndy)] - Various operations on images, such as rotate, resize, flip.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll (by Trong)] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127263 HtmlHelp (by Geodetic)] - HtmlHelp functions for context-sensitive help from CHM (compiled HTML) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116009 HyperCam (by seangriffin)] - HyperCam (Screen Recording) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182535 HyCam2 (by willichan)] - Automation for HyCam2 screen recording utility.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50608 OCR (by ptrex)] - Real OCR in AU3 - MODI with MS Office 2003.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=89542 OCR (by seangriffin)] - Tesseract (Screen OCR) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206133 OCRSpace (by MrKm)] - Convert Images to text with the OCRSpace API. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51054 Printer controller (by martin)] - Print text in any font, size and colour at any position on the page, draw lines, curves, elipses, pies in any colour, and print images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73993 Printing (by GRS)] - Printing from AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202621 QRCreator (by BugFix)] - Simple QR-code creation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161831 RTF_Printer (by mLipok)] - Printing RichEdit in the background.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94834 Simple DirectMedia Layer (by AdmiralClaws)] - Adds support for joysticks, CDs, 2D graphics, timers. See [https://www.libsdl.org/ SDL website] for more information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207324 UWPOCR (by Danyfirex)] - Universal Windows Platform Optical Character Recognition API.&lt;br /&gt;
&lt;br /&gt;
===Graphics and image===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202987 AutoYolo3 (by smartee)] - Real-Time Object Detection using YOLOv3 wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113881 au3Irrlicht2 (by JRowe)] - Combining Irrlicht and AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86748 AVI writing udf (by monoceres)] - Create uncompressed avi&#039;s from bitmap files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27362 Bitmap Library (by evilertoaster)] - Bitmap Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202663 GIF animation (by Nine)] - Fast cached GIF animation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150231 GTK+  (by prazetto)] - GTK+ Framework | Widgets.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=13096 ImageGetInfo (by Lazycat)] - Read info from JPEG, TIFF, BMP, PNG and GIF - size, color depth, resolution.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/471-image-search-udf Image Search (by VIP)] - Search for an image on the desktop. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70506 IrrLicht (by A. Percy)] - A 3D graphics engine suitable for creating games.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160732 OpenCV (by myliseJ)] - UDF for the OpenCV library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206432 OpenCV v4+ (by smbape)] - OpenCV UDF with support for OpenCV v4+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151011 OpenGL (by LarsJ)] - OpenGL without external libraries etc. For JPEG files it also retrieves various Exif information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148129 OpenGL (2.0) (by minx)] - New set of UDFs for OpenGL + AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152950 S3D (by Starg)] - Draw simple 3D graphics with GDI+.&lt;br /&gt;
&lt;br /&gt;
===Players===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114143 VLC (by seangriffin)] - VLC (Media Player) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91316 VLC Media Player (by ptrex)] - VLC Media Player.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27352 WMP (by ConsultingJoe)] - Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44008 WMP - Media Controls (by CFire)] - Another Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203154 WMP - GUI Control (by SudeepJD)] - IE based WMP Control.&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83481 BASS Function Library (by BrettF)] - Sound and Music via wrappers for Bass, BassEnc, Bass FX, BassSFX, BassAsio and BassCd DLLs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173808 libZPlay (by Danyfirex)] - Multimedia library for playing mp3, mp2, mp1, ogg, flac, ac3, aac, oga, wav and pcm files and streams.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=37072 MIDI (by eynstyne)] - MIDI UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208116 MIDI (by MattyD)] - Wrap of the Windows MIDI functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114742 SAPIListBox (by seangriffin)] - SAPIListBox (Speech Recognition) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=100439 TTS (by Beege)] - Text-to-Speech UDF.&lt;br /&gt;
&lt;br /&gt;
== PDF ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162195 Acrobat Reader - ActiveX Viewer (by mLipok)] - Make your own PDF Viewer GUI with Acrobat Reader ActiveX COM Object &amp;quot;AcroPDF.PDF.1&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164469 Debenu PDF Viewer SDK (by mLipok)] - A collection of functions to display PDF files in your applications using Debenu PDF Viewer SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160875 Debenu Quick PDF Library (by mLipok)] - A collection of functions for Debenu Quick PDF Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75832 FoxIt Reader (by ptrex)] - PDF Reader in AU3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118827 MPDF (by taietel)] - Create PDF from your application.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=42776 PDFCreator (by ptrex)] - Automation of PDFCreator allows you to create and manipulate PDF files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170550 PDFCreator (by mLipok)] - UDF for PDFCreator v1.x.x with working EVENTs Handler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32261 _StringToPDF (by Tam0r)] - Write a string to a PDF file and specify font size, type etc.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145158 Firewall (by JLogan3o13)] - Control and manipulate the Windows Firewall (enable/disable, Exclusions list, enable/disable ports etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194015 Firewall policy2 (by Bilgus)]- Provides access to the firewall policy for Windows Vista+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150819 VirusTotal (by Danyfirex)] - VirusTotal API 2.0 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred (by DonChunior)] - Interface to the Windows Credential Management API.&lt;br /&gt;
&lt;br /&gt;
== Social Media and other Website API ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159254 Cex.io (by AquilesCrespo)] - UDF script for using with the web api from https://cex.io/ server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169333 CrowdinAPI (by mLipok)] - Uses the [https://crowdin.com/page/api crowdin.net website API] for some functions (create projects, add and update files, download translations or integrate localization).&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/290-dropbox-authenticator/ Dropbox authenticator (by Gimerly)] - Dropbox authenticator.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158106 Easypost (by dcat127)] - Print USPS Postage Labels.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114801 eBay (by seangriffin)] - eBay UDF (functions GetItemStatus and GetSingleItem from the &amp;quot;Shopping API&amp;quot;).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=141340 Gmail (by PhoenixXL)] - Remote Gmail (UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192422 Gmail API (by Ascer)] - Automate communication with Gmail using oAuth 2.0 security. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98504 Google Functions (by Beege)] - Google Functions (Suggestions, Definitions, Translate, Convert).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=115437 Google Maps (by seangriffin)] - Google Maps UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70675 iTunes (by torels)] - iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101802 iTunes (by Beege)] - Another iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150985 No-IP (by Nessie)] - Simply update your no-ip hostname(s) and retrieve the ip address of an no-ip address.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192391 oAuth (by Ascer)] - Open standard for access delegation, commonly used to grant websites or applications access to other websites.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150838 PasteBin (by mrflibblehat)] - Pastebin UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121767 Skype (by FireFox)] - Skype4COM provides an ActiveX interface to the Skype API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113234 Teamspeak 3 (by chipDE)] - Teamspeak 3 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186944 TeamViewer API (by mLipok)] - A collection of function for use with TeamViewer API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186381 Telegram Bot (by LinkOut)] - UDF for [https://core.telegram.org/api Telegram messenger API].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166547 TVmaze.com API (by BBs19)] - TVmaze.com API UDF (TV-Series).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116600 Twitter (by seangriffin)] - Manage Twitter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149247 Yahoo Weather (by Nessie)] - Yahoo Weather API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112775 Youtube Uploader (by BrettF)] - AYTU - AutoIt Youtube Uploader.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50880 ACL (by ptrex)] - Set ACL on windows Objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134508 ACL (by FredAI)] - Do most everything with the DACL and ownership on all types of objects: Files or folders, Registry keys, services, Kernel and WMI objects, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206400 BITS (by DonChunior)] - Background Intelligent Transfer Service to download files from or upload files to HTTP web servers and SMB file shares.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184937 CertUtil (by mLipok)] - Wrapper for windows certutil.exe (command-line program that is installed in Windows as part of Certificate Services).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113560 FileSystemMonitor (by seangriffin)] - Monitors the file system by recording all file system events occurring within a given path.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111018 ITaskBarList (by Beege)] - ITaskBarList UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74118 Local account (by engine)] - Manage local accounts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161193 Magnifier Functions (by Ascend4nt)] - Exposes most of the useful Magnifier API functions available since Windows Vista.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75250 Registry (by engine)] - Windows Registry UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50551 Registry (by seanhart)] - RegWriteAllUsers / RegDeleteAllUsers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=80201 Service (by arcker)] - Build your own service with AutoIt code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124508 Startup (by guinness)] - Create Startup entries in the Startup Folder or Registry.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164756 SCCM (by JLogan3o13)] - Systems Center Configuration Manager Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134628 System restore (by FredAI)] - System restore UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186111 SubstWrapper (by mLipok)] - Wrapper for windows subst.exe command - (Associates a path with a drive letter).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135994 Taskplanner/Taskscheduler COM (by Allow2010)] - an UDF for using the Windows Taskplaner / Task Scheduler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83355 Task Scheduler (by dbzfanatic)] - Task Scheduler UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200068 TaskScheduler (by water)] - Brushed up Task Scheduler UDF. Link to the [[TaskScheduler|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173934 TTS (by Kanashius)] - Used with SAPI Automation Object - text-to-speech (TTS) engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158377 UAC (by AdamUL)] - User Account Control (UAC) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=175719 Utter (by Surya)] - Utilizing more of SAPI (Speech Recognition UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127075 WIMGAPI (by Homes32)] - Manipulate Windows Image Files (.wim) without ImageX.exe.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=28436 Windows Events (by Emperor)] - Create your own Windows events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=6487 Windows Service Control functions (by SumTingWong)] - Some limited functions to control services (create, start, stop, delete, check ...).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81880 Windows Services (by engine)] - Windows Services UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163178 WRMF (by Luigi)] - WRMF - Windows Registry Monitor Call Function.&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/topic/178871-dllcall-with-c-example/#comment-1285754 SMSApi (by mLipok)] - UDF for SMSAPi which provides SMS services. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/index.php?showtopic=178589 BulkSMS (by Skysnake)] - UDF for BulkSMS which provides SMS services. --&amp;gt;&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145099 _AdlibEnhance (by JScript)] - Enhance Adlib to call functions with parameters, pause and resume.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160936 Android (by Moriba)] - Control any Android device.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97826 Animated tray icons (by Yashied)] - Make animated tray icons easily.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163577 Atom Table (by Ascend4nt)] - Store (add, find, delete, and query) strings locally (at program level) or globally (at OS level) with unique numerical identifiers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170087 Barcode generators (by willichan)] - Creates a Code128A/B/C or Creates a Code39 or Code39Extended optimized barcode from supplied data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211660 BlockInput (by Nine)] - Block all input coming from mouse and/or keyboard, without having an UAC warning displayed. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87735 BlockInputEx (by MrCreatoR)] - Supports a few features that built-in BlockInput() function does not.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29763 Clipboard (by eltorro)] - When apps need to watch the clipboard.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170630 ClipboardEx (by ozmike)] - Allows to have more than 1 item in the Clipboard. Handles all data types, not just text.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81267 Clipboard History (by wraithdu)] - Save and restore the entire clipboard contents. Inspired by AHK&#039;s ClipboardAll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169610 CmdLine (by Jefrey)] - Collection of functions to parse command line arguments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126569 Console (by Shaggi)] - Functions and features to work wiht Console input/output.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121833 Copy (by Yashied)] - Copy or move files and directories without suspending your script. Retrieve the current state (copied bytes, error code etc.) while copying.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154684 Date / Time convert (by Melba23)] - Transform date/time formats.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99106 _DLLStructDisplay (by Ascend4nt)] - Show Struct in ListView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157689 _FileGetMimeType (by Wiliat87)] - Retrieve MIME types based on the extension of the filename/filepath/URL provided.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117033 File locking with cooperative semaphores (by willichan)] - Simple file locking without a server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157241 FindMimeFromData (by twbradio)] - FindMimeFromData using urlmon.dll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181997 Font Icon (by J2TeaM)] - Use Font Awesome in your AutoIt project.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68422 HotString (by jvanegmond)] - Similar to the HotKey function but trigger on a string, instead of a key or key combination.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173946 LASM - Light Assembler (by minxomat)] - Inline UDF for an Assembler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161628 LFN (by orbs)] - Overcome MAX_PATH limit of 256 chars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111492 Link Grammar for AutoIt (by JRowe)] -  Input is a regular sentence in English, German or Italian, output is a pattern parsed from the structure of the sentence.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/147-mruau3 MRU (by Yashied)] - Most Recently Used (MRU) List Automation functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188158 .NET Common Language Runtime (CLR) Framework (by Danyfirex, Junkew, Larsj, ptrex, Trancexx)] - Allows AutoIt to access .NET Class Libraries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101733 NoFocusLines (by Melba23)] - Remove the dotted focus lines from buttons, sliders, radios and checkboxes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149176 NotifyIcon (by FireFox)] - Create, delete and manage self notify icons (formerly TrayIconEx). &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=63318 PixelGetColor (by Manadar)] - Get or Read Pixel from memory.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167024 RDC (by Yashied)] - ReadDirectoryChanges Wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51103 Resources (by Zedna)] - Embed any binary data into your AutoIt compiled EXE files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162499 ResourcesEx (by guinness)] - Up to date version of Zedna&#039;s Resources UDF. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111215 Restart (by Yashied)] - Allows to restart a script from any location with full restoration of the original command line parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51547 SciLexer (by Kip)] - Editing control, supports multiple editors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152093 ScriptEditor (by pandel)] - ScriptEditor with I18N support and customizable lexer completely written in AutoIt (based on SciLexer).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162033 Spell Checker (by iCode)] - Spell Checker functions to call Hunspell, Hyphenate and MyThes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164444 Synology filestation (by nend)] - Functions to interact with a Synology NAS server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163328 TimeConvert (by orbs)] - Convert UTC to/from local time, and/or reformat the string representation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint (by UEZ)] - Creating barcodes using the Zint.dll.&lt;br /&gt;
[[Category:UDF]]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15284</id>
		<title>User Defined Functions</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15284"/>
		<updated>2026-04-01T14:55:59Z</updated>

		<summary type="html">&lt;p&gt;Water: /* GUI Additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
This page is a listing of libraries of &#039;&#039;&#039;user defined functions&#039;&#039;&#039; (UDF). These libraries have been written to allow easy integration into your own scripts and are a very valuable resource for any programmer.&amp;lt;br /&amp;gt;&lt;br /&gt;
This list is probably not complete (407 UDFs on 2026-04-01), but constantly supplemented.&lt;br /&gt;
If you do not find a solution here, ask a new question on the [https://www.autoitscript.com/forum/forum/2-general-help-and-support/ forum].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
The listed UDFs might have been written for older versions of AutoIt. So there is no guarantee that every UDF works smoothly with newer versions.&amp;lt;br /&amp;gt;&lt;br /&gt;
None of the UDFs has been tested by the maintainers of this list so you as a user need to make sure that they deliver the expected results.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;When will an UDF be added to this list?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
It should meet all/most of the general requirements for UDFs as described [[UDF-spec|here]].&amp;lt;br&amp;gt;&lt;br /&gt;
In addition the following requirements should be met:&lt;br /&gt;
* &#039;&#039;&#039;Documentation&#039;&#039;&#039;: So users can tell what the UDF is intended to do (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Examples&#039;&#039;&#039;: So users can get an idea how to use the UDF. The more the better (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Operating systems&#039;&#039;&#039;: Should support the latest Microsoft OS (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;AutoIt&#039;&#039;&#039;: Should support the latest version of AutoIt (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Author&#039;&#039;&#039;: The author should still be active on the forum so he can reply to questions (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What to do when one of your UDFs is missing?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please send a [https://www.autoitscript.com/forum/messenger/compose/?to=7903 PM] to user water. Add a short description of the UDF and a link to your post in the [https://www.autoitscript.com/forum/forum/9-autoit-example-scripts/ Example Scripts] or [https://www.autoitscript.com/forum/forum/49-autoit-projects-and-collaboration/ Projects and Collaboration] forum.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Added in the past two years&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date !! Section !! Creator !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 2026-04-01 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || WildByDesign || [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-10 || [[User_Defined_Functions#Inter_Process_Communications|Inter Process Communications]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC] - Inter Process Communication using TCP/IP.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-09 || [[User_Defined_Functions#Browsers|Browsers]] || ioa747 || [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt] - Integrate WebView2 into AutoIt via COM. &lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-19 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF] - TCP/UDP Networking Library.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || BugFix || [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx] - Another kind of group, versatile changeable.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-16 || [[User_Defined_Functions#Security|Security]] || DonChunior || [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred] - Interface to the Windows Credential Management API.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || genius257 || [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast] - Native Win8+ toast notifications.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Media|Media]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Hardware|Hardware]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213296 Monitor] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-09-22 || [[User_Defined_Functions#Misc|Misc]] || UEZ || [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint] - Creating barcodes using the Zint.dll.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-07-27 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || DXRW4E || [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-04-16 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || seangriffin || [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-03-22 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-02-26 || [[User_Defined_Functions#Controls|Controls]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-16 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Gianni || [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask] - Easily run and manage many processes.&lt;br /&gt;
|- &lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || NoNameCode || [https://www.autoitscript.com/forum/index.php?showtopic=211475 Darkmode] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Network_Guy || [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-11 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || t0nZ || [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog] - Logs made easy.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || argumentum || [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-21 || [[User_Defined_Functions#Controls|Controls]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker] - Date Range Picker Control.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-06 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-03-27 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=211718 FuzzyString] - Fuzzy string comparison and search in string arrays.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place the Table of contents (TOC) here --&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Automation ==&lt;br /&gt;
&lt;br /&gt;
===Browsers===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154439 Chrome (by seangriffin)] - Automate the most common tasks in Chrome with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95595 Firefox (by Stilgar)] - A little less support for automation than IE, but still very good.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167661 Firefox (by Danp2)] - Modified newer version of Stilgar Firefox UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/224-firefox-profile-backup/ FireFox Profile Backup 1.0 (by careca)] - Backup or restore your firefox profile. The application searches for the profile in home drive that will be the one to backup.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _FF_AutoLogin (by Stilgar)] - This is a auto-login function and login-function-generator for FireFox and the FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92035 _FF_DM (by Stilgar)] - UDF to control the FireFox Download-Manager (not the download-window).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91650 _FF_FoxBox (by Stilgar)] - UDF to control Fox!Box (A Mozilla Firefox extension for the AVM FRITZ!Box) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91665 _FF_Screengrab (by Stilgar)] - UDF to control Screengrab! (FireFox-AddOn) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _HTML (by Stilgar)] - Get informations from any HTML (XML) source, without any browser.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166542 HTMLDocumentEvents (by SmOke_N)] - Track IE document events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167035 IEEx (by SmOke_N)] - IE extended library with some Javascript options.&lt;br /&gt;
* Internet Explorer (by DaleHohm et al.) - IE library that is now supplied with a standard AutoIt install.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153520 IUIAutomation MS framework (by junkew)] - IUIAutomation MS framework to automate chrome, FF, IE etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149203 NavInfo (by Nessie)] - With this UDF you can check if a specified browser/software is installed and which version is being used.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=61090 Opera (by MrCreatoR,)] - Automate the most common tasks in Opera with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191990 WebDriver (by Danp2)] - W3C compliant Webriver UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt (by ioa747)] - AutoIt WebView2 Component (COM Interop).&lt;br /&gt;
&lt;br /&gt;
===Microsoft Office===&lt;br /&gt;
Some features of Microsoft&#039;s Office products are proprietary and cannot readily be manipulated.  Sometimes workarounds are required.&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;[[Known issues with Microsoft Office automation.|This page]]&amp;lt;/u&amp;gt; is dedicated to identifying those issues, provide explanations and list solutions or workarounds.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32144 Microsoft Office Access (by randallc)] - Automate Microsoft Access.&lt;br /&gt;
* Microsoft Office Excel (by water et al.) - This UDF is included in AutoIt. Link to the [[Excel_UDF|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135312 Microsoft Office Excel Charts (by water, GreenCan)] - Creating charts using Microsoft Excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204034 Microsoft Office Excel Pivot Tables (by SudeepJD)] - Create and Update Excel Pivot Tables and Charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126305 Microsoft Office Outlook (Items) (by water)] - Automate Microsoft Outlook Items. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202451 Microsoft Office Outlook (GUI) (by water)] - Automate Microsoft Outlook GUI. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197346 Microsoft Office Outlook Tools (by water)] - Built on top of the OutlookEX UDF it offers some often needed extended functionality (import/export ics/vcf files etc.). Link to the [[OutlookTools|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50254 Microsoft Office PowerPoint (by Toady)] - Automate Microsoft PowerPoint.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=178783 Microsoft Office PowerPoint (by water)] - Automate Microsoft PowerPoint. Link to the [[Powerpoint|documentation]] pages.&lt;br /&gt;
* Microsoft Office Word (by water et al.) - This UDF is included in AutoIt. Link to the [[Word_UDF|documentation]] pages.&lt;br /&gt;
&lt;br /&gt;
===OpenOffice/LibreOffice===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210514 LibreOffice Suite (by donnyh13)] - A huge list of functions for LibreOffice Base, Calc and Writer. Link to the [[LibreOffice|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151530 OOo/LibO Calc (by GMK)] - OpenOfficeCalc UDF (works also for Libre Office).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185932 OpenOffice/LibreOffice Spell Checker (by GMK)] - Function to validate words, and show spell alternatives.&lt;br /&gt;
&lt;br /&gt;
===Other Applications===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106163 Active Directory (by water)] - Extensive library to control and manipulate the Windows active directory ([https://www.autoitscript.com/forum/files/file/355-ad-active-directory-udf/ Download]). Link to the [[Active_Directory_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87956 Java (by seangriffin)] - Creates an access bridge between your application and a Java application. Allowing you to automate some Java applications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86574 SAP (by seangriffin)] - SAP business management automation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149540 SAPWizard (by ozmike)] - SAPWizard UDF.&lt;br /&gt;
&lt;br /&gt;
== Script Coding/Analyzing/Debugging ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209528 ArrayCombinations (by AspirinJunkie)] - Different ways of composing elements of a set.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155442 ArrayMultiColSort (by Melba23)] - Function to sort a 2D array on several columns.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209523 ArrayPlus (by AspirinJunkie)] - Functions for flexible Array handling (create, extract, rebuild, sort, filter, find, print)&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180467 ArrayWorkshop (by czardas)] - Multidimensional array functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=59174 Associative array functions (by Nutster)] - Manage a version of associative arrays in single AutoIt variables. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=198929 AutoIt error logger (AUERLO) (by user4157124)] - File- and stdout (etc.) output of messages, errors, exit method and -code, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110379 AutoItObject (by ProgAndy and others)] - Brings the Object Orientation programming paradigm to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112879 AutoIt Syntax Highlight (by MrCreatoR)] - Highlights AutoIt v3 syntax code to html/bbcode format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191488 cDebug (by c.haslam)] - Dumps the values of all AutoIt subtypes and expressions including nested arrays, DLL structs and maps.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor (by Nine)] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195882 ErrorLog (by mLipok)] - Logs program activities and errors to different output locations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211718 FuzzyString (by AspirinJunkie)] - Fuzzy string comparison and search in string arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143167 GetOpt (by dany)] - Parse GNU and DOS style command line options similar to getopt().&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog (by t0nZ)] - Logs made easy.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156196 Log4a (by zorphnog)] - Logging library loosely based upon the log4j and NLog libaries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195862 Loga (by Danyfirex)] - Simple logging library to keep track of code with an integrated console.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119032 Log UDF (by Yashied)] - Create a text log files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202832 OnDebugMsgBox (by argumentum)] - Catch the dreaded &amp;quot;AutoIt Error&amp;quot; MsgBox and prettify or hide it.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209529 Set (by AspirinJunkie)] - Provides a set data type and brings the corresponding mathematical functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200660 Variants and Safearrays (by LarsJ)] - Create/access/process Variants and SafeArrays.&lt;br /&gt;
&lt;br /&gt;
=== Inter Process Communications ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202485 AppInteract (by MrCreatoR)] - Reliably pass arrays or other types between processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC (by Kanashius)] - Inter Process Communication using TCP/IP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=205109 AutoItSharedData (by SEuBo)] - Create a shared data storage, a simple AutoItObject-Object, using AutoItObject_Internal.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188991 Autoit-Socket-IO (by tarretarretarre)] - Event driven TCP/IP wrapper inspired by Socket.IO with focus on user friendliness and long term sustainability.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126936 Container (by MrCreatoR)] - Scripts interaction method. Allows to transfer whole arrays as data, and even COM objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=55994 DDEML (by doudou)] - Use your AutoIt script as DDE client or server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193277 FMIPC (by argumentum)] - IPC via FileMapping.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127615 Interprocess (by JScript)] - Remotely execute a function in another script (using Mailslot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193158 IPC_IO (by JohnWIlling)] - IPC library supporting multiple connection types (such as: Named Pipe, File, TCP, SharedMemory, MailSlot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202618 IPC Techniques through ROT Objects (by LarsJ)] - Implementing IRunningObjectTable Interface.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106710 Mailslot (by trancexx)] - IPC using Mailslots.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204734 Overlapped Named Pipe IPC (by Nine)] - Very fast interprocess communication that could be used between VBS or AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169797 Pool - Post Office for Organized Labour (by RTFC)] - Provides multiple AutoIt processes with an infrastructure for exchanging messages, data, and remote-control instructions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202587 WCD IPC (by Nine)] - Framework for Inter Process Communication using Windows Messages WM_COPYDATA.&lt;br /&gt;
&lt;br /&gt;
=== Parallel/concurrent processing ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork (by argumentum)] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186853 _Multiprocess (by jguinch)] - Run several external programs at the same time and retrieve the exit code of each process.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask (by Gianni)] - Easily run and manage many processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking (by Network_Guy)] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT (by Nine)] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
&lt;br /&gt;
== Files, Databases and web connections ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180850 ADO (by mLipok)] - A modifed version of the _SQL UDF to access all kind of databases (MSSQL, MySQL, PostgreSQL, SQLite, MS ACCESS, XLS, TXT, and many other which use ADO and ODBC).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105875 ADODB (by spudw2k)] - ADODB Example.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 AXML (by Aipion)] - This is a Wrapper for Pugixml, made with C++.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145142 DBF (by funkey)] - dBase database read and write with DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/topic/114406-csv-file-to-multidimensional-array/#findComment-799820 CSV (by ProgAndy)] - Read/write CSV files to/from 2D arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197909 CSV (by seangriffin)] - Manipulate CSV files using SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155748 CSVSplit (by czardas)] - Convert to and from CSV format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151116 DIF (by willichan)] - Read/write DIF (Data Interchange Format) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119238 Excel file generation (by jerome)] - Excel file generation (multi-sheet workbook) without the need to have Excel installed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143866 Excel XML (by FireFox)] - Work with SpreadsheetML (Open XML file formats).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155905 EXml (by jdelaney)] - Create Excel file (SpreadsheetML) through &amp;quot;Microsoft.XMLDOM&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116072 EzMySql (by Yoriz)] - Use MySQL Databases with AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148232 _FileGetProperty (by BrewManNH)] - Retrieve properties of a file.Xml2Json&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94920 FireBird (by eltorro)] - FireBird, Interbase DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx (by DXRW4E)] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197421 jq (by TheXman)] - Brings the power and flexibility of jq (an open-source command-line based JSON processor) to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209502 JSON (by AspirinJunkie)] - Interacting with JSON data in AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104150 JSON (by Gabriel13)] - RFC4627 compliant JSON encode/decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148114 JSON (by Ward)] - JSMN - A Non-Strict JSON UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156794 JSON (by ozmike)] - Bridge to Native Windows JSON plus OO extension for AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC (by seangriffin)] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173797 JSONgen (by Jefrey)] - Generate JSON.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127101 MS SQL (by TheLuBu)] - MSSQL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51952 MS SQL (by ChrisL)] - _SQL. ADODB Connection.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20814 MySQL (by cdkid)] - MySQL relational database management system.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85617 MySQL (by ProgAndy)] - MySQL UDFs (without ODBC - working with libmysql.dll).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=122360 MySQL (by James)] - MySQL ODBC Connector.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187223 romaSQL (rynow)] - Built on the concept of Laravel Query &amp;amp; doctrine. Connection string is based on ADODB / ODBC.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143331 Sharepoint 2007/2010 (by schoppet)] - Access the SOAP-Webservices of Sharepoint 2007/2010.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17099 SQLite (by ptrex)] - SQLite is a library that implements a self-contained, embeddable, zero-configuration SQL database engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=142977 SQLite Array Functions (by SmOke_N)] - SQLite Array Functions - a faster method for unique arrays and sorting methods.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140521 SQLite - Database (by PhoenixXL)] - UDF for SQLite so that beginners will also be able to do the stuff.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157853 SQLiteEx (by 57ar7up)] - SQLiteEx UDF v0.5.1 - Simplest work with SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163633 Xbase I/O (by RTFC)] - Transfer data between Xbase Data file (*.dbf) and AutoIt array written in pure AutoIt (no SQL, no ADO, no dlls, no external dependencies).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209526 xlsxNative (by AspirinJunkie)] - Read and write xlsx files without excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=19848 XML DOM Wrapper (by eltorro)] - Supports CRUD operations on XML. Including XSL and XPath.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 XML (by mLipok)] - New version of XML DOM Wrapper, with many new features.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208932 Xml2Json (by TheXman)] - Transform XML to JSON.&lt;br /&gt;
&lt;br /&gt;
== Data compression ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85094 7z, zip, gzip, bzip2, tar (by rasim)] - Extensive library that uses a external DLL that must be provided with the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92958 gZip (by Zinthose)] - Based on the parsing of gZip.exe output. It can work with memory, it doesn&#039;t work with files. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87441 LZMA (by trancexx)] - LZMA (Native Windows).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138838 Package (by Yashied)] - Package UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129529 pZip (by asdf8)] - PureZIP_L library UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=76176 UnRAR (by rasim)] - UnRAR.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17727 XZip (by eltorro)] - Another UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161847 XZip (by mLipok)] - UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44524 Zip plugin (by eltorro)] - Zip plugin.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73425 ZIP (by torels)] - ZIP UDF in pure AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116565 zip (by wraithdu)] - Create ZIP files and unpack ZIP files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135565 ZIP (by joakim)] - ZIP STRUCTS UDF (from scratch).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87284 ZLib (by monoceres)] - Based on ZLib.dll. It can compress/uncompress data in memory, it doesn&#039;t work with files.&lt;br /&gt;
&lt;br /&gt;
== Encryption and hash ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81332 _Base64Encode, _Base64Decode (by trancexx)] - Fast _Base64Encode, _Base64Decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153246 Base91 and Base128 (by Beege)] - Base91 and Base128 functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155538 Codecrypter (by RTFC)] - Encrypt scripts without placing the key inside the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=201002 Cryptography API: Next Gen (by TheXman)] - Microsoft&#039;s long-term replacement for their CryptoAPI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210901 Enigma (by willichan)] - Simple encryption based on the Enigma Machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203990 GDPR (by mLipok)] - Functions to encrypt/decrypt strings and files with the GDPR in mind.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95558 Hashes for files (by trancexx)] - Fast RC32, MD4, MD5, SHA1 calculation for big files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107784 TrueCrypt (by FuryCell)] - TrueCrypt UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140737 WinTrust (by kasty)] - verify the integrity of a file with its embedded signature or a given catalog.&lt;br /&gt;
&lt;br /&gt;
== GUI Additions ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast (by genius257)] - Native Win8+ toast notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97241 3D Pie chart (by WideBoyDixon)] - 3D Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173924 Chart_UDF (by Kanashius)] - This UDF can be used to Display bar charts in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96258 ContextHelp (by Yashied)] - Management of context help ([https://www.autoitscript.com/forum/index.php?showtopic=72152-contexthelp/ original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211475 DarkMode (by NoNameCode)] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109096 ExtMsgBox (by Melba23)] - A very customisable replacement for MsgBox.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx (by BugFix)] - Another kind of group, versatile changeable.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105582 GUICtrlOnChangeRegister (by Mat)] - Call a function when an edits content is changed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme (by WildByDesign)] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145149 GUIExtender (by Melba23)] - Expand and contract sections of your GUI ([https://www.autoitscript.com/forum/index.php?showtopic=117909 original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197654 GuiFlatButton (by kurtykurtyboy)] - Change colors of regular buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119505 GUIFrame (by Melba23 &amp;amp; Kip)] - Divide a GUI into adjustable frames.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=144207 GUI Panel (by FireFox)] - Manage child GUIs as panel ctrls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113723 GUI Scrollbars (by Melba23)] - Automatically sized scrollbars with a single command.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161184 MetroGUI (by BBs19)] - Windows 10 style buttons, toggles, radios etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 Modern tray menu (by Holger)] - Allows the creation of modern, fancy GUI and tray menus with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194693 MTSkin (by Taskms4)] - Simply create modern looking GUIs (borderless GUI, Interactive menu panel (with mouse-over detection), a bunch of skins).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182136 Notifications (by S3cret91)] - Display permanent desktop notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=136149 Notify (by Melba23)] - Small notifications on the edge of the display.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161750 Pie chart (by Andreik)] - Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75429 Real Vista Aero Glass (by James)] - Real Vista Aero Glass UDF - you can apply glass effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF (by Nine)] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=71811 SetOnEvent (by martin)] - Provides an easy way for an event to call functions with parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=103871 _SysTray (by wraithdu)] - Get info about and manipulate Systray icons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108445 Toast (by Melba23)] - Small message GUIs which pop out of the Systray.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110003 Tray Icon Bar Graph (by BeeGee)] - Creates a scrolling bar graph as the tray icon.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=132864 Uskin (by JScript)] - Allows you to skin your GUI using the Windows &#039;&#039;.MSstyles&#039;&#039; files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191821 Wi3SMenu (by NHD)] - Create a slide menu with Windows 10 style. Supports color, icon and opacity.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129196 WinSnap (by Beege)] - Automatic Window Alignment by applying that &amp;quot;snappy edge&amp;quot; effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32494 XSkin (by Valuater)] - Allows skinning of your GUI and to apply custom skins.&lt;br /&gt;
&lt;br /&gt;
=== Controls ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202529 BrowseForFolder (by MrCreatoR)] - Handle SHBrowseForFolderW with more options, such as multi selection (checkboxes), window position, controls text and more. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=146406 Calendar (by jmon)] - Calendar UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125293 ChooseFileFolder (byMelba23)] - Single and multiple selections from specified path treeview listing.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96464 Colorpicker (by Yashied)] - Create a button for the user to select a color.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker (by Nine)] - Date Range Picker Control.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=123409 Explorer Frame UDF (by Beege)] - Takes any frame created by GUIFrame and turns it into a MS-Windows like Explorer window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview (by Kanashius)] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173929 GDIPlus Slider UDF (by Kanashius)] - This UDF can be used to create a slider with an imagebackground and an image to move.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=79412 Graph control (by andybiochem)] - Easily create and show bar chart and line charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104399 GraphGDIPlus UDF (by andybiochem)] - Easily create and show bar chart and line charts with GDI+ to take advantage of double-buffering.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105682 GUICtrlCreateFinder (by Mat)] - Allows you to create a window finder control like the one seen in AutoIt Window Info.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107965 GUIHotkey (by Mat)] - UDF for using native hotkey controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182492 GUIListViewEx (by Melba23)] - Insert, delete, move, drag, sort, edit and colour ListView items.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111438 GUIPager (by Mat)] - Create and control native pager controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 GUI/Tray Menu (by Holger, LarsJ, AZJIO)] - GUI/Tray Menu with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166594 GUITreeViewEx (by Melba23)] - Check/clear parent and child checkboxes in a TreeView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=90598 Hotkey input control (by Yashied)] - Hotkeys Input Control UDF Library (Non-native).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173932 ListView Edit UDF (by Kanashius)] - This UDF can be used to simply edit an Listview.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109355 ListView - Explorer like ListView UDF (by Beege)] - This UDF simplify creating MS Explorer-like ListViews.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143711 Marquee (by Melba23)] - Make tickertape info bars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143380 Predict Text UDF (by PhoenixXL)] - Sub classes the edit control and matches the current word through the Database &amp;amp; sets selection in accordance.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163939 Progressbar new style (by Muzaiyan)] - New styles for your progress bar.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74649 Progressbar with GDIplus (by ProgAndy)] - You even can use full textured images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151636 RestrictEdit_SRE UDF (by PhoenixXL)] - Restrict the text that can be entered in an editbox through a String Regular Expression.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128242 Ribbon (by trancexx)] - UDF for Windows Ribbon framework.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114034 StringSize (by Melba23)] - Automatically size controls to fit the text you want to put in them.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126958 Syslink (by Yashied)] - Provides a convenient way to embed hypertext links in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105814 Table (by andybiochem)] - Table UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211024 Toggle Button (by Andreik)] - Create simple toggle buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125251 TVExplorer (by Yashied)] - Allows to create TreeView (TV) Explorer controls that display a tree of files and folders.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=190659 Virtual Listview (by LarsJ)] - Virtual Listview for large amounts of data with a large number of rows.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195053 Windows Message Monitor (by LarsJ)] - Monitor Windows Messages of a window or control.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118317 Battery UDF (by Yashied)] - Retrieves various information and current status of the battery(s).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154727 BuildPartitionTable (by RTFC)] - Scans a physical drive&#039;s partition table and returns a partition_table, allocation_table and volumes_table.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155674 CommAPI (by therealhanuta)] - Serial and parallel communication (COM port, RS-232, LPT port) - without installing DLL&#039;s (using Windows API calls).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77731 Device Management (by weaponx)] - Device Management API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97487 DirectShow (by monoceres)] - DirectShow UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164700 DirectSound (by eukalyptus)] - DirectSound UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164701 Direct2D (by eukalyptus)] - Direct2D UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99713 Drive Info (by NerdFencer)] - Gathers drive info for Hard Drives, Disk Drives, and Floppy Drives.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138989 FritzBox (by Allow2010)] - _FB_Tools - manage your FritzBox from Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121084 I/O Port Functions (by Ascend4nt)] - Input/Output UDF for interacting with ports (x64 Parallel Port, Keyboard etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203207 MediaDevice (by Danyfirex)] - Transfer files to portable devices like phones, storages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php=showtopic=213296 Monitor (by Trong)] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154350 Monitor Configuration (by jaberwacky)] - Monitor Configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155469 Mouse (by AlmarM)] - AutoIt powered mouse events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=147325 MouseTrapEvent (by ozmike)] - MouseTrapEvent UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149083 NetInfo (by Nessie)] - UDF for test internet download speed and upload speed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155539 Network configuration (by jguinch)] - Network configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182684 Nitgen (by Jefrey)] - UDF to work with Nitgen fingerprint readers that use NGenBio SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210968 Printer Manager (by Nine)] - Manage printers with winspool.drv DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155485 Printers management with WMI (by jguinch)] - Allows to manage printers: add/delete printer, driver, port, or obtain configuration, set default printer ...&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=189190 Serial port UDF / COM port UDF (by MazeM)] - Another UDF for the serial port. It is very similar to CommAPI using kernel32.dll, but all code is packed into a single file without any dependencies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128546 Serial Port/COM (by martin)] - Serial Port /COM Port UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27755 SMARTDRIVE (by ptrex)] - SMART drive Analysis.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158640 SPI Hardware Interface (by Blinky)] - Communicate with the MAX335 chip using the SPI protocol via the LPT (printer) port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=8188 VISA/GPIB (by Angel)] - VISA/GPIB library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68866 Webcam (by LIMITER)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70857 Webcam (by ludocus)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91018 WiFi (by MattyD)] - Low level control over your wireless LAN.&lt;br /&gt;
&lt;br /&gt;
== Information gathering ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29404 Computer information (by JSThePatriot)] - A general purpose library to get various details about a Windows machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151920 NetworkStatistics (by Ascend4nt)] - Network Interface Info, Statistics, and Traffic.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=54039 WinPcap (by JRSmile)] - Wrapper for the windows packet capture library WinPcap.&lt;br /&gt;
* [https://opensource.grisambre.net/pcapau3/ WinPcap (by Nicolas Ricquemaque)] - A library to access the main functionalities offered by the WinPcap driver.&lt;br /&gt;
&lt;br /&gt;
== Internet protocol suite ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207859 cURLX64 (by Beege)] - cURL UDF with x64 support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=137456 cURL (by seangriffin)] - A UDF for transferring data with URL syntax.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187718 HTTP lib (by Jefrey)] - HTTP lib (GET, POST and upload) UDF to simplify HTTP requests, mainly when dealing about POST data or file uploads.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202895 HttpApi (by TheXman)] - HTTP Server API enables applications to communicate over HTTP without using MS Internet Information Server (IIS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=40243 IMAP (by mikeytown2)] - IMAP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108422 IMAP4 (by Tipulatoid)] - IMAP4 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=43515 IRC (by McGod)] - A lightweight library for communicating with IRC servers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159285 IRC (by rcmaehl)] - IRC UDF - Updated Version of Chips&#039; IRC UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=22838 POP3 (by Apzo)] - POP3 library for retrieving email messages. Not compatible with Gmail because it uses SSL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167339 POP3 (by mLipok)] - POP3 UDF According to the 1939 RFC, modified version with Quoted Printable decoder.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154530 Prowl (by mrflibblehat)] - Push notifications to iPhone, iPod touch or iPad using Prowl (Growl client for iOS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138095 SFTP (by Lupo73)] - UDF to support SFTP protocol using PSFTP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154054 Socket UDF (by funkey)] - Socket UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=23860 SMTP (by Jos)] - Smtp Mailer That Supports Html And Attachments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167292 SMTP Mailer UDF (by mLipok)] - Smtp Mailer That Supports Html And Attachments - Modified Version with support to save EML files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81687 SNMP (by enaiman)] - SNMP_UDF for SNMPv1 and SNMPv2c.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70759 SNMP - MIB protocol (by ptrex)] - Reading toner status from SNMP device with WMI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166579 SSH (by jeanphile)] - Use the SSH protocol very easily in your code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185329 STUN (by j0kky)] - STUN is a protocol that permits you to know your external IP but, more interesting, your external port associated to your internal port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184817 SyslogSend (by Irios)] - This allows sending (BSD) messages to a syslog server using UDP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169774 TCPServer (by Jefrey)] - Multi client, event-based, able to bind console app to socket.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=57022 UPnP Protocol (by ptrex)] - UPnP - Read and Control your devices in side out.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=84133 WinHTTP (by trancexx)] - Access the HTTP protocol for creating GET and POST requests and submitting them with conforming standards, cookies not supported.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77503 WinInet (by -Ultima-)] - Access standard Internet protocols (FTP, Gopher and HTTP). Supports GET/POST requests and cookies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181645 Winsock (by j0kky)] - Create client/server application using native winsock functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF (by Trong)] - TCP/UDP Networking Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191954 WSA_NBTCP (by ripdad)] - Windows Sockets API - Non-Blocking Transmission Control Protocol.&lt;br /&gt;
&lt;br /&gt;
== Maths ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170658 Advanced Math UDF (by scintilla4evr)] - Advanced mathematical functions (primes, number sequences, interpolate, calculate values of functions like Riemann zeta etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=102686 Advanced rounding (by Mat)] - Support for different measures of accuracy and 8 ways to resolve tie breaks.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83529 Big number (by eukalyptus)] - Make calculations with extremely large numbers that AutoIt normally is not able to support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106551 Decimal To fraction (by Malkey)] - Converts any decimal number to a fraction. Example: 1.2 to 6/5.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162921 Eigen4AutoIt (by RFTC)] - Allows to perform fast matrix operations on large numerical data sets, and much more ....&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra (by AspirinJunkie)] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140789 MathsEx UDF (by PhoenixXL)] - Functions for Carrying Out More Advanced Mathematical Calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81189 Number base conversion (by james3mg)] - From, to and between positive bases less than 63 (decimals supported).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117156 NumToWord (by Mat)] - Convert numerals to a human readable string.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108803 Polynomials (by Mat)] - Functions for using polynomials.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83091 Primes (by jennico)] - Many functions dealing with prime number generation and calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94770 Roman Numerals (by AZJIO)] - Roman Numerals.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98160 Root function (by Mat)] - Working out real roots of numbers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209527 Stat (by AspirinJunkie)] - Statistics for Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163899 StringAPL (by minx)] - inline APL interpreter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=82722 Trigonometric and math functions (by trancexx)] - _ATan2(), _Cosh(), _Frexp(), _Hypot(), _Ldexp(), _Logb(), _Sinh(), _Tanh().&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95357 FreeImage library (by ProgAndy)] - Various operations on images, such as rotate, resize, flip.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll (by Trong)] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127263 HtmlHelp (by Geodetic)] - HtmlHelp functions for context-sensitive help from CHM (compiled HTML) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116009 HyperCam (by seangriffin)] - HyperCam (Screen Recording) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182535 HyCam2 (by willichan)] - Automation for HyCam2 screen recording utility.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50608 OCR (by ptrex)] - Real OCR in AU3 - MODI with MS Office 2003.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=89542 OCR (by seangriffin)] - Tesseract (Screen OCR) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206133 OCRSpace (by MrKm)] - Convert Images to text with the OCRSpace API. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51054 Printer controller (by martin)] - Print text in any font, size and colour at any position on the page, draw lines, curves, elipses, pies in any colour, and print images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73993 Printing (by GRS)] - Printing from AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202621 QRCreator (by BugFix)] - Simple QR-code creation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161831 RTF_Printer (by mLipok)] - Printing RichEdit in the background.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94834 Simple DirectMedia Layer (by AdmiralClaws)] - Adds support for joysticks, CDs, 2D graphics, timers. See [https://www.libsdl.org/ SDL website] for more information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207324 UWPOCR (by Danyfirex)] - Universal Windows Platform Optical Character Recognition API.&lt;br /&gt;
&lt;br /&gt;
===Graphics and image===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202987 AutoYolo3 (by smartee)] - Real-Time Object Detection using YOLOv3 wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113881 au3Irrlicht2 (by JRowe)] - Combining Irrlicht and AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86748 AVI writing udf (by monoceres)] - Create uncompressed avi&#039;s from bitmap files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27362 Bitmap Library (by evilertoaster)] - Bitmap Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202663 GIF animation (by Nine)] - Fast cached GIF animation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150231 GTK+  (by prazetto)] - GTK+ Framework | Widgets.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=13096 ImageGetInfo (by Lazycat)] - Read info from JPEG, TIFF, BMP, PNG and GIF - size, color depth, resolution.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/471-image-search-udf Image Search (by VIP)] - Search for an image on the desktop. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70506 IrrLicht (by A. Percy)] - A 3D graphics engine suitable for creating games.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160732 OpenCV (by myliseJ)] - UDF for the OpenCV library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206432 OpenCV v4+ (by smbape)] - OpenCV UDF with support for OpenCV v4+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151011 OpenGL (by LarsJ)] - OpenGL without external libraries etc. For JPEG files it also retrieves various Exif information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148129 OpenGL (2.0) (by minx)] - New set of UDFs for OpenGL + AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152950 S3D (by Starg)] - Draw simple 3D graphics with GDI+.&lt;br /&gt;
&lt;br /&gt;
===Players===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114143 VLC (by seangriffin)] - VLC (Media Player) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91316 VLC Media Player (by ptrex)] - VLC Media Player.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27352 WMP (by ConsultingJoe)] - Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44008 WMP - Media Controls (by CFire)] - Another Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203154 WMP - GUI Control (by SudeepJD)] - IE based WMP Control.&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83481 BASS Function Library (by BrettF)] - Sound and Music via wrappers for Bass, BassEnc, Bass FX, BassSFX, BassAsio and BassCd DLLs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173808 libZPlay (by Danyfirex)] - Multimedia library for playing mp3, mp2, mp1, ogg, flac, ac3, aac, oga, wav and pcm files and streams.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=37072 MIDI (by eynstyne)] - MIDI UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208116 MIDI (by MattyD)] - Wrap of the Windows MIDI functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114742 SAPIListBox (by seangriffin)] - SAPIListBox (Speech Recognition) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=100439 TTS (by Beege)] - Text-to-Speech UDF.&lt;br /&gt;
&lt;br /&gt;
== PDF ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162195 Acrobat Reader - ActiveX Viewer (by mLipok)] - Make your own PDF Viewer GUI with Acrobat Reader ActiveX COM Object &amp;quot;AcroPDF.PDF.1&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164469 Debenu PDF Viewer SDK (by mLipok)] - A collection of functions to display PDF files in your applications using Debenu PDF Viewer SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160875 Debenu Quick PDF Library (by mLipok)] - A collection of functions for Debenu Quick PDF Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75832 FoxIt Reader (by ptrex)] - PDF Reader in AU3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118827 MPDF (by taietel)] - Create PDF from your application.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=42776 PDFCreator (by ptrex)] - Automation of PDFCreator allows you to create and manipulate PDF files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170550 PDFCreator (by mLipok)] - UDF for PDFCreator v1.x.x with working EVENTs Handler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32261 _StringToPDF (by Tam0r)] - Write a string to a PDF file and specify font size, type etc.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145158 Firewall (by JLogan3o13)] - Control and manipulate the Windows Firewall (enable/disable, Exclusions list, enable/disable ports etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194015 Firewall policy2 (by Bilgus)]- Provides access to the firewall policy for Windows Vista+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150819 VirusTotal (by Danyfirex)] - VirusTotal API 2.0 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred (by DonChunior)] - Interface to the Windows Credential Management API.&lt;br /&gt;
&lt;br /&gt;
== Social Media and other Website API ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159254 Cex.io (by AquilesCrespo)] - UDF script for using with the web api from https://cex.io/ server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169333 CrowdinAPI (by mLipok)] - Uses the [https://crowdin.com/page/api crowdin.net website API] for some functions (create projects, add and update files, download translations or integrate localization).&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/290-dropbox-authenticator/ Dropbox authenticator (by Gimerly)] - Dropbox authenticator.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158106 Easypost (by dcat127)] - Print USPS Postage Labels.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114801 eBay (by seangriffin)] - eBay UDF (functions GetItemStatus and GetSingleItem from the &amp;quot;Shopping API&amp;quot;).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=141340 Gmail (by PhoenixXL)] - Remote Gmail (UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192422 Gmail API (by Ascer)] - Automate communication with Gmail using oAuth 2.0 security. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98504 Google Functions (by Beege)] - Google Functions (Suggestions, Definitions, Translate, Convert).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=115437 Google Maps (by seangriffin)] - Google Maps UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70675 iTunes (by torels)] - iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101802 iTunes (by Beege)] - Another iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150985 No-IP (by Nessie)] - Simply update your no-ip hostname(s) and retrieve the ip address of an no-ip address.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192391 oAuth (by Ascer)] - Open standard for access delegation, commonly used to grant websites or applications access to other websites.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150838 PasteBin (by mrflibblehat)] - Pastebin UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121767 Skype (by FireFox)] - Skype4COM provides an ActiveX interface to the Skype API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113234 Teamspeak 3 (by chipDE)] - Teamspeak 3 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186944 TeamViewer API (by mLipok)] - A collection of function for use with TeamViewer API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186381 Telegram Bot (by LinkOut)] - UDF for [https://core.telegram.org/api Telegram messenger API].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166547 TVmaze.com API (by BBs19)] - TVmaze.com API UDF (TV-Series).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116600 Twitter (by seangriffin)] - Manage Twitter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149247 Yahoo Weather (by Nessie)] - Yahoo Weather API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112775 Youtube Uploader (by BrettF)] - AYTU - AutoIt Youtube Uploader.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50880 ACL (by ptrex)] - Set ACL on windows Objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134508 ACL (by FredAI)] - Do most everything with the DACL and ownership on all types of objects: Files or folders, Registry keys, services, Kernel and WMI objects, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206400 BITS (by DonChunior)] - Background Intelligent Transfer Service to download files from or upload files to HTTP web servers and SMB file shares.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184937 CertUtil (by mLipok)] - Wrapper for windows certutil.exe (command-line program that is installed in Windows as part of Certificate Services).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113560 FileSystemMonitor (by seangriffin)] - Monitors the file system by recording all file system events occurring within a given path.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111018 ITaskBarList (by Beege)] - ITaskBarList UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74118 Local account (by engine)] - Manage local accounts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161193 Magnifier Functions (by Ascend4nt)] - Exposes most of the useful Magnifier API functions available since Windows Vista.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75250 Registry (by engine)] - Windows Registry UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50551 Registry (by seanhart)] - RegWriteAllUsers / RegDeleteAllUsers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=80201 Service (by arcker)] - Build your own service with AutoIt code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124508 Startup (by guinness)] - Create Startup entries in the Startup Folder or Registry.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164756 SCCM (by JLogan3o13)] - Systems Center Configuration Manager Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134628 System restore (by FredAI)] - System restore UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186111 SubstWrapper (by mLipok)] - Wrapper for windows subst.exe command - (Associates a path with a drive letter).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135994 Taskplanner/Taskscheduler COM (by Allow2010)] - an UDF for using the Windows Taskplaner / Task Scheduler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83355 Task Scheduler (by dbzfanatic)] - Task Scheduler UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200068 TaskScheduler (by water)] - Brushed up Task Scheduler UDF. Link to the [[TaskScheduler|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173934 TTS (by Kanashius)] - Used with SAPI Automation Object - text-to-speech (TTS) engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158377 UAC (by AdamUL)] - User Account Control (UAC) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=175719 Utter (by Surya)] - Utilizing more of SAPI (Speech Recognition UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127075 WIMGAPI (by Homes32)] - Manipulate Windows Image Files (.wim) without ImageX.exe.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=28436 Windows Events (by Emperor)] - Create your own Windows events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=6487 Windows Service Control functions (by SumTingWong)] - Some limited functions to control services (create, start, stop, delete, check ...).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81880 Windows Services (by engine)] - Windows Services UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163178 WRMF (by Luigi)] - WRMF - Windows Registry Monitor Call Function.&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/topic/178871-dllcall-with-c-example/#comment-1285754 SMSApi (by mLipok)] - UDF for SMSAPi which provides SMS services. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/index.php?showtopic=178589 BulkSMS (by Skysnake)] - UDF for BulkSMS which provides SMS services. --&amp;gt;&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145099 _AdlibEnhance (by JScript)] - Enhance Adlib to call functions with parameters, pause and resume.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160936 Android (by Moriba)] - Control any Android device.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97826 Animated tray icons (by Yashied)] - Make animated tray icons easily.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163577 Atom Table (by Ascend4nt)] - Store (add, find, delete, and query) strings locally (at program level) or globally (at OS level) with unique numerical identifiers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170087 Barcode generators (by willichan)] - Creates a Code128A/B/C or Creates a Code39 or Code39Extended optimized barcode from supplied data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211660 BlockInput (by Nine)] - Block all input coming from mouse and/or keyboard, without having an UAC warning displayed. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87735 BlockInputEx (by MrCreatoR)] - Supports a few features that built-in BlockInput() function does not.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29763 Clipboard (by eltorro)] - When apps need to watch the clipboard.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170630 ClipboardEx (by ozmike)] - Allows to have more than 1 item in the Clipboard. Handles all data types, not just text.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81267 Clipboard History (by wraithdu)] - Save and restore the entire clipboard contents. Inspired by AHK&#039;s ClipboardAll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169610 CmdLine (by Jefrey)] - Collection of functions to parse command line arguments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126569 Console (by Shaggi)] - Functions and features to work wiht Console input/output.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121833 Copy (by Yashied)] - Copy or move files and directories without suspending your script. Retrieve the current state (copied bytes, error code etc.) while copying.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154684 Date / Time convert (by Melba23)] - Transform date/time formats.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99106 _DLLStructDisplay (by Ascend4nt)] - Show Struct in ListView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157689 _FileGetMimeType (by Wiliat87)] - Retrieve MIME types based on the extension of the filename/filepath/URL provided.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117033 File locking with cooperative semaphores (by willichan)] - Simple file locking without a server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157241 FindMimeFromData (by twbradio)] - FindMimeFromData using urlmon.dll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181997 Font Icon (by J2TeaM)] - Use Font Awesome in your AutoIt project.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68422 HotString (by jvanegmond)] - Similar to the HotKey function but trigger on a string, instead of a key or key combination.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173946 LASM - Light Assembler (by minxomat)] - Inline UDF for an Assembler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161628 LFN (by orbs)] - Overcome MAX_PATH limit of 256 chars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111492 Link Grammar for AutoIt (by JRowe)] -  Input is a regular sentence in English, German or Italian, output is a pattern parsed from the structure of the sentence.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/147-mruau3 MRU (by Yashied)] - Most Recently Used (MRU) List Automation functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188158 .NET Common Language Runtime (CLR) Framework (by Danyfirex, Junkew, Larsj, ptrex, Trancexx)] - Allows AutoIt to access .NET Class Libraries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101733 NoFocusLines (by Melba23)] - Remove the dotted focus lines from buttons, sliders, radios and checkboxes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149176 NotifyIcon (by FireFox)] - Create, delete and manage self notify icons (formerly TrayIconEx). &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=63318 PixelGetColor (by Manadar)] - Get or Read Pixel from memory.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167024 RDC (by Yashied)] - ReadDirectoryChanges Wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51103 Resources (by Zedna)] - Embed any binary data into your AutoIt compiled EXE files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162499 ResourcesEx (by guinness)] - Up to date version of Zedna&#039;s Resources UDF. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111215 Restart (by Yashied)] - Allows to restart a script from any location with full restoration of the original command line parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51547 SciLexer (by Kip)] - Editing control, supports multiple editors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152093 ScriptEditor (by pandel)] - ScriptEditor with I18N support and customizable lexer completely written in AutoIt (based on SciLexer).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162033 Spell Checker (by iCode)] - Spell Checker functions to call Hunspell, Hyphenate and MyThes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164444 Synology filestation (by nend)] - Functions to interact with a Synology NAS server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163328 TimeConvert (by orbs)] - Convert UTC to/from local time, and/or reformat the string representation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint (by UEZ)] - Creating barcodes using the Zint.dll.&lt;br /&gt;
[[Category:UDF]]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15283</id>
		<title>User Defined Functions</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15283"/>
		<updated>2026-04-01T14:52:41Z</updated>

		<summary type="html">&lt;p&gt;Water: Added GuiDarkTheme&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
This page is a listing of libraries of &#039;&#039;&#039;user defined functions&#039;&#039;&#039; (UDF). These libraries have been written to allow easy integration into your own scripts and are a very valuable resource for any programmer.&amp;lt;br /&amp;gt;&lt;br /&gt;
This list is probably not complete (407 UDFs on 2026-04-01), but constantly supplemented.&lt;br /&gt;
If you do not find a solution here, ask a new question on the [https://www.autoitscript.com/forum/forum/2-general-help-and-support/ forum].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
The listed UDFs might have been written for older versions of AutoIt. So there is no guarantee that every UDF works smoothly with newer versions.&amp;lt;br /&amp;gt;&lt;br /&gt;
None of the UDFs has been tested by the maintainers of this list so you as a user need to make sure that they deliver the expected results.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;When will an UDF be added to this list?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
It should meet all/most of the general requirements for UDFs as described [[UDF-spec|here]].&amp;lt;br&amp;gt;&lt;br /&gt;
In addition the following requirements should be met:&lt;br /&gt;
* &#039;&#039;&#039;Documentation&#039;&#039;&#039;: So users can tell what the UDF is intended to do (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Examples&#039;&#039;&#039;: So users can get an idea how to use the UDF. The more the better (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Operating systems&#039;&#039;&#039;: Should support the latest Microsoft OS (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;AutoIt&#039;&#039;&#039;: Should support the latest version of AutoIt (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Author&#039;&#039;&#039;: The author should still be active on the forum so he can reply to questions (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What to do when one of your UDFs is missing?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please send a [https://www.autoitscript.com/forum/messenger/compose/?to=7903 PM] to user water. Add a short description of the UDF and a link to your post in the [https://www.autoitscript.com/forum/forum/9-autoit-example-scripts/ Example Scripts] or [https://www.autoitscript.com/forum/forum/49-autoit-projects-and-collaboration/ Projects and Collaboration] forum.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Added in the past two years&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date !! Section !! Creator !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 2026-04-01 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || WildByDesign || [https://www.autoitscript.com/forum/index.php?showtopic=213613 GUIDarkTheme] - Automated (or custom) dark theme for AutoIt GUI and controls.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-10 || [[User_Defined_Functions#Inter_Process_Communications|Inter Process Communications]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC] - Inter Process Communication using TCP/IP.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-09 || [[User_Defined_Functions#Browsers|Browsers]] || ioa747 || [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt] - Integrate WebView2 into AutoIt via COM. &lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-19 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF] - TCP/UDP Networking Library.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || BugFix || [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx] - Another kind of group, versatile changeable.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-16 || [[User_Defined_Functions#Security|Security]] || DonChunior || [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred] - Interface to the Windows Credential Management API.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || genius257 || [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast] - Native Win8+ toast notifications.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Media|Media]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Hardware|Hardware]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213296 Monitor] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-09-22 || [[User_Defined_Functions#Misc|Misc]] || UEZ || [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint] - Creating barcodes using the Zint.dll.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-07-27 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || DXRW4E || [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-04-16 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || seangriffin || [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-03-22 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-02-26 || [[User_Defined_Functions#Controls|Controls]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-16 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Gianni || [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask] - Easily run and manage many processes.&lt;br /&gt;
|- &lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || NoNameCode || [https://www.autoitscript.com/forum/index.php?showtopic=211475 Darkmode] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Network_Guy || [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-11 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || t0nZ || [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog] - Logs made easy.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || argumentum || [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-21 || [[User_Defined_Functions#Controls|Controls]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker] - Date Range Picker Control.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-06 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-03-27 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=211718 FuzzyString] - Fuzzy string comparison and search in string arrays.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place the Table of contents (TOC) here --&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Automation ==&lt;br /&gt;
&lt;br /&gt;
===Browsers===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154439 Chrome (by seangriffin)] - Automate the most common tasks in Chrome with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95595 Firefox (by Stilgar)] - A little less support for automation than IE, but still very good.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167661 Firefox (by Danp2)] - Modified newer version of Stilgar Firefox UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/224-firefox-profile-backup/ FireFox Profile Backup 1.0 (by careca)] - Backup or restore your firefox profile. The application searches for the profile in home drive that will be the one to backup.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _FF_AutoLogin (by Stilgar)] - This is a auto-login function and login-function-generator for FireFox and the FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92035 _FF_DM (by Stilgar)] - UDF to control the FireFox Download-Manager (not the download-window).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91650 _FF_FoxBox (by Stilgar)] - UDF to control Fox!Box (A Mozilla Firefox extension for the AVM FRITZ!Box) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91665 _FF_Screengrab (by Stilgar)] - UDF to control Screengrab! (FireFox-AddOn) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _HTML (by Stilgar)] - Get informations from any HTML (XML) source, without any browser.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166542 HTMLDocumentEvents (by SmOke_N)] - Track IE document events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167035 IEEx (by SmOke_N)] - IE extended library with some Javascript options.&lt;br /&gt;
* Internet Explorer (by DaleHohm et al.) - IE library that is now supplied with a standard AutoIt install.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153520 IUIAutomation MS framework (by junkew)] - IUIAutomation MS framework to automate chrome, FF, IE etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149203 NavInfo (by Nessie)] - With this UDF you can check if a specified browser/software is installed and which version is being used.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=61090 Opera (by MrCreatoR,)] - Automate the most common tasks in Opera with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191990 WebDriver (by Danp2)] - W3C compliant Webriver UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt (by ioa747)] - AutoIt WebView2 Component (COM Interop).&lt;br /&gt;
&lt;br /&gt;
===Microsoft Office===&lt;br /&gt;
Some features of Microsoft&#039;s Office products are proprietary and cannot readily be manipulated.  Sometimes workarounds are required.&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;[[Known issues with Microsoft Office automation.|This page]]&amp;lt;/u&amp;gt; is dedicated to identifying those issues, provide explanations and list solutions or workarounds.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32144 Microsoft Office Access (by randallc)] - Automate Microsoft Access.&lt;br /&gt;
* Microsoft Office Excel (by water et al.) - This UDF is included in AutoIt. Link to the [[Excel_UDF|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135312 Microsoft Office Excel Charts (by water, GreenCan)] - Creating charts using Microsoft Excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204034 Microsoft Office Excel Pivot Tables (by SudeepJD)] - Create and Update Excel Pivot Tables and Charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126305 Microsoft Office Outlook (Items) (by water)] - Automate Microsoft Outlook Items. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202451 Microsoft Office Outlook (GUI) (by water)] - Automate Microsoft Outlook GUI. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197346 Microsoft Office Outlook Tools (by water)] - Built on top of the OutlookEX UDF it offers some often needed extended functionality (import/export ics/vcf files etc.). Link to the [[OutlookTools|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50254 Microsoft Office PowerPoint (by Toady)] - Automate Microsoft PowerPoint.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=178783 Microsoft Office PowerPoint (by water)] - Automate Microsoft PowerPoint. Link to the [[Powerpoint|documentation]] pages.&lt;br /&gt;
* Microsoft Office Word (by water et al.) - This UDF is included in AutoIt. Link to the [[Word_UDF|documentation]] pages.&lt;br /&gt;
&lt;br /&gt;
===OpenOffice/LibreOffice===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210514 LibreOffice Suite (by donnyh13)] - A huge list of functions for LibreOffice Base, Calc and Writer. Link to the [[LibreOffice|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151530 OOo/LibO Calc (by GMK)] - OpenOfficeCalc UDF (works also for Libre Office).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185932 OpenOffice/LibreOffice Spell Checker (by GMK)] - Function to validate words, and show spell alternatives.&lt;br /&gt;
&lt;br /&gt;
===Other Applications===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106163 Active Directory (by water)] - Extensive library to control and manipulate the Windows active directory ([https://www.autoitscript.com/forum/files/file/355-ad-active-directory-udf/ Download]). Link to the [[Active_Directory_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87956 Java (by seangriffin)] - Creates an access bridge between your application and a Java application. Allowing you to automate some Java applications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86574 SAP (by seangriffin)] - SAP business management automation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149540 SAPWizard (by ozmike)] - SAPWizard UDF.&lt;br /&gt;
&lt;br /&gt;
== Script Coding/Analyzing/Debugging ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209528 ArrayCombinations (by AspirinJunkie)] - Different ways of composing elements of a set.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155442 ArrayMultiColSort (by Melba23)] - Function to sort a 2D array on several columns.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209523 ArrayPlus (by AspirinJunkie)] - Functions for flexible Array handling (create, extract, rebuild, sort, filter, find, print)&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180467 ArrayWorkshop (by czardas)] - Multidimensional array functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=59174 Associative array functions (by Nutster)] - Manage a version of associative arrays in single AutoIt variables. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=198929 AutoIt error logger (AUERLO) (by user4157124)] - File- and stdout (etc.) output of messages, errors, exit method and -code, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110379 AutoItObject (by ProgAndy and others)] - Brings the Object Orientation programming paradigm to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112879 AutoIt Syntax Highlight (by MrCreatoR)] - Highlights AutoIt v3 syntax code to html/bbcode format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191488 cDebug (by c.haslam)] - Dumps the values of all AutoIt subtypes and expressions including nested arrays, DLL structs and maps.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor (by Nine)] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195882 ErrorLog (by mLipok)] - Logs program activities and errors to different output locations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211718 FuzzyString (by AspirinJunkie)] - Fuzzy string comparison and search in string arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143167 GetOpt (by dany)] - Parse GNU and DOS style command line options similar to getopt().&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog (by t0nZ)] - Logs made easy.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156196 Log4a (by zorphnog)] - Logging library loosely based upon the log4j and NLog libaries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195862 Loga (by Danyfirex)] - Simple logging library to keep track of code with an integrated console.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119032 Log UDF (by Yashied)] - Create a text log files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202832 OnDebugMsgBox (by argumentum)] - Catch the dreaded &amp;quot;AutoIt Error&amp;quot; MsgBox and prettify or hide it.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209529 Set (by AspirinJunkie)] - Provides a set data type and brings the corresponding mathematical functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200660 Variants and Safearrays (by LarsJ)] - Create/access/process Variants and SafeArrays.&lt;br /&gt;
&lt;br /&gt;
=== Inter Process Communications ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202485 AppInteract (by MrCreatoR)] - Reliably pass arrays or other types between processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC (by Kanashius)] - Inter Process Communication using TCP/IP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=205109 AutoItSharedData (by SEuBo)] - Create a shared data storage, a simple AutoItObject-Object, using AutoItObject_Internal.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188991 Autoit-Socket-IO (by tarretarretarre)] - Event driven TCP/IP wrapper inspired by Socket.IO with focus on user friendliness and long term sustainability.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126936 Container (by MrCreatoR)] - Scripts interaction method. Allows to transfer whole arrays as data, and even COM objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=55994 DDEML (by doudou)] - Use your AutoIt script as DDE client or server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193277 FMIPC (by argumentum)] - IPC via FileMapping.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127615 Interprocess (by JScript)] - Remotely execute a function in another script (using Mailslot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193158 IPC_IO (by JohnWIlling)] - IPC library supporting multiple connection types (such as: Named Pipe, File, TCP, SharedMemory, MailSlot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202618 IPC Techniques through ROT Objects (by LarsJ)] - Implementing IRunningObjectTable Interface.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106710 Mailslot (by trancexx)] - IPC using Mailslots.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204734 Overlapped Named Pipe IPC (by Nine)] - Very fast interprocess communication that could be used between VBS or AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169797 Pool - Post Office for Organized Labour (by RTFC)] - Provides multiple AutoIt processes with an infrastructure for exchanging messages, data, and remote-control instructions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202587 WCD IPC (by Nine)] - Framework for Inter Process Communication using Windows Messages WM_COPYDATA.&lt;br /&gt;
&lt;br /&gt;
=== Parallel/concurrent processing ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork (by argumentum)] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186853 _Multiprocess (by jguinch)] - Run several external programs at the same time and retrieve the exit code of each process.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask (by Gianni)] - Easily run and manage many processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking (by Network_Guy)] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT (by Nine)] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
&lt;br /&gt;
== Files, Databases and web connections ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180850 ADO (by mLipok)] - A modifed version of the _SQL UDF to access all kind of databases (MSSQL, MySQL, PostgreSQL, SQLite, MS ACCESS, XLS, TXT, and many other which use ADO and ODBC).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105875 ADODB (by spudw2k)] - ADODB Example.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 AXML (by Aipion)] - This is a Wrapper for Pugixml, made with C++.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145142 DBF (by funkey)] - dBase database read and write with DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/topic/114406-csv-file-to-multidimensional-array/#findComment-799820 CSV (by ProgAndy)] - Read/write CSV files to/from 2D arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197909 CSV (by seangriffin)] - Manipulate CSV files using SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155748 CSVSplit (by czardas)] - Convert to and from CSV format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151116 DIF (by willichan)] - Read/write DIF (Data Interchange Format) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119238 Excel file generation (by jerome)] - Excel file generation (multi-sheet workbook) without the need to have Excel installed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143866 Excel XML (by FireFox)] - Work with SpreadsheetML (Open XML file formats).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155905 EXml (by jdelaney)] - Create Excel file (SpreadsheetML) through &amp;quot;Microsoft.XMLDOM&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116072 EzMySql (by Yoriz)] - Use MySQL Databases with AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148232 _FileGetProperty (by BrewManNH)] - Retrieve properties of a file.Xml2Json&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94920 FireBird (by eltorro)] - FireBird, Interbase DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx (by DXRW4E)] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197421 jq (by TheXman)] - Brings the power and flexibility of jq (an open-source command-line based JSON processor) to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209502 JSON (by AspirinJunkie)] - Interacting with JSON data in AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104150 JSON (by Gabriel13)] - RFC4627 compliant JSON encode/decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148114 JSON (by Ward)] - JSMN - A Non-Strict JSON UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156794 JSON (by ozmike)] - Bridge to Native Windows JSON plus OO extension for AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC (by seangriffin)] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173797 JSONgen (by Jefrey)] - Generate JSON.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127101 MS SQL (by TheLuBu)] - MSSQL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51952 MS SQL (by ChrisL)] - _SQL. ADODB Connection.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20814 MySQL (by cdkid)] - MySQL relational database management system.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85617 MySQL (by ProgAndy)] - MySQL UDFs (without ODBC - working with libmysql.dll).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=122360 MySQL (by James)] - MySQL ODBC Connector.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187223 romaSQL (rynow)] - Built on the concept of Laravel Query &amp;amp; doctrine. Connection string is based on ADODB / ODBC.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143331 Sharepoint 2007/2010 (by schoppet)] - Access the SOAP-Webservices of Sharepoint 2007/2010.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17099 SQLite (by ptrex)] - SQLite is a library that implements a self-contained, embeddable, zero-configuration SQL database engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=142977 SQLite Array Functions (by SmOke_N)] - SQLite Array Functions - a faster method for unique arrays and sorting methods.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140521 SQLite - Database (by PhoenixXL)] - UDF for SQLite so that beginners will also be able to do the stuff.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157853 SQLiteEx (by 57ar7up)] - SQLiteEx UDF v0.5.1 - Simplest work with SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163633 Xbase I/O (by RTFC)] - Transfer data between Xbase Data file (*.dbf) and AutoIt array written in pure AutoIt (no SQL, no ADO, no dlls, no external dependencies).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209526 xlsxNative (by AspirinJunkie)] - Read and write xlsx files without excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=19848 XML DOM Wrapper (by eltorro)] - Supports CRUD operations on XML. Including XSL and XPath.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 XML (by mLipok)] - New version of XML DOM Wrapper, with many new features.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208932 Xml2Json (by TheXman)] - Transform XML to JSON.&lt;br /&gt;
&lt;br /&gt;
== Data compression ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85094 7z, zip, gzip, bzip2, tar (by rasim)] - Extensive library that uses a external DLL that must be provided with the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92958 gZip (by Zinthose)] - Based on the parsing of gZip.exe output. It can work with memory, it doesn&#039;t work with files. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87441 LZMA (by trancexx)] - LZMA (Native Windows).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138838 Package (by Yashied)] - Package UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129529 pZip (by asdf8)] - PureZIP_L library UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=76176 UnRAR (by rasim)] - UnRAR.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17727 XZip (by eltorro)] - Another UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161847 XZip (by mLipok)] - UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44524 Zip plugin (by eltorro)] - Zip plugin.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73425 ZIP (by torels)] - ZIP UDF in pure AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116565 zip (by wraithdu)] - Create ZIP files and unpack ZIP files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135565 ZIP (by joakim)] - ZIP STRUCTS UDF (from scratch).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87284 ZLib (by monoceres)] - Based on ZLib.dll. It can compress/uncompress data in memory, it doesn&#039;t work with files.&lt;br /&gt;
&lt;br /&gt;
== Encryption and hash ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81332 _Base64Encode, _Base64Decode (by trancexx)] - Fast _Base64Encode, _Base64Decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153246 Base91 and Base128 (by Beege)] - Base91 and Base128 functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155538 Codecrypter (by RTFC)] - Encrypt scripts without placing the key inside the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=201002 Cryptography API: Next Gen (by TheXman)] - Microsoft&#039;s long-term replacement for their CryptoAPI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210901 Enigma (by willichan)] - Simple encryption based on the Enigma Machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203990 GDPR (by mLipok)] - Functions to encrypt/decrypt strings and files with the GDPR in mind.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95558 Hashes for files (by trancexx)] - Fast RC32, MD4, MD5, SHA1 calculation for big files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107784 TrueCrypt (by FuryCell)] - TrueCrypt UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140737 WinTrust (by kasty)] - verify the integrity of a file with its embedded signature or a given catalog.&lt;br /&gt;
&lt;br /&gt;
== GUI Additions ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast (by genius257)] - Native Win8+ toast notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97241 3D Pie chart (by WideBoyDixon)] - 3D Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173924 Chart_UDF (by Kanashius)] - This UDF can be used to Display bar charts in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96258 ContextHelp (by Yashied)] - Management of context help ([https://www.autoitscript.com/forum/index.php?showtopic=72152-contexthelp/ original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211475 DarkMode (by NoNameCode)] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109096 ExtMsgBox (by Melba23)] - A very customisable replacement for MsgBox.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx (by BugFix)] - Another kind of group, versatile changeable.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105582 GUICtrlOnChangeRegister (by Mat)] - Call a function when an edits content is changed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145149 GUIExtender (by Melba23)] - Expand and contract sections of your GUI ([https://www.autoitscript.com/forum/index.php?showtopic=117909 original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197654 GuiFlatButton (by kurtykurtyboy)] - Change colors of regular buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119505 GUIFrame (by Melba23 &amp;amp; Kip)] - Divide a GUI into adjustable frames.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=144207 GUI Panel (by FireFox)] - Manage child GUIs as panel ctrls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113723 GUI Scrollbars (by Melba23)] - Automatically sized scrollbars with a single command.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161184 MetroGUI (by BBs19)] - Windows 10 style buttons, toggles, radios etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 Modern tray menu (by Holger)] - Allows the creation of modern, fancy GUI and tray menus with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194693 MTSkin (by Taskms4)] - Simply create modern looking GUIs (borderless GUI, Interactive menu panel (with mouse-over detection), a bunch of skins).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182136 Notifications (by S3cret91)] - Display permanent desktop notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=136149 Notify (by Melba23)] - Small notifications on the edge of the display.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161750 Pie chart (by Andreik)] - Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75429 Real Vista Aero Glass (by James)] - Real Vista Aero Glass UDF - you can apply glass effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF (by Nine)] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=71811 SetOnEvent (by martin)] - Provides an easy way for an event to call functions with parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=103871 _SysTray (by wraithdu)] - Get info about and manipulate Systray icons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108445 Toast (by Melba23)] - Small message GUIs which pop out of the Systray.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110003 Tray Icon Bar Graph (by BeeGee)] - Creates a scrolling bar graph as the tray icon.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=132864 Uskin (by JScript)] - Allows you to skin your GUI using the Windows &#039;&#039;.MSstyles&#039;&#039; files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191821 Wi3SMenu (by NHD)] - Create a slide menu with Windows 10 style. Supports color, icon and opacity.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129196 WinSnap (by Beege)] - Automatic Window Alignment by applying that &amp;quot;snappy edge&amp;quot; effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32494 XSkin (by Valuater)] - Allows skinning of your GUI and to apply custom skins.&lt;br /&gt;
&lt;br /&gt;
=== Controls ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202529 BrowseForFolder (by MrCreatoR)] - Handle SHBrowseForFolderW with more options, such as multi selection (checkboxes), window position, controls text and more. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=146406 Calendar (by jmon)] - Calendar UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125293 ChooseFileFolder (byMelba23)] - Single and multiple selections from specified path treeview listing.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96464 Colorpicker (by Yashied)] - Create a button for the user to select a color.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker (by Nine)] - Date Range Picker Control.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=123409 Explorer Frame UDF (by Beege)] - Takes any frame created by GUIFrame and turns it into a MS-Windows like Explorer window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview (by Kanashius)] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173929 GDIPlus Slider UDF (by Kanashius)] - This UDF can be used to create a slider with an imagebackground and an image to move.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=79412 Graph control (by andybiochem)] - Easily create and show bar chart and line charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104399 GraphGDIPlus UDF (by andybiochem)] - Easily create and show bar chart and line charts with GDI+ to take advantage of double-buffering.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105682 GUICtrlCreateFinder (by Mat)] - Allows you to create a window finder control like the one seen in AutoIt Window Info.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107965 GUIHotkey (by Mat)] - UDF for using native hotkey controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182492 GUIListViewEx (by Melba23)] - Insert, delete, move, drag, sort, edit and colour ListView items.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111438 GUIPager (by Mat)] - Create and control native pager controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 GUI/Tray Menu (by Holger, LarsJ, AZJIO)] - GUI/Tray Menu with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166594 GUITreeViewEx (by Melba23)] - Check/clear parent and child checkboxes in a TreeView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=90598 Hotkey input control (by Yashied)] - Hotkeys Input Control UDF Library (Non-native).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173932 ListView Edit UDF (by Kanashius)] - This UDF can be used to simply edit an Listview.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109355 ListView - Explorer like ListView UDF (by Beege)] - This UDF simplify creating MS Explorer-like ListViews.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143711 Marquee (by Melba23)] - Make tickertape info bars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143380 Predict Text UDF (by PhoenixXL)] - Sub classes the edit control and matches the current word through the Database &amp;amp; sets selection in accordance.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163939 Progressbar new style (by Muzaiyan)] - New styles for your progress bar.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74649 Progressbar with GDIplus (by ProgAndy)] - You even can use full textured images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151636 RestrictEdit_SRE UDF (by PhoenixXL)] - Restrict the text that can be entered in an editbox through a String Regular Expression.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128242 Ribbon (by trancexx)] - UDF for Windows Ribbon framework.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114034 StringSize (by Melba23)] - Automatically size controls to fit the text you want to put in them.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126958 Syslink (by Yashied)] - Provides a convenient way to embed hypertext links in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105814 Table (by andybiochem)] - Table UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211024 Toggle Button (by Andreik)] - Create simple toggle buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125251 TVExplorer (by Yashied)] - Allows to create TreeView (TV) Explorer controls that display a tree of files and folders.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=190659 Virtual Listview (by LarsJ)] - Virtual Listview for large amounts of data with a large number of rows.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195053 Windows Message Monitor (by LarsJ)] - Monitor Windows Messages of a window or control.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118317 Battery UDF (by Yashied)] - Retrieves various information and current status of the battery(s).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154727 BuildPartitionTable (by RTFC)] - Scans a physical drive&#039;s partition table and returns a partition_table, allocation_table and volumes_table.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155674 CommAPI (by therealhanuta)] - Serial and parallel communication (COM port, RS-232, LPT port) - without installing DLL&#039;s (using Windows API calls).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77731 Device Management (by weaponx)] - Device Management API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97487 DirectShow (by monoceres)] - DirectShow UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164700 DirectSound (by eukalyptus)] - DirectSound UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164701 Direct2D (by eukalyptus)] - Direct2D UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99713 Drive Info (by NerdFencer)] - Gathers drive info for Hard Drives, Disk Drives, and Floppy Drives.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138989 FritzBox (by Allow2010)] - _FB_Tools - manage your FritzBox from Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121084 I/O Port Functions (by Ascend4nt)] - Input/Output UDF for interacting with ports (x64 Parallel Port, Keyboard etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203207 MediaDevice (by Danyfirex)] - Transfer files to portable devices like phones, storages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php=showtopic=213296 Monitor (by Trong)] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154350 Monitor Configuration (by jaberwacky)] - Monitor Configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155469 Mouse (by AlmarM)] - AutoIt powered mouse events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=147325 MouseTrapEvent (by ozmike)] - MouseTrapEvent UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149083 NetInfo (by Nessie)] - UDF for test internet download speed and upload speed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155539 Network configuration (by jguinch)] - Network configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182684 Nitgen (by Jefrey)] - UDF to work with Nitgen fingerprint readers that use NGenBio SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210968 Printer Manager (by Nine)] - Manage printers with winspool.drv DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155485 Printers management with WMI (by jguinch)] - Allows to manage printers: add/delete printer, driver, port, or obtain configuration, set default printer ...&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=189190 Serial port UDF / COM port UDF (by MazeM)] - Another UDF for the serial port. It is very similar to CommAPI using kernel32.dll, but all code is packed into a single file without any dependencies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128546 Serial Port/COM (by martin)] - Serial Port /COM Port UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27755 SMARTDRIVE (by ptrex)] - SMART drive Analysis.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158640 SPI Hardware Interface (by Blinky)] - Communicate with the MAX335 chip using the SPI protocol via the LPT (printer) port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=8188 VISA/GPIB (by Angel)] - VISA/GPIB library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68866 Webcam (by LIMITER)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70857 Webcam (by ludocus)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91018 WiFi (by MattyD)] - Low level control over your wireless LAN.&lt;br /&gt;
&lt;br /&gt;
== Information gathering ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29404 Computer information (by JSThePatriot)] - A general purpose library to get various details about a Windows machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151920 NetworkStatistics (by Ascend4nt)] - Network Interface Info, Statistics, and Traffic.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=54039 WinPcap (by JRSmile)] - Wrapper for the windows packet capture library WinPcap.&lt;br /&gt;
* [https://opensource.grisambre.net/pcapau3/ WinPcap (by Nicolas Ricquemaque)] - A library to access the main functionalities offered by the WinPcap driver.&lt;br /&gt;
&lt;br /&gt;
== Internet protocol suite ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207859 cURLX64 (by Beege)] - cURL UDF with x64 support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=137456 cURL (by seangriffin)] - A UDF for transferring data with URL syntax.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187718 HTTP lib (by Jefrey)] - HTTP lib (GET, POST and upload) UDF to simplify HTTP requests, mainly when dealing about POST data or file uploads.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202895 HttpApi (by TheXman)] - HTTP Server API enables applications to communicate over HTTP without using MS Internet Information Server (IIS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=40243 IMAP (by mikeytown2)] - IMAP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108422 IMAP4 (by Tipulatoid)] - IMAP4 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=43515 IRC (by McGod)] - A lightweight library for communicating with IRC servers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159285 IRC (by rcmaehl)] - IRC UDF - Updated Version of Chips&#039; IRC UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=22838 POP3 (by Apzo)] - POP3 library for retrieving email messages. Not compatible with Gmail because it uses SSL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167339 POP3 (by mLipok)] - POP3 UDF According to the 1939 RFC, modified version with Quoted Printable decoder.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154530 Prowl (by mrflibblehat)] - Push notifications to iPhone, iPod touch or iPad using Prowl (Growl client for iOS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138095 SFTP (by Lupo73)] - UDF to support SFTP protocol using PSFTP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154054 Socket UDF (by funkey)] - Socket UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=23860 SMTP (by Jos)] - Smtp Mailer That Supports Html And Attachments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167292 SMTP Mailer UDF (by mLipok)] - Smtp Mailer That Supports Html And Attachments - Modified Version with support to save EML files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81687 SNMP (by enaiman)] - SNMP_UDF for SNMPv1 and SNMPv2c.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70759 SNMP - MIB protocol (by ptrex)] - Reading toner status from SNMP device with WMI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166579 SSH (by jeanphile)] - Use the SSH protocol very easily in your code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185329 STUN (by j0kky)] - STUN is a protocol that permits you to know your external IP but, more interesting, your external port associated to your internal port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184817 SyslogSend (by Irios)] - This allows sending (BSD) messages to a syslog server using UDP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169774 TCPServer (by Jefrey)] - Multi client, event-based, able to bind console app to socket.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=57022 UPnP Protocol (by ptrex)] - UPnP - Read and Control your devices in side out.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=84133 WinHTTP (by trancexx)] - Access the HTTP protocol for creating GET and POST requests and submitting them with conforming standards, cookies not supported.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77503 WinInet (by -Ultima-)] - Access standard Internet protocols (FTP, Gopher and HTTP). Supports GET/POST requests and cookies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181645 Winsock (by j0kky)] - Create client/server application using native winsock functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF (by Trong)] - TCP/UDP Networking Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191954 WSA_NBTCP (by ripdad)] - Windows Sockets API - Non-Blocking Transmission Control Protocol.&lt;br /&gt;
&lt;br /&gt;
== Maths ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170658 Advanced Math UDF (by scintilla4evr)] - Advanced mathematical functions (primes, number sequences, interpolate, calculate values of functions like Riemann zeta etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=102686 Advanced rounding (by Mat)] - Support for different measures of accuracy and 8 ways to resolve tie breaks.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83529 Big number (by eukalyptus)] - Make calculations with extremely large numbers that AutoIt normally is not able to support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106551 Decimal To fraction (by Malkey)] - Converts any decimal number to a fraction. Example: 1.2 to 6/5.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162921 Eigen4AutoIt (by RFTC)] - Allows to perform fast matrix operations on large numerical data sets, and much more ....&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra (by AspirinJunkie)] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140789 MathsEx UDF (by PhoenixXL)] - Functions for Carrying Out More Advanced Mathematical Calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81189 Number base conversion (by james3mg)] - From, to and between positive bases less than 63 (decimals supported).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117156 NumToWord (by Mat)] - Convert numerals to a human readable string.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108803 Polynomials (by Mat)] - Functions for using polynomials.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83091 Primes (by jennico)] - Many functions dealing with prime number generation and calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94770 Roman Numerals (by AZJIO)] - Roman Numerals.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98160 Root function (by Mat)] - Working out real roots of numbers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209527 Stat (by AspirinJunkie)] - Statistics for Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163899 StringAPL (by minx)] - inline APL interpreter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=82722 Trigonometric and math functions (by trancexx)] - _ATan2(), _Cosh(), _Frexp(), _Hypot(), _Ldexp(), _Logb(), _Sinh(), _Tanh().&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95357 FreeImage library (by ProgAndy)] - Various operations on images, such as rotate, resize, flip.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll (by Trong)] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127263 HtmlHelp (by Geodetic)] - HtmlHelp functions for context-sensitive help from CHM (compiled HTML) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116009 HyperCam (by seangriffin)] - HyperCam (Screen Recording) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182535 HyCam2 (by willichan)] - Automation for HyCam2 screen recording utility.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50608 OCR (by ptrex)] - Real OCR in AU3 - MODI with MS Office 2003.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=89542 OCR (by seangriffin)] - Tesseract (Screen OCR) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206133 OCRSpace (by MrKm)] - Convert Images to text with the OCRSpace API. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51054 Printer controller (by martin)] - Print text in any font, size and colour at any position on the page, draw lines, curves, elipses, pies in any colour, and print images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73993 Printing (by GRS)] - Printing from AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202621 QRCreator (by BugFix)] - Simple QR-code creation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161831 RTF_Printer (by mLipok)] - Printing RichEdit in the background.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94834 Simple DirectMedia Layer (by AdmiralClaws)] - Adds support for joysticks, CDs, 2D graphics, timers. See [https://www.libsdl.org/ SDL website] for more information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207324 UWPOCR (by Danyfirex)] - Universal Windows Platform Optical Character Recognition API.&lt;br /&gt;
&lt;br /&gt;
===Graphics and image===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202987 AutoYolo3 (by smartee)] - Real-Time Object Detection using YOLOv3 wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113881 au3Irrlicht2 (by JRowe)] - Combining Irrlicht and AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86748 AVI writing udf (by monoceres)] - Create uncompressed avi&#039;s from bitmap files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27362 Bitmap Library (by evilertoaster)] - Bitmap Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202663 GIF animation (by Nine)] - Fast cached GIF animation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150231 GTK+  (by prazetto)] - GTK+ Framework | Widgets.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=13096 ImageGetInfo (by Lazycat)] - Read info from JPEG, TIFF, BMP, PNG and GIF - size, color depth, resolution.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/471-image-search-udf Image Search (by VIP)] - Search for an image on the desktop. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70506 IrrLicht (by A. Percy)] - A 3D graphics engine suitable for creating games.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160732 OpenCV (by myliseJ)] - UDF for the OpenCV library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206432 OpenCV v4+ (by smbape)] - OpenCV UDF with support for OpenCV v4+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151011 OpenGL (by LarsJ)] - OpenGL without external libraries etc. For JPEG files it also retrieves various Exif information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148129 OpenGL (2.0) (by minx)] - New set of UDFs for OpenGL + AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152950 S3D (by Starg)] - Draw simple 3D graphics with GDI+.&lt;br /&gt;
&lt;br /&gt;
===Players===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114143 VLC (by seangriffin)] - VLC (Media Player) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91316 VLC Media Player (by ptrex)] - VLC Media Player.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27352 WMP (by ConsultingJoe)] - Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44008 WMP - Media Controls (by CFire)] - Another Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203154 WMP - GUI Control (by SudeepJD)] - IE based WMP Control.&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83481 BASS Function Library (by BrettF)] - Sound and Music via wrappers for Bass, BassEnc, Bass FX, BassSFX, BassAsio and BassCd DLLs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173808 libZPlay (by Danyfirex)] - Multimedia library for playing mp3, mp2, mp1, ogg, flac, ac3, aac, oga, wav and pcm files and streams.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=37072 MIDI (by eynstyne)] - MIDI UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208116 MIDI (by MattyD)] - Wrap of the Windows MIDI functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114742 SAPIListBox (by seangriffin)] - SAPIListBox (Speech Recognition) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=100439 TTS (by Beege)] - Text-to-Speech UDF.&lt;br /&gt;
&lt;br /&gt;
== PDF ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162195 Acrobat Reader - ActiveX Viewer (by mLipok)] - Make your own PDF Viewer GUI with Acrobat Reader ActiveX COM Object &amp;quot;AcroPDF.PDF.1&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164469 Debenu PDF Viewer SDK (by mLipok)] - A collection of functions to display PDF files in your applications using Debenu PDF Viewer SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160875 Debenu Quick PDF Library (by mLipok)] - A collection of functions for Debenu Quick PDF Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75832 FoxIt Reader (by ptrex)] - PDF Reader in AU3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118827 MPDF (by taietel)] - Create PDF from your application.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=42776 PDFCreator (by ptrex)] - Automation of PDFCreator allows you to create and manipulate PDF files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170550 PDFCreator (by mLipok)] - UDF for PDFCreator v1.x.x with working EVENTs Handler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32261 _StringToPDF (by Tam0r)] - Write a string to a PDF file and specify font size, type etc.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145158 Firewall (by JLogan3o13)] - Control and manipulate the Windows Firewall (enable/disable, Exclusions list, enable/disable ports etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194015 Firewall policy2 (by Bilgus)]- Provides access to the firewall policy for Windows Vista+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150819 VirusTotal (by Danyfirex)] - VirusTotal API 2.0 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred (by DonChunior)] - Interface to the Windows Credential Management API.&lt;br /&gt;
&lt;br /&gt;
== Social Media and other Website API ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159254 Cex.io (by AquilesCrespo)] - UDF script for using with the web api from https://cex.io/ server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169333 CrowdinAPI (by mLipok)] - Uses the [https://crowdin.com/page/api crowdin.net website API] for some functions (create projects, add and update files, download translations or integrate localization).&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/290-dropbox-authenticator/ Dropbox authenticator (by Gimerly)] - Dropbox authenticator.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158106 Easypost (by dcat127)] - Print USPS Postage Labels.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114801 eBay (by seangriffin)] - eBay UDF (functions GetItemStatus and GetSingleItem from the &amp;quot;Shopping API&amp;quot;).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=141340 Gmail (by PhoenixXL)] - Remote Gmail (UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192422 Gmail API (by Ascer)] - Automate communication with Gmail using oAuth 2.0 security. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98504 Google Functions (by Beege)] - Google Functions (Suggestions, Definitions, Translate, Convert).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=115437 Google Maps (by seangriffin)] - Google Maps UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70675 iTunes (by torels)] - iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101802 iTunes (by Beege)] - Another iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150985 No-IP (by Nessie)] - Simply update your no-ip hostname(s) and retrieve the ip address of an no-ip address.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192391 oAuth (by Ascer)] - Open standard for access delegation, commonly used to grant websites or applications access to other websites.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150838 PasteBin (by mrflibblehat)] - Pastebin UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121767 Skype (by FireFox)] - Skype4COM provides an ActiveX interface to the Skype API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113234 Teamspeak 3 (by chipDE)] - Teamspeak 3 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186944 TeamViewer API (by mLipok)] - A collection of function for use with TeamViewer API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186381 Telegram Bot (by LinkOut)] - UDF for [https://core.telegram.org/api Telegram messenger API].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166547 TVmaze.com API (by BBs19)] - TVmaze.com API UDF (TV-Series).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116600 Twitter (by seangriffin)] - Manage Twitter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149247 Yahoo Weather (by Nessie)] - Yahoo Weather API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112775 Youtube Uploader (by BrettF)] - AYTU - AutoIt Youtube Uploader.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50880 ACL (by ptrex)] - Set ACL on windows Objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134508 ACL (by FredAI)] - Do most everything with the DACL and ownership on all types of objects: Files or folders, Registry keys, services, Kernel and WMI objects, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206400 BITS (by DonChunior)] - Background Intelligent Transfer Service to download files from or upload files to HTTP web servers and SMB file shares.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184937 CertUtil (by mLipok)] - Wrapper for windows certutil.exe (command-line program that is installed in Windows as part of Certificate Services).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113560 FileSystemMonitor (by seangriffin)] - Monitors the file system by recording all file system events occurring within a given path.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111018 ITaskBarList (by Beege)] - ITaskBarList UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74118 Local account (by engine)] - Manage local accounts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161193 Magnifier Functions (by Ascend4nt)] - Exposes most of the useful Magnifier API functions available since Windows Vista.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75250 Registry (by engine)] - Windows Registry UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50551 Registry (by seanhart)] - RegWriteAllUsers / RegDeleteAllUsers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=80201 Service (by arcker)] - Build your own service with AutoIt code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124508 Startup (by guinness)] - Create Startup entries in the Startup Folder or Registry.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164756 SCCM (by JLogan3o13)] - Systems Center Configuration Manager Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134628 System restore (by FredAI)] - System restore UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186111 SubstWrapper (by mLipok)] - Wrapper for windows subst.exe command - (Associates a path with a drive letter).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135994 Taskplanner/Taskscheduler COM (by Allow2010)] - an UDF for using the Windows Taskplaner / Task Scheduler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83355 Task Scheduler (by dbzfanatic)] - Task Scheduler UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200068 TaskScheduler (by water)] - Brushed up Task Scheduler UDF. Link to the [[TaskScheduler|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173934 TTS (by Kanashius)] - Used with SAPI Automation Object - text-to-speech (TTS) engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158377 UAC (by AdamUL)] - User Account Control (UAC) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=175719 Utter (by Surya)] - Utilizing more of SAPI (Speech Recognition UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127075 WIMGAPI (by Homes32)] - Manipulate Windows Image Files (.wim) without ImageX.exe.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=28436 Windows Events (by Emperor)] - Create your own Windows events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=6487 Windows Service Control functions (by SumTingWong)] - Some limited functions to control services (create, start, stop, delete, check ...).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81880 Windows Services (by engine)] - Windows Services UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163178 WRMF (by Luigi)] - WRMF - Windows Registry Monitor Call Function.&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/topic/178871-dllcall-with-c-example/#comment-1285754 SMSApi (by mLipok)] - UDF for SMSAPi which provides SMS services. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/index.php?showtopic=178589 BulkSMS (by Skysnake)] - UDF for BulkSMS which provides SMS services. --&amp;gt;&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145099 _AdlibEnhance (by JScript)] - Enhance Adlib to call functions with parameters, pause and resume.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160936 Android (by Moriba)] - Control any Android device.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97826 Animated tray icons (by Yashied)] - Make animated tray icons easily.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163577 Atom Table (by Ascend4nt)] - Store (add, find, delete, and query) strings locally (at program level) or globally (at OS level) with unique numerical identifiers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170087 Barcode generators (by willichan)] - Creates a Code128A/B/C or Creates a Code39 or Code39Extended optimized barcode from supplied data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211660 BlockInput (by Nine)] - Block all input coming from mouse and/or keyboard, without having an UAC warning displayed. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87735 BlockInputEx (by MrCreatoR)] - Supports a few features that built-in BlockInput() function does not.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29763 Clipboard (by eltorro)] - When apps need to watch the clipboard.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170630 ClipboardEx (by ozmike)] - Allows to have more than 1 item in the Clipboard. Handles all data types, not just text.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81267 Clipboard History (by wraithdu)] - Save and restore the entire clipboard contents. Inspired by AHK&#039;s ClipboardAll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169610 CmdLine (by Jefrey)] - Collection of functions to parse command line arguments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126569 Console (by Shaggi)] - Functions and features to work wiht Console input/output.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121833 Copy (by Yashied)] - Copy or move files and directories without suspending your script. Retrieve the current state (copied bytes, error code etc.) while copying.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154684 Date / Time convert (by Melba23)] - Transform date/time formats.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99106 _DLLStructDisplay (by Ascend4nt)] - Show Struct in ListView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157689 _FileGetMimeType (by Wiliat87)] - Retrieve MIME types based on the extension of the filename/filepath/URL provided.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117033 File locking with cooperative semaphores (by willichan)] - Simple file locking without a server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157241 FindMimeFromData (by twbradio)] - FindMimeFromData using urlmon.dll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181997 Font Icon (by J2TeaM)] - Use Font Awesome in your AutoIt project.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68422 HotString (by jvanegmond)] - Similar to the HotKey function but trigger on a string, instead of a key or key combination.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173946 LASM - Light Assembler (by minxomat)] - Inline UDF for an Assembler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161628 LFN (by orbs)] - Overcome MAX_PATH limit of 256 chars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111492 Link Grammar for AutoIt (by JRowe)] -  Input is a regular sentence in English, German or Italian, output is a pattern parsed from the structure of the sentence.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/147-mruau3 MRU (by Yashied)] - Most Recently Used (MRU) List Automation functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188158 .NET Common Language Runtime (CLR) Framework (by Danyfirex, Junkew, Larsj, ptrex, Trancexx)] - Allows AutoIt to access .NET Class Libraries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101733 NoFocusLines (by Melba23)] - Remove the dotted focus lines from buttons, sliders, radios and checkboxes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149176 NotifyIcon (by FireFox)] - Create, delete and manage self notify icons (formerly TrayIconEx). &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=63318 PixelGetColor (by Manadar)] - Get or Read Pixel from memory.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167024 RDC (by Yashied)] - ReadDirectoryChanges Wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51103 Resources (by Zedna)] - Embed any binary data into your AutoIt compiled EXE files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162499 ResourcesEx (by guinness)] - Up to date version of Zedna&#039;s Resources UDF. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111215 Restart (by Yashied)] - Allows to restart a script from any location with full restoration of the original command line parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51547 SciLexer (by Kip)] - Editing control, supports multiple editors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152093 ScriptEditor (by pandel)] - ScriptEditor with I18N support and customizable lexer completely written in AutoIt (based on SciLexer).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162033 Spell Checker (by iCode)] - Spell Checker functions to call Hunspell, Hyphenate and MyThes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164444 Synology filestation (by nend)] - Functions to interact with a Synology NAS server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163328 TimeConvert (by orbs)] - Convert UTC to/from local time, and/or reformat the string representation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint (by UEZ)] - Creating barcodes using the Zint.dll.&lt;br /&gt;
[[Category:UDF]]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15280</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15280"/>
		<updated>2026-03-04T16:17:34Z</updated>

		<summary type="html">&lt;p&gt;Water: /* Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is in most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. On top of this, each respective style name retrieval function also lists any styles that have names differing from their internal names in the Remarks section of the header.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&lt;br /&gt;
&amp;lt;p&amp;gt;&#039;&#039;&#039;Example&#039;&#039;&#039;: (&amp;lt;small&amp;gt;No error checking is integrated, as we want to give a quick impression of how easy it is to create an AutoIt script with the LibreOffice UDF.&amp;lt;/small&amp;gt;)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                       ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)               ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello World&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                                ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
These optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Char || Manipulate character styles in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in &#039;&#039;Calc&#039;&#039; documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Database || Manipulate &#039;&#039;Base&#039;&#039; Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in &#039;&#039;Writer&#039;&#039;. || Doc || Manipulate documents in &#039;&#039;Base&#039;&#039;, &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039; document fields. || FootEndNotes || Manipulate &#039;&#039;Writer&#039;&#039; Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate &#039;&#039;Base&#039;&#039; Forms and &#039;&#039;Writer&#039;&#039; Forms and Form Controls. || Frame || Manipulate &#039;&#039;Writer&#039;&#039; Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters! || Num || Manipulate &#039;&#039;Writer&#039;&#039; Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate &#039;&#039;Writer&#039;&#039; and &#039;&#039;Calc&#039;&#039; Page Styles. || Par || Manipulate &#039;&#039;Writer&#039;&#039; Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate &#039;&#039;Base&#039;&#039; Queries. || Range || Create, modify, apply &#039;&#039;Calc&#039;&#039; Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate &#039;&#039;Base&#039;&#039; Reports. || Shapes || Create, modify, and insert shapes in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate &#039;&#039;Calc&#039;&#039; document sheets. || SQLStatement || Create, modify and execute SQL Statements in &#039;&#039;Base&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate &#039;&#039;Base&#039;&#039; Tables and &#039;&#039;Writer&#039;&#039; Text-Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Perform a Find and Replace operation in a Calc Document || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Helper.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Range.au3&amp;lt;br&amp;gt;&#039;&#039;&#039;Or simply&#039;&#039;&#039; #Include LibreOfficeCalc.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Functions - Naming Scheme&lt;br /&gt;
|- &lt;br /&gt;
|| Functions Naming Scheme: || _LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Example: || _LOWriter_ParObjCopy (&amp;quot;Copies&amp;quot; data selected by the ViewCursor) &lt;br /&gt;
|-&lt;br /&gt;
|| Where to find: || LibreOfficeWriter_Par.au3&lt;br /&gt;
|- &lt;br /&gt;
|| Description: || &amp;lt;Module&amp;gt; and &amp;lt;Object&amp;gt; can be found in the tables above. &amp;lt;Function&amp;gt; describes the manipulation to be done (read, modify, copy ...)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Example Code===&lt;br /&gt;
On [[LibreOffice-Examples|this page]] you&#039;ll find code examples for the LibreOffice modules&lt;br /&gt;
Base, Calc, Writer and the Portable LibreOffice version.&lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Debug your Script===&lt;br /&gt;
To debug your script, as with any AutoIt function, the first place to start is checking for @error, and @extended values after each function call. Each function in this UDF has error, extended and return values documented in the function header. &lt;br /&gt;
&lt;br /&gt;
===@error codes===&lt;br /&gt;
Currently there are 6 types of errors:&lt;br /&gt;
* 1. &#039;&#039;&#039;Input errors&#039;&#039;&#039;. This code indicates that the user has input the wrong type of data, or an out-of-bound value.&amp;lt;br&amp;gt;Make sure to re-read the parameters and any appropriate remarks for what is expected.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 1 and @extended = 1 stands for: &#039;&#039;$sFilePath not a string, or file not found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 2. &#039;&#039;&#039;Initialization errors&#039;&#039;&#039;. This code indicates that the UDF failed to create some Object or other necessary item for use in a certain function.&amp;lt;br&amp;gt;These types of errors are generally out of the user’s control, and may indicate something has changed with LibreOffice that has caused this UDF to no longer function appropriately.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 2 and @extended = 1 stands for: &#039;&#039;Failed to create ServiceManager Object.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 3. &#039;&#039;&#039;Processing errors&#039;&#039;&#039;. This code indicates that the UDF failed to perform some action.&amp;lt;br&amp;gt; Maybe something wrong with the UDF, or with LibreOffice. Double check that any input values are appropriate for what you are doing in the function that is failing.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 3 and @extended = 1 stands for: &#039;&#039;No open Libre Office documents found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 4. &#039;&#039;&#039;Property Setting errors&#039;&#039;&#039;. This code indicates that the function failed to set the requested property values.&amp;lt;br&amp;gt; Which properties have failed will be indicated in the returned @extended value, as a Bit value, this means that to determine what property or properties failed to be set you will need to us BitAND and compare the @extended value with the values listed in the function header.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 4 and @extended = 10 stands for: &#039;&#039;Error setting $bReadOnly (2) &#039;&#039;&#039;AND&#039;&#039;&#039; Error setting $bLoadAsTemplate (8).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 5. &#039;&#039;&#039;Printer errors&#039;&#039;&#039;. This code indicates problems with printers.&amp;lt;br&amp;gt; Whether when there were no printers found when retrieving the currently available printer names, or whether there was an issue when setting printer related settings.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 5 and @extended = 1 stands for: &#039;&#039;No default printer found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 6. &#039;&#039;&#039;Version errors&#039;&#039;&#039;. This code indicates that the current version of LibreOffice is too low for a specific function or parameter.&amp;lt;br&amp;gt; Any version limitations are documented in the function or parameter description. Either do not use the function or parameter that requires a higher LibreOffice version, or upgrade to a newer version of LibreOffice. &amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 6 and @extended = 1 stands for: &#039;&#039;Current Libre Office version less than 7.4.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Catching COM Errors===&lt;br /&gt;
A further step in debugging scripts is to monitor for COM errors, which can be triggered if something fails on the LibreOffice side.&amp;lt;br&amp;gt;&lt;br /&gt;
This UDF has user-COM error functions that allow the user to have a custom user function be called each time a COM error is encountered, or optionally, to either use MsgBox or ConsoleWrite to display the COM error details.&amp;lt;br&amp;gt;&lt;br /&gt;
Instructions for this are found in each respective COM Error function. Each component has its own dedicated COM user error handler, e.g., LibreOfficeWriter has the &#039;&#039;_LOWriter_ComError_UserFunction&#039;&#039;, and also LibreOffice.au3 has its own COM error handler, called: &#039;&#039;_LO_ComError_UserFunction&#039;&#039;. &amp;lt;br&amp;gt; A COM error error handler can display the following information about a COM error: Number, Description, At line, Source, Error Description, though it will not always have all of the values filled in. &lt;br /&gt;
&amp;lt;br&amp;gt;If no ComError_UserFunction has been defined, the UDF does nothing but handle the COM error, so your script does not crash, and sets the @error and @extended values.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
!	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number:&#039;&#039;&#039; 0x80020006&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Unknown name.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;At line:&#039;&#039;&#039; 199&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Source:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Error Description:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
There have been no frequently asked questions so far.&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
This forum thread describes [https://www.autoitscript.com/forum/topic/213493-au3-libreoffice-api-inspector-tools/ LibreOffice API Inspector tools]. &amp;lt;br&amp;gt;They allow you to inspect Object and properties in the LibreOffice API.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15279</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15279"/>
		<updated>2026-02-26T07:02:42Z</updated>

		<summary type="html">&lt;p&gt;Water: /* Catching COM Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is in most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. On top of this, each respective style name retrieval function also lists any styles that have names differing from their internal names in the Remarks section of the header.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&lt;br /&gt;
&amp;lt;p&amp;gt;&#039;&#039;&#039;Example&#039;&#039;&#039;: (&amp;lt;small&amp;gt;No error checking is integrated, as we want to give a quick impression of how easy it is to create an AutoIt script with the LibreOffice UDF.&amp;lt;/small&amp;gt;)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                       ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)               ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello World&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                                ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
These optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Char || Manipulate character styles in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in &#039;&#039;Calc&#039;&#039; documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Database || Manipulate &#039;&#039;Base&#039;&#039; Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in &#039;&#039;Writer&#039;&#039;. || Doc || Manipulate documents in &#039;&#039;Base&#039;&#039;, &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039; document fields. || FootEndNotes || Manipulate &#039;&#039;Writer&#039;&#039; Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate &#039;&#039;Base&#039;&#039; Forms and &#039;&#039;Writer&#039;&#039; Forms and Form Controls. || Frame || Manipulate &#039;&#039;Writer&#039;&#039; Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters! || Num || Manipulate &#039;&#039;Writer&#039;&#039; Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate &#039;&#039;Writer&#039;&#039; and &#039;&#039;Calc&#039;&#039; Page Styles. || Par || Manipulate &#039;&#039;Writer&#039;&#039; Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate &#039;&#039;Base&#039;&#039; Queries. || Range || Create, modify, apply &#039;&#039;Calc&#039;&#039; Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate &#039;&#039;Base&#039;&#039; Reports. || Shapes || Create, modify, and insert shapes in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate &#039;&#039;Calc&#039;&#039; document sheets. || SQLStatement || Create, modify and execute SQL Statements in &#039;&#039;Base&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate &#039;&#039;Base&#039;&#039; Tables and &#039;&#039;Writer&#039;&#039; Text-Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Perform a Find and Replace operation in a Calc Document || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Helper.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Range.au3&amp;lt;br&amp;gt;&#039;&#039;&#039;Or simply&#039;&#039;&#039; #Include LibreOfficeCalc.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Functions - Naming Scheme&lt;br /&gt;
|- &lt;br /&gt;
|| Functions Naming Scheme: || _LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Example: || _LOWriter_ParObjCopy (&amp;quot;Copies&amp;quot; data selected by the ViewCursor) &lt;br /&gt;
|-&lt;br /&gt;
|| Where to find: || LibreOfficeWriter_Par.au3&lt;br /&gt;
|- &lt;br /&gt;
|| Description: || &amp;lt;Module&amp;gt; and &amp;lt;Object&amp;gt; can be found in the tables above. &amp;lt;Function&amp;gt; describes the manipulation to be done (read, modify, copy ...)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Example Code===&lt;br /&gt;
On [[LibreOffice-Examples|this page]] you&#039;ll find code examples for the LibreOffice modules&lt;br /&gt;
Base, Calc, Writer and the Portable LibreOffice version.&lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Debug your Script===&lt;br /&gt;
To debug your script, as with any AutoIt function, the first place to start is checking for @error, and @extended values after each function call. Each function in this UDF has error, extended and return values documented in the function header. &lt;br /&gt;
&lt;br /&gt;
===@error codes===&lt;br /&gt;
Currently there are 6 types of errors:&lt;br /&gt;
* 1. &#039;&#039;&#039;Input errors&#039;&#039;&#039;. This code indicates that the user has input the wrong type of data, or an out-of-bound value.&amp;lt;br&amp;gt;Make sure to re-read the parameters and any appropriate remarks for what is expected.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 1 and @extended = 1 stands for: &#039;&#039;$sFilePath not a string, or file not found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 2. &#039;&#039;&#039;Initialization errors&#039;&#039;&#039;. This code indicates that the UDF failed to create some Object or other necessary item for use in a certain function.&amp;lt;br&amp;gt;These types of errors are generally out of the user’s control, and may indicate something has changed with LibreOffice that has caused this UDF to no longer function appropriately.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 2 and @extended = 1 stands for: &#039;&#039;Failed to create ServiceManager Object.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 3. &#039;&#039;&#039;Processing errors&#039;&#039;&#039;. This code indicates that the UDF failed to perform some action.&amp;lt;br&amp;gt; Maybe something wrong with the UDF, or with LibreOffice. Double check that any input values are appropriate for what you are doing in the function that is failing.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 3 and @extended = 1 stands for: &#039;&#039;No open Libre Office documents found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 4. &#039;&#039;&#039;Property Setting errors&#039;&#039;&#039;. This code indicates that the function failed to set the requested property values.&amp;lt;br&amp;gt; Which properties have failed will be indicated in the returned @extended value, as a Bit value, this means that to determine what property or properties failed to be set you will need to us BitAND and compare the @extended value with the values listed in the function header.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 4 and @extended = 10 stands for: &#039;&#039;Error setting $bReadOnly (2) &#039;&#039;&#039;AND&#039;&#039;&#039; Error setting $bLoadAsTemplate (8).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 5. &#039;&#039;&#039;Printer errors&#039;&#039;&#039;. This code indicates problems with printers.&amp;lt;br&amp;gt; Whether when there were no printers found when retrieving the currently available printer names, or whether there was an issue when setting printer related settings.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 5 and @extended = 1 stands for: &#039;&#039;No default printer found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 6. &#039;&#039;&#039;Version errors&#039;&#039;&#039;. This code indicates that the current version of LibreOffice is too low for a specific function or parameter.&amp;lt;br&amp;gt; Any version limitations are documented in the function or parameter description. Either do not use the function or parameter that requires a higher LibreOffice version, or upgrade to a newer version of LibreOffice. &amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 6 and @extended = 1 stands for: &#039;&#039;Current Libre Office version less than 7.4.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Catching COM Errors===&lt;br /&gt;
A further step in debugging scripts is to monitor for COM errors, which can be triggered if something fails on the LibreOffice side.&amp;lt;br&amp;gt;&lt;br /&gt;
This UDF has user-COM error functions that allow the user to have a custom user function be called each time a COM error is encountered, or optionally, to either use MsgBox or ConsoleWrite to display the COM error details.&amp;lt;br&amp;gt;&lt;br /&gt;
Instructions for this are found in each respective COM Error function. Each component has its own dedicated COM user error handler, e.g., LibreOfficeWriter has the &#039;&#039;_LOWriter_ComError_UserFunction&#039;&#039;, and also LibreOffice.au3 has its own COM error handler, called: &#039;&#039;_LO_ComError_UserFunction&#039;&#039;. &amp;lt;br&amp;gt; A COM error error handler can display the following information about a COM error: Number, Description, At line, Source, Error Description, though it will not always have all of the values filled in. &lt;br /&gt;
&amp;lt;br&amp;gt;If no ComError_UserFunction has been defined, the UDF does nothing but handle the COM error, so your script does not crash, and sets the @error and @extended values.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
!	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number:&#039;&#039;&#039; 0x80020006&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Unknown name.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;At line:&#039;&#039;&#039; 199&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Source:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Error Description:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
There have been no frequently asked questions so far.&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
To be defined.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15278</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15278"/>
		<updated>2026-02-25T15:24:06Z</updated>

		<summary type="html">&lt;p&gt;Water: Removed the WIP (work in progress) tag.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is in most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. On top of this, each respective style name retrieval function also lists any styles that have names differing from their internal names in the Remarks section of the header.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&lt;br /&gt;
&amp;lt;p&amp;gt;&#039;&#039;&#039;Example&#039;&#039;&#039;: (&amp;lt;small&amp;gt;No error checking is integrated, as we want to give a quick impression of how easy it is to create an AutoIt script with the LibreOffice UDF.&amp;lt;/small&amp;gt;)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                       ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)               ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello World&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                                ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
These optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Char || Manipulate character styles in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in &#039;&#039;Calc&#039;&#039; documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Database || Manipulate &#039;&#039;Base&#039;&#039; Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in &#039;&#039;Writer&#039;&#039;. || Doc || Manipulate documents in &#039;&#039;Base&#039;&#039;, &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039; document fields. || FootEndNotes || Manipulate &#039;&#039;Writer&#039;&#039; Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate &#039;&#039;Base&#039;&#039; Forms and &#039;&#039;Writer&#039;&#039; Forms and Form Controls. || Frame || Manipulate &#039;&#039;Writer&#039;&#039; Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters! || Num || Manipulate &#039;&#039;Writer&#039;&#039; Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate &#039;&#039;Writer&#039;&#039; and &#039;&#039;Calc&#039;&#039; Page Styles. || Par || Manipulate &#039;&#039;Writer&#039;&#039; Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate &#039;&#039;Base&#039;&#039; Queries. || Range || Create, modify, apply &#039;&#039;Calc&#039;&#039; Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate &#039;&#039;Base&#039;&#039; Reports. || Shapes || Create, modify, and insert shapes in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate &#039;&#039;Calc&#039;&#039; document sheets. || SQLStatement || Create, modify and execute SQL Statements in &#039;&#039;Base&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate &#039;&#039;Base&#039;&#039; Tables and &#039;&#039;Writer&#039;&#039; Text-Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Perform a Find and Replace operation in a Calc Document || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Helper.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Range.au3&amp;lt;br&amp;gt;&#039;&#039;&#039;Or simply&#039;&#039;&#039; #Include LibreOfficeCalc.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Functions - Naming Scheme&lt;br /&gt;
|- &lt;br /&gt;
|| Functions Naming Scheme: || _LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Example: || _LOWriter_ParObjCopy (&amp;quot;Copies&amp;quot; data selected by the ViewCursor) &lt;br /&gt;
|-&lt;br /&gt;
|| Where to find: || LibreOfficeWriter_Par.au3&lt;br /&gt;
|- &lt;br /&gt;
|| Description: || &amp;lt;Module&amp;gt; and &amp;lt;Object&amp;gt; can be found in the tables above. &amp;lt;Function&amp;gt; describes the manipulation to be done (read, modify, copy ...)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Example Code===&lt;br /&gt;
On [[LibreOffice-Examples|this page]] you&#039;ll find code examples for the LibreOffice modules&lt;br /&gt;
Base, Calc, Writer and the Portable LibreOffice version.&lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Debug your Script===&lt;br /&gt;
To debug your script, as with any AutoIt function, the first place to start is checking for @error, and @extended values after each function call. Each function in this UDF has error, extended and return values documented in the function header. &lt;br /&gt;
&lt;br /&gt;
===@error codes===&lt;br /&gt;
Currently there are 6 types of errors:&lt;br /&gt;
* 1. &#039;&#039;&#039;Input errors&#039;&#039;&#039;. This code indicates that the user has input the wrong type of data, or an out-of-bound value.&amp;lt;br&amp;gt;Make sure to re-read the parameters and any appropriate remarks for what is expected.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 1 and @extended = 1 stands for: &#039;&#039;$sFilePath not a string, or file not found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 2. &#039;&#039;&#039;Initialization errors&#039;&#039;&#039;. This code indicates that the UDF failed to create some Object or other necessary item for use in a certain function.&amp;lt;br&amp;gt;These types of errors are generally out of the user’s control, and may indicate something has changed with LibreOffice that has caused this UDF to no longer function appropriately.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 2 and @extended = 1 stands for: &#039;&#039;Failed to create ServiceManager Object.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 3. &#039;&#039;&#039;Processing errors&#039;&#039;&#039;. This code indicates that the UDF failed to perform some action.&amp;lt;br&amp;gt; Maybe something wrong with the UDF, or with LibreOffice. Double check that any input values are appropriate for what you are doing in the function that is failing.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 3 and @extended = 1 stands for: &#039;&#039;No open Libre Office documents found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 4. &#039;&#039;&#039;Property Setting errors&#039;&#039;&#039;. This code indicates that the function failed to set the requested property values.&amp;lt;br&amp;gt; Which properties have failed will be indicated in the returned @extended value, as a Bit value, this means that to determine what property or properties failed to be set you will need to us BitAND and compare the @extended value with the values listed in the function header.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 4 and @extended = 10 stands for: &#039;&#039;Error setting $bReadOnly (2) &#039;&#039;&#039;AND&#039;&#039;&#039; Error setting $bLoadAsTemplate (8).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 5. &#039;&#039;&#039;Printer errors&#039;&#039;&#039;. This code indicates problems with printers.&amp;lt;br&amp;gt; Whether when there were no printers found when retrieving the currently available printer names, or whether there was an issue when setting printer related settings.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 5 and @extended = 1 stands for: &#039;&#039;No default printer found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 6. &#039;&#039;&#039;Version errors&#039;&#039;&#039;. This code indicates that the current version of LibreOffice is too low for a specific function or parameter.&amp;lt;br&amp;gt; Any version limitations are documented in the function or parameter description. Either do not use the function or parameter that requires a higher LibreOffice version, or upgrade to a newer version of LibreOffice. &amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 6 and @extended = 1 stands for: &#039;&#039;Current Libre Office version less than 7.4.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Catching COM Errors===&lt;br /&gt;
A further step in debugging scripts is to monitor for COM errors, which can be triggered if something fails on the LibreOffice side.&amp;lt;br&amp;gt;&lt;br /&gt;
This UDF has user-COM error functions that allow the user to have a custom user function be called each time a COM error is encountered, or optionally, to either use MsgBox or ConsoleWrite to display the COM error details.&amp;lt;br&amp;gt;&lt;br /&gt;
Instructions for this are found in each respective COM Error function. Each component has its own dedicated COM user error handler, e.g., LibreOfficeWriter has the &#039;&#039;_LOWriter_ComError_UserFunction&#039;&#039;, and also LibreOffice.au3 has its own COM error handler, called: &#039;&#039;_LO_ComError_UserFunction&#039;&#039;. &amp;lt;br&amp;gt; A COM error error handler can display the following information about a COM error: Number, Description, At line, Source, Error Description, though it will not always have all of the values filled in. &lt;br /&gt;
&amp;lt;br&amp;gt;If no ComError_UserFunction has been defined by the Skript, LibreOffice does nothing but handle the COM error, so your script does not crash and set @error and @extended.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
!	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number:&#039;&#039;&#039; 0x80020006&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Unknown name.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;At line:&#039;&#039;&#039; 199&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Source:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Error Description:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
There have been no frequently asked questions so far.&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
To be defined.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15277</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15277"/>
		<updated>2026-02-25T15:22:44Z</updated>

		<summary type="html">&lt;p&gt;Water: Added FAQ and Tools section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is in most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. On top of this, each respective style name retrieval function also lists any styles that have names differing from their internal names in the Remarks section of the header.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&lt;br /&gt;
&amp;lt;p&amp;gt;&#039;&#039;&#039;Example&#039;&#039;&#039;: (&amp;lt;small&amp;gt;No error checking is integrated, as we want to give a quick impression of how easy it is to create an AutoIt script with the LibreOffice UDF.&amp;lt;/small&amp;gt;)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                       ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)               ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello World&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                                ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
These optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Char || Manipulate character styles in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in &#039;&#039;Calc&#039;&#039; documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Database || Manipulate &#039;&#039;Base&#039;&#039; Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in &#039;&#039;Writer&#039;&#039;. || Doc || Manipulate documents in &#039;&#039;Base&#039;&#039;, &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039; document fields. || FootEndNotes || Manipulate &#039;&#039;Writer&#039;&#039; Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate &#039;&#039;Base&#039;&#039; Forms and &#039;&#039;Writer&#039;&#039; Forms and Form Controls. || Frame || Manipulate &#039;&#039;Writer&#039;&#039; Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters! || Num || Manipulate &#039;&#039;Writer&#039;&#039; Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate &#039;&#039;Writer&#039;&#039; and &#039;&#039;Calc&#039;&#039; Page Styles. || Par || Manipulate &#039;&#039;Writer&#039;&#039; Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate &#039;&#039;Base&#039;&#039; Queries. || Range || Create, modify, apply &#039;&#039;Calc&#039;&#039; Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate &#039;&#039;Base&#039;&#039; Reports. || Shapes || Create, modify, and insert shapes in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate &#039;&#039;Calc&#039;&#039; document sheets. || SQLStatement || Create, modify and execute SQL Statements in &#039;&#039;Base&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate &#039;&#039;Base&#039;&#039; Tables and &#039;&#039;Writer&#039;&#039; Text-Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Perform a Find and Replace operation in a Calc Document || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Helper.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Range.au3&amp;lt;br&amp;gt;&#039;&#039;&#039;Or simply&#039;&#039;&#039; #Include LibreOfficeCalc.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Functions - Naming Scheme&lt;br /&gt;
|- &lt;br /&gt;
|| Functions Naming Scheme: || _LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Example: || _LOWriter_ParObjCopy (&amp;quot;Copies&amp;quot; data selected by the ViewCursor) &lt;br /&gt;
|-&lt;br /&gt;
|| Where to find: || LibreOfficeWriter_Par.au3&lt;br /&gt;
|- &lt;br /&gt;
|| Description: || &amp;lt;Module&amp;gt; and &amp;lt;Object&amp;gt; can be found in the tables above. &amp;lt;Function&amp;gt; describes the manipulation to be done (read, modify, copy ...)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Example Code===&lt;br /&gt;
On [[LibreOffice-Examples|this page]] you&#039;ll find code examples for the LibreOffice modules&lt;br /&gt;
Base, Calc, Writer and the Portable LibreOffice version.&lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Debug your Script===&lt;br /&gt;
To debug your script, as with any AutoIt function, the first place to start is checking for @error, and @extended values after each function call. Each function in this UDF has error, extended and return values documented in the function header. &lt;br /&gt;
&lt;br /&gt;
===@error codes===&lt;br /&gt;
Currently there are 6 types of errors:&lt;br /&gt;
* 1. &#039;&#039;&#039;Input errors&#039;&#039;&#039;. This code indicates that the user has input the wrong type of data, or an out-of-bound value.&amp;lt;br&amp;gt;Make sure to re-read the parameters and any appropriate remarks for what is expected.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 1 and @extended = 1 stands for: &#039;&#039;$sFilePath not a string, or file not found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 2. &#039;&#039;&#039;Initialization errors&#039;&#039;&#039;. This code indicates that the UDF failed to create some Object or other necessary item for use in a certain function.&amp;lt;br&amp;gt;These types of errors are generally out of the user’s control, and may indicate something has changed with LibreOffice that has caused this UDF to no longer function appropriately.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 2 and @extended = 1 stands for: &#039;&#039;Failed to create ServiceManager Object.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 3. &#039;&#039;&#039;Processing errors&#039;&#039;&#039;. This code indicates that the UDF failed to perform some action.&amp;lt;br&amp;gt; Maybe something wrong with the UDF, or with LibreOffice. Double check that any input values are appropriate for what you are doing in the function that is failing.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 3 and @extended = 1 stands for: &#039;&#039;No open Libre Office documents found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 4. &#039;&#039;&#039;Property Setting errors&#039;&#039;&#039;. This code indicates that the function failed to set the requested property values.&amp;lt;br&amp;gt; Which properties have failed will be indicated in the returned @extended value, as a Bit value, this means that to determine what property or properties failed to be set you will need to us BitAND and compare the @extended value with the values listed in the function header.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 4 and @extended = 10 stands for: &#039;&#039;Error setting $bReadOnly (2) &#039;&#039;&#039;AND&#039;&#039;&#039; Error setting $bLoadAsTemplate (8).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 5. &#039;&#039;&#039;Printer errors&#039;&#039;&#039;. This code indicates problems with printers.&amp;lt;br&amp;gt; Whether when there were no printers found when retrieving the currently available printer names, or whether there was an issue when setting printer related settings.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 5 and @extended = 1 stands for: &#039;&#039;No default printer found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 6. &#039;&#039;&#039;Version errors&#039;&#039;&#039;. This code indicates that the current version of LibreOffice is too low for a specific function or parameter.&amp;lt;br&amp;gt; Any version limitations are documented in the function or parameter description. Either do not use the function or parameter that requires a higher LibreOffice version, or upgrade to a newer version of LibreOffice. &amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 6 and @extended = 1 stands for: &#039;&#039;Current Libre Office version less than 7.4.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Catching COM Errors===&lt;br /&gt;
A further step in debugging scripts is to monitor for COM errors, which can be triggered if something fails on the LibreOffice side.&amp;lt;br&amp;gt;&lt;br /&gt;
This UDF has user-COM error functions that allow the user to have a custom user function be called each time a COM error is encountered, or optionally, to either use MsgBox or ConsoleWrite to display the COM error details.&amp;lt;br&amp;gt;&lt;br /&gt;
Instructions for this are found in each respective COM Error function. Each component has its own dedicated COM user error handler, e.g., LibreOfficeWriter has the &#039;&#039;_LOWriter_ComError_UserFunction&#039;&#039;, and also LibreOffice.au3 has its own COM error handler, called: &#039;&#039;_LO_ComError_UserFunction&#039;&#039;. &amp;lt;br&amp;gt; A COM error error handler can display the following information about a COM error: Number, Description, At line, Source, Error Description, though it will not always have all of the values filled in. &lt;br /&gt;
&amp;lt;br&amp;gt;If no ComError_UserFunction has been defined by the Skript, LibreOffice does nothing but handle the COM error, so your script does not crash and set @error and @extended.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
!	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number:&#039;&#039;&#039; 0x80020006&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Unknown name.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;At line:&#039;&#039;&#039; 199&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Source:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Error Description:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==FAQ==&lt;br /&gt;
There have been no frequently asked questions so far.&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
To be defined.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15276</id>
		<title>User Defined Functions</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=User_Defined_Functions&amp;diff=15276"/>
		<updated>2026-02-25T08:50:31Z</updated>

		<summary type="html">&lt;p&gt;Water: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
This page is a listing of libraries of &#039;&#039;&#039;user defined functions&#039;&#039;&#039; (UDF). These libraries have been written to allow easy integration into your own scripts and are a very valuable resource for any programmer.&amp;lt;br /&amp;gt;&lt;br /&gt;
This list is probably not complete (406 UDFs on 2026-02-10), but constantly supplemented.&lt;br /&gt;
If you do not find a solution here, ask a new question on the [https://www.autoitscript.com/forum/forum/2-general-help-and-support/ forum].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
The listed UDFs might have been written for older versions of AutoIt. So there is no guarantee that every UDF works smoothly with newer versions.&amp;lt;br /&amp;gt;&lt;br /&gt;
None of the UDFs has been tested by the maintainers of this list so you as a user need to make sure that they deliver the expected results.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;When will an UDF be added to this list?&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
It should meet all/most of the general requirements for UDFs as described [[UDF-spec|here]].&amp;lt;br&amp;gt;&lt;br /&gt;
In addition the following requirements should be met:&lt;br /&gt;
* &#039;&#039;&#039;Documentation&#039;&#039;&#039;: So users can tell what the UDF is intended to do (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Examples&#039;&#039;&#039;: So users can get an idea how to use the UDF. The more the better (&#039;&#039;mandatory&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Operating systems&#039;&#039;&#039;: Should support the latest Microsoft OS (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;AutoIt&#039;&#039;&#039;: Should support the latest version of AutoIt (&#039;&#039;mandatory&#039;&#039;) plus as many predecessors as possible (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
* &#039;&#039;&#039;Author&#039;&#039;&#039;: The author should still be active on the forum so he can reply to questions (&#039;&#039;optional&#039;&#039;)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;What to do when one of your UDFs is missing?&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
Please send a [https://www.autoitscript.com/forum/messenger/compose/?to=7903 PM] to user water. Add a short description of the UDF and a link to your post in the [https://www.autoitscript.com/forum/forum/9-autoit-example-scripts/ Example Scripts] or [https://www.autoitscript.com/forum/forum/49-autoit-projects-and-collaboration/ Projects and Collaboration] forum.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Added in the past two years&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Date !! Section !! Creator !! Description&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-10 || [[User_Defined_Functions#Inter_Process_Communications|Inter Process Communications]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC ] - Inter Process Communication using TCP/IP.&lt;br /&gt;
|-&lt;br /&gt;
| 2026-02-09 || [[User_Defined_Functions#Browsers|Browsers]] || ioa747 || [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt] - Integrate WebView2 into AutoIt via COM. &lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-19 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#Internet_protocol_suite|Internet Protocol Suite]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF] - TCP/UDP Networking Library.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-18 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || BugFix || [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx] - Another kind of group, versatile changeable.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-16 || [[User_Defined_Functions#Security|Security]] || DonChunior || [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred] - Interface to the Windows Credential Management API.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || genius257 || [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast] - Native Win8+ toast notifications.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Media|Media]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-11-03 || [[User_Defined_Functions#Hardware|Hardware]] || Trong || [https://www.autoitscript.com/forum/index.php?showtopic=213296 Monitor] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-09-22 || [[User_Defined_Functions#Misc|Misc]] || UEZ || [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint] - Creating barcodes using the Zint.dll.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-07-27 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || DXRW4E || [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-04-16 || [[User_Defined_Functions#Files.2C_Databases_and_web_connections|Files, Databases and web connections]] || seangriffin || [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-03-22 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-02-26 || [[User_Defined_Functions#Controls|Controls]] || Kanashius || [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-16 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Gianni || [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask] - Easily run and manage many processes.&lt;br /&gt;
|- &lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#GUI_Additions|GUI Additions]] || NoNameCode || [https://www.autoitscript.com/forum/index.php?showtopic=211475 Darkmode] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-12 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Network_Guy || [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-11 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || t0nZ || [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog] - Logs made easy.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
|-&lt;br /&gt;
| 2025-01-02 || [[User_Defined_Functions#Parallel.2Fconcurrent processing|Parallel/concurrent processing]] || argumentum || [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-21 || [[User_Defined_Functions#Controls|Controls]] || Nine || [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker] - Date Range Picker Control.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-10-06 || [[User_Defined_Functions#Maths|Maths]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
|-&lt;br /&gt;
| 2024-03-27 || [[User_Defined_Functions#Script_Coding.2FAnalyzing.2FDebugging|Script Coding/Analyzing/Debugging]] || AspirinJunkie || [https://www.autoitscript.com/forum/index.php?showtopic=211718 FuzzyString] - Fuzzy string comparison and search in string arrays.&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Place the Table of contents (TOC) here --&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Automation ==&lt;br /&gt;
&lt;br /&gt;
===Browsers===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154439 Chrome (by seangriffin)] - Automate the most common tasks in Chrome with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95595 Firefox (by Stilgar)] - A little less support for automation than IE, but still very good.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167661 Firefox (by Danp2)] - Modified newer version of Stilgar Firefox UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/224-firefox-profile-backup/ FireFox Profile Backup 1.0 (by careca)] - Backup or restore your firefox profile. The application searches for the profile in home drive that will be the one to backup.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _FF_AutoLogin (by Stilgar)] - This is a auto-login function and login-function-generator for FireFox and the FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92035 _FF_DM (by Stilgar)] - UDF to control the FireFox Download-Manager (not the download-window).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91650 _FF_FoxBox (by Stilgar)] - UDF to control Fox!Box (A Mozilla Firefox extension for the AVM FRITZ!Box) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91665 _FF_Screengrab (by Stilgar)] - UDF to control Screengrab! (FireFox-AddOn) with FF.au3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124330 _HTML (by Stilgar)] - Get informations from any HTML (XML) source, without any browser.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166542 HTMLDocumentEvents (by SmOke_N)] - Track IE document events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167035 IEEx (by SmOke_N)] - IE extended library with some Javascript options.&lt;br /&gt;
* Internet Explorer (by DaleHohm et al.) - IE library that is now supplied with a standard AutoIt install.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153520 IUIAutomation MS framework (by junkew)] - IUIAutomation MS framework to automate chrome, FF, IE etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149203 NavInfo (by Nessie)] - With this UDF you can check if a specified browser/software is installed and which version is being used.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=61090 Opera (by MrCreatoR,)] - Automate the most common tasks in Opera with this UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191990 WebDriver (by Danp2)] - W3C compliant Webriver UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213375 WebView2AutoIt (by ioa747)] - AutoIt WebView2 Component (COM Interop).&lt;br /&gt;
&lt;br /&gt;
===Microsoft Office===&lt;br /&gt;
Some features of Microsoft&#039;s Office products are proprietary and cannot readily be manipulated.  Sometimes workarounds are required.&amp;lt;br&amp;gt;&amp;lt;u&amp;gt;[[Known issues with Microsoft Office automation.|This page]]&amp;lt;/u&amp;gt; is dedicated to identifying those issues, provide explanations and list solutions or workarounds.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32144 Microsoft Office Access (by randallc)] - Automate Microsoft Access.&lt;br /&gt;
* Microsoft Office Excel (by water et al.) - This UDF is included in AutoIt. Link to the [[Excel_UDF|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135312 Microsoft Office Excel Charts (by water, GreenCan)] - Creating charts using Microsoft Excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204034 Microsoft Office Excel Pivot Tables (by SudeepJD)] - Create and Update Excel Pivot Tables and Charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126305 Microsoft Office Outlook (Items) (by water)] - Automate Microsoft Outlook Items. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202451 Microsoft Office Outlook (GUI) (by water)] - Automate Microsoft Outlook GUI. Link to the [[OutlookEX_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197346 Microsoft Office Outlook Tools (by water)] - Built on top of the OutlookEX UDF it offers some often needed extended functionality (import/export ics/vcf files etc.). Link to the [[OutlookTools|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50254 Microsoft Office PowerPoint (by Toady)] - Automate Microsoft PowerPoint.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=178783 Microsoft Office PowerPoint (by water)] - Automate Microsoft PowerPoint. Link to the [[Powerpoint|documentation]] pages.&lt;br /&gt;
* Microsoft Office Word (by water et al.) - This UDF is included in AutoIt. Link to the [[Word_UDF|documentation]] pages.&lt;br /&gt;
&lt;br /&gt;
===OpenOffice/LibreOffice===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210514 LibreOffice Suite (by donnyh13)] - A huge list of functions for LibreOffice Base, Calc and Writer. Link to the [[LibreOffice|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151530 OOo/LibO Calc (by GMK)] - OpenOfficeCalc UDF (works also for Libre Office).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185932 OpenOffice/LibreOffice Spell Checker (by GMK)] - Function to validate words, and show spell alternatives.&lt;br /&gt;
&lt;br /&gt;
===Other Applications===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106163 Active Directory (by water)] - Extensive library to control and manipulate the Windows active directory ([https://www.autoitscript.com/forum/files/file/355-ad-active-directory-udf/ Download]). Link to the [[Active_Directory_UDF_-_General|documentation]] pages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87956 Java (by seangriffin)] - Creates an access bridge between your application and a Java application. Allowing you to automate some Java applications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86574 SAP (by seangriffin)] - SAP business management automation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149540 SAPWizard (by ozmike)] - SAPWizard UDF.&lt;br /&gt;
&lt;br /&gt;
== Script Coding/Analyzing/Debugging ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209528 ArrayCombinations (by AspirinJunkie)] - Different ways of composing elements of a set.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155442 ArrayMultiColSort (by Melba23)] - Function to sort a 2D array on several columns.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209523 ArrayPlus (by AspirinJunkie)] - Functions for flexible Array handling (create, extract, rebuild, sort, filter, find, print)&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180467 ArrayWorkshop (by czardas)] - Multidimensional array functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=59174 Associative array functions (by Nutster)] - Manage a version of associative arrays in single AutoIt variables. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=198929 AutoIt error logger (AUERLO) (by user4157124)] - File- and stdout (etc.) output of messages, errors, exit method and -code, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110379 AutoItObject (by ProgAndy and others)] - Brings the Object Orientation programming paradigm to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112879 AutoIt Syntax Highlight (by MrCreatoR)] - Highlights AutoIt v3 syntax code to html/bbcode format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191488 cDebug (by c.haslam)] - Dumps the values of all AutoIt subtypes and expressions including nested arrays, DLL structs and maps.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212711 Debug Monitor (by Nine)] - Read the debug stream coming from any process without additional DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195882 ErrorLog (by mLipok)] - Logs program activities and errors to different output locations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211718 FuzzyString (by AspirinJunkie)] - Fuzzy string comparison and search in string arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143167 GetOpt (by dany)] - Parse GNU and DOS style command line options similar to getopt().&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195100 Gollog (by t0nZ)] - Logs made easy.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156196 Log4a (by zorphnog)] - Logging library loosely based upon the log4j and NLog libaries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195862 Loga (by Danyfirex)] - Simple logging library to keep track of code with an integrated console.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119032 Log UDF (by Yashied)] - Create a text log files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202832 OnDebugMsgBox (by argumentum)] - Catch the dreaded &amp;quot;AutoIt Error&amp;quot; MsgBox and prettify or hide it.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209529 Set (by AspirinJunkie)] - Provides a set data type and brings the corresponding mathematical functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200660 Variants and Safearrays (by LarsJ)] - Create/access/process Variants and SafeArrays.&lt;br /&gt;
&lt;br /&gt;
=== Inter Process Communications ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202485 AppInteract (by MrCreatoR)] - Reliably pass arrays or other types between processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213454 AutoIt-IPC (by Kanashius)] - Inter Process Communication using TCP/IP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=205109 AutoItSharedData (by SEuBo)] - Create a shared data storage, a simple AutoItObject-Object, using AutoItObject_Internal.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188991 Autoit-Socket-IO (by tarretarretarre)] - Event driven TCP/IP wrapper inspired by Socket.IO with focus on user friendliness and long term sustainability.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126936 Container (by MrCreatoR)] - Scripts interaction method. Allows to transfer whole arrays as data, and even COM objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=55994 DDEML (by doudou)] - Use your AutoIt script as DDE client or server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193277 FMIPC (by argumentum)] - IPC via FileMapping.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127615 Interprocess (by JScript)] - Remotely execute a function in another script (using Mailslot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=193158 IPC_IO (by JohnWIlling)] - IPC library supporting multiple connection types (such as: Named Pipe, File, TCP, SharedMemory, MailSlot).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202618 IPC Techniques through ROT Objects (by LarsJ)] - Implementing IRunningObjectTable Interface.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106710 Mailslot (by trancexx)] - IPC using Mailslots.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204734 Overlapped Named Pipe IPC (by Nine)] - Very fast interprocess communication that could be used between VBS or AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169797 Pool - Post Office for Organized Labour (by RTFC)] - Provides multiple AutoIt processes with an infrastructure for exchanging messages, data, and remote-control instructions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202587 WCD IPC (by Nine)] - Framework for Inter Process Communication using Windows Messages WM_COPYDATA.&lt;br /&gt;
&lt;br /&gt;
=== Parallel/concurrent processing ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=199177 Fork (by argumentum)] - Run something and not get the main loop stuck waiting, unresponsive, as if frozen.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186853 _Multiprocess (by jguinch)] - Run several external programs at the same time and retrieve the exit code of each process.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192157 MultiTask (by Gianni)] - Easily run and manage many processes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=196993 MultiTasking (by Network_Guy)] - Enables execution of a function in a separate process as many times needed with or without pausing the main script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211683 PMT (by Nine)] - Pseudo Multi Threading - as close as possible with simple AutoIt.&lt;br /&gt;
&lt;br /&gt;
== Files, Databases and web connections ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=180850 ADO (by mLipok)] - A modifed version of the _SQL UDF to access all kind of databases (MSSQL, MySQL, PostgreSQL, SQLite, MS ACCESS, XLS, TXT, and many other which use ADO and ODBC).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105875 ADODB (by spudw2k)] - ADODB Example.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 AXML (by Aipion)] - This is a Wrapper for Pugixml, made with C++.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145142 DBF (by funkey)] - dBase database read and write with DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/topic/114406-csv-file-to-multidimensional-array/#findComment-799820 CSV (by ProgAndy)] - Read/write CSV files to/from 2D arrays.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197909 CSV (by seangriffin)] - Manipulate CSV files using SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155748 CSVSplit (by czardas)] - Convert to and from CSV format.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151116 DIF (by willichan)] - Read/write DIF (Data Interchange Format) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119238 Excel file generation (by jerome)] - Excel file generation (multi-sheet workbook) without the need to have Excel installed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143866 Excel XML (by FireFox)] - Work with SpreadsheetML (Open XML file formats).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155905 EXml (by jdelaney)] - Create Excel file (SpreadsheetML) through &amp;quot;Microsoft.XMLDOM&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116072 EzMySql (by Yoriz)] - Use MySQL Databases with AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148232 _FileGetProperty (by BrewManNH)] - Retrieve properties of a file.Xml2Json&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94920 FireBird (by eltorro)] - FireBird, Interbase DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156502 IniEx (by DXRW4E)] - Ini file processing functions without the limits of AutoIt&#039;s default Ini functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197421 jq (by TheXman)] - Brings the power and flexibility of jq (an open-source command-line based JSON processor) to AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209502 JSON (by AspirinJunkie)] - Interacting with JSON data in AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104150 JSON (by Gabriel13)] - RFC4627 compliant JSON encode/decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148114 JSON (by Ward)] - JSMN - A Non-Strict JSON UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=156794 JSON (by ozmike)] - Bridge to Native Windows JSON plus OO extension for AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212833 JsonC (by seangriffin)] - JSON UDF using JSON-C for high performance parsing of JSON data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173797 JSONgen (by Jefrey)] - Generate JSON.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127101 MS SQL (by TheLuBu)] - MSSQL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51952 MS SQL (by ChrisL)] - _SQL. ADODB Connection.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20814 MySQL (by cdkid)] - MySQL relational database management system.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85617 MySQL (by ProgAndy)] - MySQL UDFs (without ODBC - working with libmysql.dll).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=122360 MySQL (by James)] - MySQL ODBC Connector.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187223 romaSQL (rynow)] - Built on the concept of Laravel Query &amp;amp; doctrine. Connection string is based on ADODB / ODBC.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143331 Sharepoint 2007/2010 (by schoppet)] - Access the SOAP-Webservices of Sharepoint 2007/2010.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17099 SQLite (by ptrex)] - SQLite is a library that implements a self-contained, embeddable, zero-configuration SQL database engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=142977 SQLite Array Functions (by SmOke_N)] - SQLite Array Functions - a faster method for unique arrays and sorting methods.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140521 SQLite - Database (by PhoenixXL)] - UDF for SQLite so that beginners will also be able to do the stuff.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157853 SQLiteEx (by 57ar7up)] - SQLiteEx UDF v0.5.1 - Simplest work with SQLite.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163633 Xbase I/O (by RTFC)] - Transfer data between Xbase Data file (*.dbf) and AutoIt array written in pure AutoIt (no SQL, no ADO, no dlls, no external dependencies).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209526 xlsxNative (by AspirinJunkie)] - Read and write xlsx files without excel.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=19848 XML DOM Wrapper (by eltorro)] - Supports CRUD operations on XML. Including XSL and XPath.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=176895 XML (by mLipok)] - New version of XML DOM Wrapper, with many new features.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208932 Xml2Json (by TheXman)] - Transform XML to JSON.&lt;br /&gt;
&lt;br /&gt;
== Data compression ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=85094 7z, zip, gzip, bzip2, tar (by rasim)] - Extensive library that uses a external DLL that must be provided with the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=92958 gZip (by Zinthose)] - Based on the parsing of gZip.exe output. It can work with memory, it doesn&#039;t work with files. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87441 LZMA (by trancexx)] - LZMA (Native Windows).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138838 Package (by Yashied)] - Package UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129529 pZip (by asdf8)] - PureZIP_L library UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=76176 UnRAR (by rasim)] - UnRAR.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=17727 XZip (by eltorro)] - Another UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161847 XZip (by mLipok)] - UDF for &amp;quot;XStandard XZIP Component&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44524 Zip plugin (by eltorro)] - Zip plugin.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73425 ZIP (by torels)] - ZIP UDF in pure AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116565 zip (by wraithdu)] - Create ZIP files and unpack ZIP files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135565 ZIP (by joakim)] - ZIP STRUCTS UDF (from scratch).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87284 ZLib (by monoceres)] - Based on ZLib.dll. It can compress/uncompress data in memory, it doesn&#039;t work with files.&lt;br /&gt;
&lt;br /&gt;
== Encryption and hash ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81332 _Base64Encode, _Base64Decode (by trancexx)] - Fast _Base64Encode, _Base64Decode.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=153246 Base91 and Base128 (by Beege)] - Base91 and Base128 functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155538 Codecrypter (by RTFC)] - Encrypt scripts without placing the key inside the script.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=201002 Cryptography API: Next Gen (by TheXman)] - Microsoft&#039;s long-term replacement for their CryptoAPI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210901 Enigma (by willichan)] - Simple encryption based on the Enigma Machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203990 GDPR (by mLipok)] - Functions to encrypt/decrypt strings and files with the GDPR in mind.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95558 Hashes for files (by trancexx)] - Fast RC32, MD4, MD5, SHA1 calculation for big files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107784 TrueCrypt (by FuryCell)] - TrueCrypt UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140737 WinTrust (by kasty)] - verify the integrity of a file with its embedded signature or a given catalog.&lt;br /&gt;
&lt;br /&gt;
== GUI Additions ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213202 Au3Toast (by genius257)] - Native Win8+ toast notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97241 3D Pie chart (by WideBoyDixon)] - 3D Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173924 Chart_UDF (by Kanashius)] - This UDF can be used to Display bar charts in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96258 ContextHelp (by Yashied)] - Management of context help ([https://www.autoitscript.com/forum/index.php?showtopic=72152-contexthelp/ original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211475 DarkMode (by NoNameCode)] - Dark mode for AutoIt&#039;s Win32GUIs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109096 ExtMsgBox (by Melba23)] - A very customisable replacement for MsgBox.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194256 GroupEx (by BugFix)] - Another kind of group, versatile changeable.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105582 GUICtrlOnChangeRegister (by Mat)] - Call a function when an edits content is changed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145149 GUIExtender (by Melba23)] - Expand and contract sections of your GUI ([https://www.autoitscript.com/forum/index.php?showtopic=117909 original]).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=197654 GuiFlatButton (by kurtykurtyboy)] - Change colors of regular buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=119505 GUIFrame (by Melba23 &amp;amp; Kip)] - Divide a GUI into adjustable frames.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=144207 GUI Panel (by FireFox)] - Manage child GUIs as panel ctrls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113723 GUI Scrollbars (by Melba23)] - Automatically sized scrollbars with a single command.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161184 MetroGUI (by BBs19)] - Windows 10 style buttons, toggles, radios etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 Modern tray menu (by Holger)] - Allows the creation of modern, fancy GUI and tray menus with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194693 MTSkin (by Taskms4)] - Simply create modern looking GUIs (borderless GUI, Interactive menu panel (with mouse-over detection), a bunch of skins).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182136 Notifications (by S3cret91)] - Display permanent desktop notifications.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=136149 Notify (by Melba23)] - Small notifications on the edge of the display.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161750 Pie chart (by Andreik)] - Pie chart.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75429 Real Vista Aero Glass (by James)] - Real Vista Aero Glass UDF - you can apply glass effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212767 Round Corner UDF (by Nine)] - Uses simple basic GUI functions to create round corners without the use of GDI+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=71811 SetOnEvent (by martin)] - Provides an easy way for an event to call functions with parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=103871 _SysTray (by wraithdu)] - Get info about and manipulate Systray icons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108445 Toast (by Melba23)] - Small message GUIs which pop out of the Systray.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=110003 Tray Icon Bar Graph (by BeeGee)] - Creates a scrolling bar graph as the tray icon.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=132864 Uskin (by JScript)] - Allows you to skin your GUI using the Windows &#039;&#039;.MSstyles&#039;&#039; files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191821 Wi3SMenu (by NHD)] - Create a slide menu with Windows 10 style. Supports color, icon and opacity.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=129196 WinSnap (by Beege)] - Automatic Window Alignment by applying that &amp;quot;snappy edge&amp;quot; effect to your GUI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32494 XSkin (by Valuater)] - Allows skinning of your GUI and to apply custom skins.&lt;br /&gt;
&lt;br /&gt;
=== Controls ===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202529 BrowseForFolder (by MrCreatoR)] - Handle SHBrowseForFolderW with more options, such as multi selection (checkboxes), window position, controls text and more. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=146406 Calendar (by jmon)] - Calendar UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125293 ChooseFileFolder (byMelba23)] - Single and multiple selections from specified path treeview listing.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=96464 Colorpicker (by Yashied)] - Create a button for the user to select a color.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=204283 Date Range Picker (by Nine)] - Date Range Picker Control.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=123409 Explorer Frame UDF (by Beege)] - Takes any frame created by GUIFrame and turns it into a MS-Windows like Explorer window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173926 FileExplorer Treeview and Listview (by Kanashius)] - Create a Treeview and/or Listview able to browse files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173929 GDIPlus Slider UDF (by Kanashius)] - This UDF can be used to create a slider with an imagebackground and an image to move.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=79412 Graph control (by andybiochem)] - Easily create and show bar chart and line charts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=104399 GraphGDIPlus UDF (by andybiochem)] - Easily create and show bar chart and line charts with GDI+ to take advantage of double-buffering.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105682 GUICtrlCreateFinder (by Mat)] - Allows you to create a window finder control like the one seen in AutoIt Window Info.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=107965 GUIHotkey (by Mat)] - UDF for using native hotkey controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182492 GUIListViewEx (by Melba23)] - Insert, delete, move, drag, sort, edit and colour ListView items.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111438 GUIPager (by Mat)] - Create and control native pager controls.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=20967 GUI/Tray Menu (by Holger, LarsJ, AZJIO)] - GUI/Tray Menu with icons and colors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166594 GUITreeViewEx (by Melba23)] - Check/clear parent and child checkboxes in a TreeView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=90598 Hotkey input control (by Yashied)] - Hotkeys Input Control UDF Library (Non-native).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173932 ListView Edit UDF (by Kanashius)] - This UDF can be used to simply edit an Listview.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=109355 ListView - Explorer like ListView UDF (by Beege)] - This UDF simplify creating MS Explorer-like ListViews.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143711 Marquee (by Melba23)] - Make tickertape info bars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=143380 Predict Text UDF (by PhoenixXL)] - Sub classes the edit control and matches the current word through the Database &amp;amp; sets selection in accordance.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163939 Progressbar new style (by Muzaiyan)] - New styles for your progress bar.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74649 Progressbar with GDIplus (by ProgAndy)] - You even can use full textured images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151636 RestrictEdit_SRE UDF (by PhoenixXL)] - Restrict the text that can be entered in an editbox through a String Regular Expression.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128242 Ribbon (by trancexx)] - UDF for Windows Ribbon framework.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114034 StringSize (by Melba23)] - Automatically size controls to fit the text you want to put in them.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126958 Syslink (by Yashied)] - Provides a convenient way to embed hypertext links in a window.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=105814 Table (by andybiochem)] - Table UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211024 Toggle Button (by Andreik)] - Create simple toggle buttons.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=125251 TVExplorer (by Yashied)] - Allows to create TreeView (TV) Explorer controls that display a tree of files and folders.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=190659 Virtual Listview (by LarsJ)] - Virtual Listview for large amounts of data with a large number of rows.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=195053 Windows Message Monitor (by LarsJ)] - Monitor Windows Messages of a window or control.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118317 Battery UDF (by Yashied)] - Retrieves various information and current status of the battery(s).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154727 BuildPartitionTable (by RTFC)] - Scans a physical drive&#039;s partition table and returns a partition_table, allocation_table and volumes_table.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155674 CommAPI (by therealhanuta)] - Serial and parallel communication (COM port, RS-232, LPT port) - without installing DLL&#039;s (using Windows API calls).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77731 Device Management (by weaponx)] - Device Management API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97487 DirectShow (by monoceres)] - DirectShow UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164700 DirectSound (by eukalyptus)] - DirectSound UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164701 Direct2D (by eukalyptus)] - Direct2D UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99713 Drive Info (by NerdFencer)] - Gathers drive info for Hard Drives, Disk Drives, and Floppy Drives.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138989 FritzBox (by Allow2010)] - _FB_Tools - manage your FritzBox from Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121084 I/O Port Functions (by Ascend4nt)] - Input/Output UDF for interacting with ports (x64 Parallel Port, Keyboard etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203207 MediaDevice (by Danyfirex)] - Transfer files to portable devices like phones, storages.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php=showtopic=213296 Monitor (by Trong)] - Advanced monitor management and multi monitor utilities.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154350 Monitor Configuration (by jaberwacky)] - Monitor Configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155469 Mouse (by AlmarM)] - AutoIt powered mouse events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=147325 MouseTrapEvent (by ozmike)] - MouseTrapEvent UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149083 NetInfo (by Nessie)] - UDF for test internet download speed and upload speed.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155539 Network configuration (by jguinch)] - Network configuration UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182684 Nitgen (by Jefrey)] - UDF to work with Nitgen fingerprint readers that use NGenBio SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=210968 Printer Manager (by Nine)] - Manage printers with winspool.drv DLL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=155485 Printers management with WMI (by jguinch)] - Allows to manage printers: add/delete printer, driver, port, or obtain configuration, set default printer ...&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=189190 Serial port UDF / COM port UDF (by MazeM)] - Another UDF for the serial port. It is very similar to CommAPI using kernel32.dll, but all code is packed into a single file without any dependencies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=128546 Serial Port/COM (by martin)] - Serial Port /COM Port UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27755 SMARTDRIVE (by ptrex)] - SMART drive Analysis.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158640 SPI Hardware Interface (by Blinky)] - Communicate with the MAX335 chip using the SPI protocol via the LPT (printer) port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=8188 VISA/GPIB (by Angel)] - VISA/GPIB library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68866 Webcam (by LIMITER)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70857 Webcam (by ludocus)] - Webcam UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91018 WiFi (by MattyD)] - Low level control over your wireless LAN.&lt;br /&gt;
&lt;br /&gt;
== Information gathering ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29404 Computer information (by JSThePatriot)] - A general purpose library to get various details about a Windows machine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151920 NetworkStatistics (by Ascend4nt)] - Network Interface Info, Statistics, and Traffic.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=54039 WinPcap (by JRSmile)] - Wrapper for the windows packet capture library WinPcap.&lt;br /&gt;
* [https://opensource.grisambre.net/pcapau3/ WinPcap (by Nicolas Ricquemaque)] - A library to access the main functionalities offered by the WinPcap driver.&lt;br /&gt;
&lt;br /&gt;
== Internet protocol suite ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207859 cURLX64 (by Beege)] - cURL UDF with x64 support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=137456 cURL (by seangriffin)] - A UDF for transferring data with URL syntax.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=187718 HTTP lib (by Jefrey)] - HTTP lib (GET, POST and upload) UDF to simplify HTTP requests, mainly when dealing about POST data or file uploads.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202895 HttpApi (by TheXman)] - HTTP Server API enables applications to communicate over HTTP without using MS Internet Information Server (IIS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=40243 IMAP (by mikeytown2)] - IMAP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108422 IMAP4 (by Tipulatoid)] - IMAP4 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=43515 IRC (by McGod)] - A lightweight library for communicating with IRC servers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159285 IRC (by rcmaehl)] - IRC UDF - Updated Version of Chips&#039; IRC UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=22838 POP3 (by Apzo)] - POP3 library for retrieving email messages. Not compatible with Gmail because it uses SSL.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167339 POP3 (by mLipok)] - POP3 UDF According to the 1939 RFC, modified version with Quoted Printable decoder.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154530 Prowl (by mrflibblehat)] - Push notifications to iPhone, iPod touch or iPad using Prowl (Growl client for iOS).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=138095 SFTP (by Lupo73)] - UDF to support SFTP protocol using PSFTP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154054 Socket UDF (by funkey)] - Socket UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=23860 SMTP (by Jos)] - Smtp Mailer That Supports Html And Attachments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167292 SMTP Mailer UDF (by mLipok)] - Smtp Mailer That Supports Html And Attachments - Modified Version with support to save EML files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81687 SNMP (by enaiman)] - SNMP_UDF for SNMPv1 and SNMPv2c.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70759 SNMP - MIB protocol (by ptrex)] - Reading toner status from SNMP device with WMI.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166579 SSH (by jeanphile)] - Use the SSH protocol very easily in your code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=185329 STUN (by j0kky)] - STUN is a protocol that permits you to know your external IP but, more interesting, your external port associated to your internal port.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184817 SyslogSend (by Irios)] - This allows sending (BSD) messages to a syslog server using UDP.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169774 TCPServer (by Jefrey)] - Multi client, event-based, able to bind console app to socket.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=57022 UPnP Protocol (by ptrex)] - UPnP - Read and Control your devices in side out.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=84133 WinHTTP (by trancexx)] - Access the HTTP protocol for creating GET and POST requests and submitting them with conforming standards, cookies not supported.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=77503 WinInet (by -Ultima-)] - Access standard Internet protocols (FTP, Gopher and HTTP). Supports GET/POST requests and cookies.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181645 Winsock (by j0kky)] - Create client/server application using native winsock functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213322 WinSockUDF (by Trong)] - TCP/UDP Networking Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=191954 WSA_NBTCP (by ripdad)] - Windows Sockets API - Non-Blocking Transmission Control Protocol.&lt;br /&gt;
&lt;br /&gt;
== Maths ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170658 Advanced Math UDF (by scintilla4evr)] - Advanced mathematical functions (primes, number sequences, interpolate, calculate values of functions like Riemann zeta etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=102686 Advanced rounding (by Mat)] - Support for different measures of accuracy and 8 ways to resolve tie breaks.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83529 Big number (by eukalyptus)] - Make calculations with extremely large numbers that AutoIt normally is not able to support.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=106551 Decimal To fraction (by Malkey)] - Converts any decimal number to a fraction. Example: 1.2 to 6/5.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162921 Eigen4AutoIt (by RFTC)] - Allows to perform fast matrix operations on large numerical data sets, and much more ....&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212357 Linear Algebra (by AspirinJunkie)] - BLAS/LAPACK-based Linear Algebra and nonlinear adjustment UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=140789 MathsEx UDF (by PhoenixXL)] - Functions for Carrying Out More Advanced Mathematical Calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81189 Number base conversion (by james3mg)] - From, to and between positive bases less than 63 (decimals supported).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117156 NumToWord (by Mat)] - Convert numerals to a human readable string.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=108803 Polynomials (by Mat)] - Functions for using polynomials.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83091 Primes (by jennico)] - Many functions dealing with prime number generation and calculations.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94770 Roman Numerals (by AZJIO)] - Roman Numerals.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98160 Root function (by Mat)] - Working out real roots of numbers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=209527 Stat (by AspirinJunkie)] - Statistics for Autoit.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163899 StringAPL (by minx)] - inline APL interpreter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=82722 Trigonometric and math functions (by trancexx)] - _ATan2(), _Cosh(), _Frexp(), _Hypot(), _Ldexp(), _Logb(), _Sinh(), _Tanh().&lt;br /&gt;
&lt;br /&gt;
== Media ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=95357 FreeImage library (by ProgAndy)] - Various operations on images, such as rotate, resize, flip.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=212899 imagesearchdll (by Trong)] - Library for fast, reliable, and precise image searching.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127263 HtmlHelp (by Geodetic)] - HtmlHelp functions for context-sensitive help from CHM (compiled HTML) files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116009 HyperCam (by seangriffin)] - HyperCam (Screen Recording) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=182535 HyCam2 (by willichan)] - Automation for HyCam2 screen recording utility.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50608 OCR (by ptrex)] - Real OCR in AU3 - MODI with MS Office 2003.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=89542 OCR (by seangriffin)] - Tesseract (Screen OCR) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206133 OCRSpace (by MrKm)] - Convert Images to text with the OCRSpace API. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51054 Printer controller (by martin)] - Print text in any font, size and colour at any position on the page, draw lines, curves, elipses, pies in any colour, and print images.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=73993 Printing (by GRS)] - Printing from AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202621 QRCreator (by BugFix)] - Simple QR-code creation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161831 RTF_Printer (by mLipok)] - Printing RichEdit in the background.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=94834 Simple DirectMedia Layer (by AdmiralClaws)] - Adds support for joysticks, CDs, 2D graphics, timers. See [https://www.libsdl.org/ SDL website] for more information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=207324 UWPOCR (by Danyfirex)] - Universal Windows Platform Optical Character Recognition API.&lt;br /&gt;
&lt;br /&gt;
===Graphics and image===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202987 AutoYolo3 (by smartee)] - Real-Time Object Detection using YOLOv3 wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113881 au3Irrlicht2 (by JRowe)] - Combining Irrlicht and AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=86748 AVI writing udf (by monoceres)] - Create uncompressed avi&#039;s from bitmap files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27362 Bitmap Library (by evilertoaster)] - Bitmap Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=202663 GIF animation (by Nine)] - Fast cached GIF animation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150231 GTK+  (by prazetto)] - GTK+ Framework | Widgets.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=13096 ImageGetInfo (by Lazycat)] - Read info from JPEG, TIFF, BMP, PNG and GIF - size, color depth, resolution.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/471-image-search-udf Image Search (by VIP)] - Search for an image on the desktop. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70506 IrrLicht (by A. Percy)] - A 3D graphics engine suitable for creating games.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160732 OpenCV (by myliseJ)] - UDF for the OpenCV library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206432 OpenCV v4+ (by smbape)] - OpenCV UDF with support for OpenCV v4+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=151011 OpenGL (by LarsJ)] - OpenGL without external libraries etc. For JPEG files it also retrieves various Exif information.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=148129 OpenGL (2.0) (by minx)] - New set of UDFs for OpenGL + AutoIt.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152950 S3D (by Starg)] - Draw simple 3D graphics with GDI+.&lt;br /&gt;
&lt;br /&gt;
===Players===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114143 VLC (by seangriffin)] - VLC (Media Player) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=91316 VLC Media Player (by ptrex)] - VLC Media Player.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=27352 WMP (by ConsultingJoe)] - Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=44008 WMP - Media Controls (by CFire)] - Another Windows Media Player UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=203154 WMP - GUI Control (by SudeepJD)] - IE based WMP Control.&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83481 BASS Function Library (by BrettF)] - Sound and Music via wrappers for Bass, BassEnc, Bass FX, BassSFX, BassAsio and BassCd DLLs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173808 libZPlay (by Danyfirex)] - Multimedia library for playing mp3, mp2, mp1, ogg, flac, ac3, aac, oga, wav and pcm files and streams.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=37072 MIDI (by eynstyne)] - MIDI UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208116 MIDI (by MattyD)] - Wrap of the Windows MIDI functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114742 SAPIListBox (by seangriffin)] - SAPIListBox (Speech Recognition) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=100439 TTS (by Beege)] - Text-to-Speech UDF.&lt;br /&gt;
&lt;br /&gt;
== PDF ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162195 Acrobat Reader - ActiveX Viewer (by mLipok)] - Make your own PDF Viewer GUI with Acrobat Reader ActiveX COM Object &amp;quot;AcroPDF.PDF.1&amp;quot;.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164469 Debenu PDF Viewer SDK (by mLipok)] - A collection of functions to display PDF files in your applications using Debenu PDF Viewer SDK.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160875 Debenu Quick PDF Library (by mLipok)] - A collection of functions for Debenu Quick PDF Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75832 FoxIt Reader (by ptrex)] - PDF Reader in AU3.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=118827 MPDF (by taietel)] - Create PDF from your application.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=42776 PDFCreator (by ptrex)] - Automation of PDFCreator allows you to create and manipulate PDF files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170550 PDFCreator (by mLipok)] - UDF for PDFCreator v1.x.x with working EVENTs Handler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=32261 _StringToPDF (by Tam0r)] - Write a string to a PDF file and specify font size, type etc.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145158 Firewall (by JLogan3o13)] - Control and manipulate the Windows Firewall (enable/disable, Exclusions list, enable/disable ports etc.).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=194015 Firewall policy2 (by Bilgus)]- Provides access to the firewall policy for Windows Vista+.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150819 VirusTotal (by Danyfirex)] - VirusTotal API 2.0 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=213321 WinCred (by DonChunior)] - Interface to the Windows Credential Management API.&lt;br /&gt;
&lt;br /&gt;
== Social Media and other Website API ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=159254 Cex.io (by AquilesCrespo)] - UDF script for using with the web api from https://cex.io/ server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169333 CrowdinAPI (by mLipok)] - Uses the [https://crowdin.com/page/api crowdin.net website API] for some functions (create projects, add and update files, download translations or integrate localization).&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/290-dropbox-authenticator/ Dropbox authenticator (by Gimerly)] - Dropbox authenticator.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158106 Easypost (by dcat127)] - Print USPS Postage Labels.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=114801 eBay (by seangriffin)] - eBay UDF (functions GetItemStatus and GetSingleItem from the &amp;quot;Shopping API&amp;quot;).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=141340 Gmail (by PhoenixXL)] - Remote Gmail (UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192422 Gmail API (by Ascer)] - Automate communication with Gmail using oAuth 2.0 security. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=98504 Google Functions (by Beege)] - Google Functions (Suggestions, Definitions, Translate, Convert).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=115437 Google Maps (by seangriffin)] - Google Maps UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=70675 iTunes (by torels)] - iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101802 iTunes (by Beege)] - Another iTunes UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150985 No-IP (by Nessie)] - Simply update your no-ip hostname(s) and retrieve the ip address of an no-ip address.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=192391 oAuth (by Ascer)] - Open standard for access delegation, commonly used to grant websites or applications access to other websites.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=150838 PasteBin (by mrflibblehat)] - Pastebin UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121767 Skype (by FireFox)] - Skype4COM provides an ActiveX interface to the Skype API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113234 Teamspeak 3 (by chipDE)] - Teamspeak 3 UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186944 TeamViewer API (by mLipok)] - A collection of function for use with TeamViewer API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186381 Telegram Bot (by LinkOut)] - UDF for [https://core.telegram.org/api Telegram messenger API].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=166547 TVmaze.com API (by BBs19)] - TVmaze.com API UDF (TV-Series).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=116600 Twitter (by seangriffin)] - Manage Twitter.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149247 Yahoo Weather (by Nessie)] - Yahoo Weather API.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=112775 Youtube Uploader (by BrettF)] - AYTU - AutoIt Youtube Uploader.&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50880 ACL (by ptrex)] - Set ACL on windows Objects.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134508 ACL (by FredAI)] - Do most everything with the DACL and ownership on all types of objects: Files or folders, Registry keys, services, Kernel and WMI objects, etc.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=206400 BITS (by DonChunior)] - Background Intelligent Transfer Service to download files from or upload files to HTTP web servers and SMB file shares.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=184937 CertUtil (by mLipok)] - Wrapper for windows certutil.exe (command-line program that is installed in Windows as part of Certificate Services).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=113560 FileSystemMonitor (by seangriffin)] - Monitors the file system by recording all file system events occurring within a given path.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111018 ITaskBarList (by Beege)] - ITaskBarList UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=74118 Local account (by engine)] - Manage local accounts.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161193 Magnifier Functions (by Ascend4nt)] - Exposes most of the useful Magnifier API functions available since Windows Vista.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=75250 Registry (by engine)] - Windows Registry UDFs.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=50551 Registry (by seanhart)] - RegWriteAllUsers / RegDeleteAllUsers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=80201 Service (by arcker)] - Build your own service with AutoIt code.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=124508 Startup (by guinness)] - Create Startup entries in the Startup Folder or Registry.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164756 SCCM (by JLogan3o13)] - Systems Center Configuration Manager Library.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=134628 System restore (by FredAI)] - System restore UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=186111 SubstWrapper (by mLipok)] - Wrapper for windows subst.exe command - (Associates a path with a drive letter).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=135994 Taskplanner/Taskscheduler COM (by Allow2010)] - an UDF for using the Windows Taskplaner / Task Scheduler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=83355 Task Scheduler (by dbzfanatic)] - Task Scheduler UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=200068 TaskScheduler (by water)] - Brushed up Task Scheduler UDF. Link to the [[TaskScheduler|documentation pages]].&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173934 TTS (by Kanashius)] - Used with SAPI Automation Object - text-to-speech (TTS) engine.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=158377 UAC (by AdamUL)] - User Account Control (UAC) UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=175719 Utter (by Surya)] - Utilizing more of SAPI (Speech Recognition UDF).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=127075 WIMGAPI (by Homes32)] - Manipulate Windows Image Files (.wim) without ImageX.exe.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=28436 Windows Events (by Emperor)] - Create your own Windows events.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=6487 Windows Service Control functions (by SumTingWong)] - Some limited functions to control services (create, start, stop, delete, check ...).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81880 Windows Services (by engine)] - Windows Services UDF.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163178 WRMF (by Luigi)] - WRMF - Windows Registry Monitor Call Function.&lt;br /&gt;
&lt;br /&gt;
== Misc ==&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/topic/178871-dllcall-with-c-example/#comment-1285754 SMSApi (by mLipok)] - UDF for SMSAPi which provides SMS services. --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Removed 2020-05-30 as adequate documentation is missing * [https://www.autoitscript.com/forum/index.php?showtopic=178589 BulkSMS (by Skysnake)] - UDF for BulkSMS which provides SMS services. --&amp;gt;&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=145099 _AdlibEnhance (by JScript)] - Enhance Adlib to call functions with parameters, pause and resume.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=160936 Android (by Moriba)] - Control any Android device.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=97826 Animated tray icons (by Yashied)] - Make animated tray icons easily.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163577 Atom Table (by Ascend4nt)] - Store (add, find, delete, and query) strings locally (at program level) or globally (at OS level) with unique numerical identifiers.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170087 Barcode generators (by willichan)] - Creates a Code128A/B/C or Creates a Code39 or Code39Extended optimized barcode from supplied data.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=211660 BlockInput (by Nine)] - Block all input coming from mouse and/or keyboard, without having an UAC warning displayed. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=87735 BlockInputEx (by MrCreatoR)] - Supports a few features that built-in BlockInput() function does not.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=29763 Clipboard (by eltorro)] - When apps need to watch the clipboard.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=170630 ClipboardEx (by ozmike)] - Allows to have more than 1 item in the Clipboard. Handles all data types, not just text.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=81267 Clipboard History (by wraithdu)] - Save and restore the entire clipboard contents. Inspired by AHK&#039;s ClipboardAll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=169610 CmdLine (by Jefrey)] - Collection of functions to parse command line arguments.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=126569 Console (by Shaggi)] - Functions and features to work wiht Console input/output.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=121833 Copy (by Yashied)] - Copy or move files and directories without suspending your script. Retrieve the current state (copied bytes, error code etc.) while copying.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=154684 Date / Time convert (by Melba23)] - Transform date/time formats.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=99106 _DLLStructDisplay (by Ascend4nt)] - Show Struct in ListView.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157689 _FileGetMimeType (by Wiliat87)] - Retrieve MIME types based on the extension of the filename/filepath/URL provided.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=117033 File locking with cooperative semaphores (by willichan)] - Simple file locking without a server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=157241 FindMimeFromData (by twbradio)] - FindMimeFromData using urlmon.dll.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=181997 Font Icon (by J2TeaM)] - Use Font Awesome in your AutoIt project.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=68422 HotString (by jvanegmond)] - Similar to the HotKey function but trigger on a string, instead of a key or key combination.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=173946 LASM - Light Assembler (by minxomat)] - Inline UDF for an Assembler.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=161628 LFN (by orbs)] - Overcome MAX_PATH limit of 256 chars.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111492 Link Grammar for AutoIt (by JRowe)] -  Input is a regular sentence in English, German or Italian, output is a pattern parsed from the structure of the sentence.&lt;br /&gt;
* [https://www.autoitscript.com/forum/files/file/147-mruau3 MRU (by Yashied)] - Most Recently Used (MRU) List Automation functions.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=188158 .NET Common Language Runtime (CLR) Framework (by Danyfirex, Junkew, Larsj, ptrex, Trancexx)] - Allows AutoIt to access .NET Class Libraries.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=101733 NoFocusLines (by Melba23)] - Remove the dotted focus lines from buttons, sliders, radios and checkboxes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=149176 NotifyIcon (by FireFox)] - Create, delete and manage self notify icons (formerly TrayIconEx). &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=63318 PixelGetColor (by Manadar)] - Get or Read Pixel from memory.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=167024 RDC (by Yashied)] - ReadDirectoryChanges Wrapper.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51103 Resources (by Zedna)] - Embed any binary data into your AutoIt compiled EXE files.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162499 ResourcesEx (by guinness)] - Up to date version of Zedna&#039;s Resources UDF. &lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=111215 Restart (by Yashied)] - Allows to restart a script from any location with full restoration of the original command line parameters.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=51547 SciLexer (by Kip)] - Editing control, supports multiple editors.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=152093 ScriptEditor (by pandel)] - ScriptEditor with I18N support and customizable lexer completely written in AutoIt (based on SciLexer).&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=162033 Spell Checker (by iCode)] - Spell Checker functions to call Hunspell, Hyphenate and MyThes.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=164444 Synology filestation (by nend)] - Functions to interact with a Synology NAS server.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=163328 TimeConvert (by orbs)] - Convert UTC to/from local time, and/or reformat the string representation.&lt;br /&gt;
* [https://www.autoitscript.com/forum/index.php?showtopic=208438 Zint (by UEZ)] - Creating barcodes using the Zint.dll.&lt;br /&gt;
[[Category:UDF]]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15275</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15275"/>
		<updated>2026-02-25T08:46:21Z</updated>

		<summary type="html">&lt;p&gt;Water: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is in most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. On top of this, each respective style name retrieval function also lists any styles that have names differing from their internal names in the Remarks section of the header.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&lt;br /&gt;
&amp;lt;p&amp;gt;&#039;&#039;&#039;Example&#039;&#039;&#039;: (&amp;lt;small&amp;gt;No error checking is integrated, as we want to give a quick impression of how easy it is to create an AutoIt script with the LibreOffice UDF.&amp;lt;/small&amp;gt;)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                       ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)               ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello World&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                                ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
These optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Char || Manipulate character styles in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in &#039;&#039;Calc&#039;&#039; documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Database || Manipulate &#039;&#039;Base&#039;&#039; Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in &#039;&#039;Writer&#039;&#039;. || Doc || Manipulate documents in &#039;&#039;Base&#039;&#039;, &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039; document fields. || FootEndNotes || Manipulate &#039;&#039;Writer&#039;&#039; Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate &#039;&#039;Base&#039;&#039; Forms and &#039;&#039;Writer&#039;&#039; Forms and Form Controls. || Frame || Manipulate &#039;&#039;Writer&#039;&#039; Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters! || Num || Manipulate &#039;&#039;Writer&#039;&#039; Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate &#039;&#039;Writer&#039;&#039; and &#039;&#039;Calc&#039;&#039; Page Styles. || Par || Manipulate &#039;&#039;Writer&#039;&#039; Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate &#039;&#039;Base&#039;&#039; Queries. || Range || Create, modify, apply &#039;&#039;Calc&#039;&#039; Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate &#039;&#039;Base&#039;&#039; Reports. || Shapes || Create, modify, and insert shapes in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate &#039;&#039;Calc&#039;&#039; document sheets. || SQLStatement || Create, modify and execute SQL Statements in &#039;&#039;Base&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate &#039;&#039;Base&#039;&#039; Tables and &#039;&#039;Writer&#039;&#039; Text-Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Perform a Find and Replace operation in a Calc Document || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Helper.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Range.au3&amp;lt;br&amp;gt;&#039;&#039;&#039;Or simply&#039;&#039;&#039; #Include LibreOfficeCalc.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Functions - Naming Scheme&lt;br /&gt;
|- &lt;br /&gt;
|| Functions Naming Scheme: || _LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Example: || _LOWriter_ParObjCopy (&amp;quot;Copies&amp;quot; data selected by the ViewCursor) &lt;br /&gt;
|-&lt;br /&gt;
|| Where to find: || LibreOfficeWriter_Par.au3&lt;br /&gt;
|- &lt;br /&gt;
|| Description: || &amp;lt;Module&amp;gt; and &amp;lt;Object&amp;gt; can be found in the tables above. &amp;lt;Function&amp;gt; describes the manipulation to be done (read, modify, copy ...)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Example Code===&lt;br /&gt;
On [[LibreOffice-Examples|this page]] you&#039;ll find code examples for the LibreOffice modules&lt;br /&gt;
Base, Calc, Writer and the Portable LibreOffice version.&lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Debug your Script===&lt;br /&gt;
To debug your script, as with any AutoIt function, the first place to start is checking for @error, and @extended values after each function call. Each function in this UDF has error, extended and return values documented in the function header. &lt;br /&gt;
&lt;br /&gt;
===@error codes===&lt;br /&gt;
Currently there are 6 types of errors:&lt;br /&gt;
* 1. &#039;&#039;&#039;Input errors&#039;&#039;&#039;. This code indicates that the user has input the wrong type of data, or an out-of-bound value.&amp;lt;br&amp;gt;Make sure to re-read the parameters and any appropriate remarks for what is expected.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 1 and @extended = 1 stands for: &#039;&#039;$sFilePath not a string, or file not found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 2. &#039;&#039;&#039;Initialization errors&#039;&#039;&#039;. This code indicates that the UDF failed to create some Object or other necessary item for use in a certain function.&amp;lt;br&amp;gt;These types of errors are generally out of the user’s control, and may indicate something has changed with LibreOffice that has caused this UDF to no longer function appropriately.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 2 and @extended = 1 stands for: &#039;&#039;Failed to create ServiceManager Object.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 3. &#039;&#039;&#039;Processing errors&#039;&#039;&#039;. This code indicates that the UDF failed to perform some action.&amp;lt;br&amp;gt; Maybe something wrong with the UDF, or with LibreOffice. Double check that any input values are appropriate for what you are doing in the function that is failing.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 3 and @extended = 1 stands for: &#039;&#039;No open Libre Office documents found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 4. &#039;&#039;&#039;Property Setting errors&#039;&#039;&#039;. This code indicates that the function failed to set the requested property values.&amp;lt;br&amp;gt; Which properties have failed will be indicated in the returned @extended value, as a Bit value, this means that to determine what property or properties failed to be set you will need to us BitAND and compare the @extended value with the values listed in the function header.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 4 and @extended = 10 stands for: &#039;&#039;Error setting $bReadOnly (2) &#039;&#039;&#039;AND&#039;&#039;&#039; Error setting $bLoadAsTemplate (8).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 5. &#039;&#039;&#039;Printer errors&#039;&#039;&#039;. This code indicates problems with printers.&amp;lt;br&amp;gt; Whether when there were no printers found when retrieving the currently available printer names, or whether there was an issue when setting printer related settings.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 5 and @extended = 1 stands for: &#039;&#039;No default printer found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 6. &#039;&#039;&#039;Version errors&#039;&#039;&#039;. This code indicates that the current version of LibreOffice is too low for a specific function or parameter.&amp;lt;br&amp;gt; Any version limitations are documented in the function or parameter description. Either do not use the function or parameter that requires a higher LibreOffice version, or upgrade to a newer version of LibreOffice. &amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 6 and @extended = 1 stands for: &#039;&#039;Current Libre Office version less than 7.4.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Catching COM Errors===&lt;br /&gt;
A further step in debugging scripts is to monitor for COM errors, which can be triggered if something fails on the LibreOffice side.&amp;lt;br&amp;gt;&lt;br /&gt;
This UDF has user-COM error functions that allow the user to have a custom user function be called each time a COM error is encountered, or optionally, to either use MsgBox or ConsoleWrite to display the COM error details.&amp;lt;br&amp;gt;&lt;br /&gt;
Instructions for this are found in each respective COM Error function. Each component has its own dedicated COM user error handler, e.g., LibreOfficeWriter has the &#039;&#039;_LOWriter_ComError_UserFunction&#039;&#039;, and also LibreOffice.au3 has its own COM error handler, called: &#039;&#039;_LO_ComError_UserFunction&#039;&#039;. &amp;lt;br&amp;gt; A COM error error handler can display the following information about a COM error: Number, Description, At line, Source, Error Description, though it will not always have all of the values filled in. &lt;br /&gt;
&amp;lt;br&amp;gt;If no ComError_UserFunction has been defined by the Skript, LibreOffice does nothing but handle the COM error, so your script does not crash and set @error and @extended.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
!	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number:&#039;&#039;&#039; 0x80020006&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Unknown name.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;At line:&#039;&#039;&#039; 199&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Source:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Error Description:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15274</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15274"/>
		<updated>2026-02-25T08:44:49Z</updated>

		<summary type="html">&lt;p&gt;Water: /* Catching COM Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is in most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. On top of this, each respective style name retrieval function also lists any styles that have names differing from their internal names in the Remarks section of the header.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&lt;br /&gt;
&amp;lt;p&amp;gt;&#039;&#039;&#039;Example&#039;&#039;&#039;: (&amp;lt;small&amp;gt;No error checking is integrated, as we want to give a quick impression of how easy it is to create an AutoIt script with the LibreOffice UDF.&amp;lt;/small&amp;gt;)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                       ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)               ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello World&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                                ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
These optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Char || Manipulate character styles in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in &#039;&#039;Calc&#039;&#039; documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Database || Manipulate &#039;&#039;Base&#039;&#039; Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in &#039;&#039;Writer&#039;&#039;. || Doc || Manipulate documents in &#039;&#039;Base&#039;&#039;, &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039; document fields. || FootEndNotes || Manipulate &#039;&#039;Writer&#039;&#039; Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate &#039;&#039;Base&#039;&#039; Forms and &#039;&#039;Writer&#039;&#039; Forms and Form Controls. || Frame || Manipulate &#039;&#039;Writer&#039;&#039; Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters! || Num || Manipulate &#039;&#039;Writer&#039;&#039; Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate &#039;&#039;Writer&#039;&#039; and &#039;&#039;Calc&#039;&#039; Page Styles. || Par || Manipulate &#039;&#039;Writer&#039;&#039; Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate &#039;&#039;Base&#039;&#039; Queries. || Range || Create, modify, apply &#039;&#039;Calc&#039;&#039; Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate &#039;&#039;Base&#039;&#039; Reports. || Shapes || Create, modify, and insert shapes in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate &#039;&#039;Calc&#039;&#039; document sheets. || SQLStatement || Create, modify and execute SQL Statements in &#039;&#039;Base&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate &#039;&#039;Base&#039;&#039; Tables and &#039;&#039;Writer&#039;&#039; Text-Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Perform a Find and Replace operation in a Calc Document || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Helper.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Range.au3&amp;lt;br&amp;gt;&#039;&#039;&#039;Or simply&#039;&#039;&#039; #Include LibreOfficeCalc.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Functions - Naming Scheme&lt;br /&gt;
|- &lt;br /&gt;
|| Functions Naming Scheme: || _LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Example: || _LOWriter_ParObjCopy (&amp;quot;Copies&amp;quot; data selected by the ViewCursor) &lt;br /&gt;
|-&lt;br /&gt;
|| Where to find: || LibreOfficeWriter_Par.au3&lt;br /&gt;
|- &lt;br /&gt;
|| Description: || &amp;lt;Module&amp;gt; and &amp;lt;Object&amp;gt; can be found in the tables above. &amp;lt;Function&amp;gt; describes the manipulation to be done (read, modify, copy ...)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Example Code===&lt;br /&gt;
On [[LibreOffice-Examples|this page]] you&#039;ll find code examples for the LibreOffice modules&lt;br /&gt;
Base, Calc, Writer and the Portable LibreOffice version.&lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Debug your Script===&lt;br /&gt;
To debug your script, as with any AutoIt function, the first place to start is checking for @error, and @extended values after each function call. Each function in this UDF has error, extended and return values documented in the function header. &lt;br /&gt;
&lt;br /&gt;
===@error codes===&lt;br /&gt;
Currently there are 6 types of errors:&lt;br /&gt;
* 1. &#039;&#039;&#039;Input errors&#039;&#039;&#039;. This code indicates that the user has input the wrong type of data, or an out-of-bound value.&amp;lt;br&amp;gt;Make sure to re-read the parameters and any appropriate remarks for what is expected.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 1 and @extended = 1 stands for: &#039;&#039;$sFilePath not a string, or file not found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 2. &#039;&#039;&#039;Initialization errors&#039;&#039;&#039;. This code indicates that the UDF failed to create some Object or other necessary item for use in a certain function.&amp;lt;br&amp;gt;These types of errors are generally out of the user’s control, and may indicate something has changed with LibreOffice that has caused this UDF to no longer function appropriately.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 2 and @extended = 1 stands for: &#039;&#039;Failed to create ServiceManager Object.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 3. &#039;&#039;&#039;Processing errors&#039;&#039;&#039;. This code indicates that the UDF failed to perform some action.&amp;lt;br&amp;gt; Maybe something wrong with the UDF, or with LibreOffice. Double check that any input values are appropriate for what you are doing in the function that is failing.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 3 and @extended = 1 stands for: &#039;&#039;No open Libre Office documents found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 4. &#039;&#039;&#039;Property Setting errors&#039;&#039;&#039;. This code indicates that the function failed to set the requested property values.&amp;lt;br&amp;gt; Which properties have failed will be indicated in the returned @extended value, as a Bit value, this means that to determine what property or properties failed to be set you will need to us BitAND and compare the @extended value with the values listed in the function header.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 4 and @extended = 10 stands for: &#039;&#039;Error setting $bReadOnly (2) &#039;&#039;&#039;AND&#039;&#039;&#039; Error setting $bLoadAsTemplate (8).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 5. &#039;&#039;&#039;Printer errors&#039;&#039;&#039;. This code indicates problems with printers.&amp;lt;br&amp;gt; Whether when there were no printers found when retrieving the currently available printer names, or whether there was an issue when setting printer related settings.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 5 and @extended = 1 stands for: &#039;&#039;No default printer found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 6. &#039;&#039;&#039;Version errors&#039;&#039;&#039;. This code indicates that the current version of LibreOffice is too low for a specific function or parameter.&amp;lt;br&amp;gt; Any version limitations are documented in the function or parameter description. Either do not use the function or parameter that requires a higher LibreOffice version, or upgrade to a newer version of LibreOffice. &amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 6 and @extended = 1 stands for: &#039;&#039;Current Libre Office version less than 7.4.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Catching COM Errors===&lt;br /&gt;
A further step in debugging scripts is to monitor for COM errors, which can be triggered if something fails on the LibreOffice side.&amp;lt;br&amp;gt;&lt;br /&gt;
This UDF has user-COM error functions that allow the user to have a custom user function be called each time a COM error is encountered, or optionally, to either use MsgBox or ConsoleWrite to display the COM error details.&amp;lt;br&amp;gt;&lt;br /&gt;
Instructions for this are found in each respective COM Error function. Each component has its own dedicated COM user error handler, e.g., LibreOfficeWriter has the &#039;&#039;_LOWriter_ComError_UserFunction&#039;&#039;, and also LibreOffice.au3 has its own COM error handler, called: &#039;&#039;_LO_ComError_UserFunction&#039;&#039;. &amp;lt;br&amp;gt; A COM error error handler can display the following information about a COM error: Number, Description, At line, Source, Error Description, though it will not always have all of the values filled in. &lt;br /&gt;
&amp;lt;br&amp;gt;If no ComError_UserFunction has been defined by the Skript, LibreOffice does nothing but handle the COM error, so your script does not crash and set @error and @extended.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
!	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number:&#039;&#039;&#039; 0x80020006&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Unknown name.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;At line:&#039;&#039;&#039; 199&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Source:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Error Description:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15273</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15273"/>
		<updated>2026-02-25T08:34:43Z</updated>

		<summary type="html">&lt;p&gt;Water: /* Catching COM Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is in most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. On top of this, each respective style name retrieval function also lists any styles that have names differing from their internal names in the Remarks section of the header.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&lt;br /&gt;
&amp;lt;p&amp;gt;&#039;&#039;&#039;Example&#039;&#039;&#039;: (&amp;lt;small&amp;gt;No error checking is integrated, as we want to give a quick impression of how easy it is to create an AutoIt script with the LibreOffice UDF.&amp;lt;/small&amp;gt;)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                       ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)               ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello World&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                                ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
These optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Char || Manipulate character styles in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in &#039;&#039;Calc&#039;&#039; documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Database || Manipulate &#039;&#039;Base&#039;&#039; Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in &#039;&#039;Writer&#039;&#039;. || Doc || Manipulate documents in &#039;&#039;Base&#039;&#039;, &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039; document fields. || FootEndNotes || Manipulate &#039;&#039;Writer&#039;&#039; Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate &#039;&#039;Base&#039;&#039; Forms and &#039;&#039;Writer&#039;&#039; Forms and Form Controls. || Frame || Manipulate &#039;&#039;Writer&#039;&#039; Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters! || Num || Manipulate &#039;&#039;Writer&#039;&#039; Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate &#039;&#039;Writer&#039;&#039; and &#039;&#039;Calc&#039;&#039; Page Styles. || Par || Manipulate &#039;&#039;Writer&#039;&#039; Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate &#039;&#039;Base&#039;&#039; Queries. || Range || Create, modify, apply &#039;&#039;Calc&#039;&#039; Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate &#039;&#039;Base&#039;&#039; Reports. || Shapes || Create, modify, and insert shapes in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate &#039;&#039;Calc&#039;&#039; document sheets. || SQLStatement || Create, modify and execute SQL Statements in &#039;&#039;Base&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate &#039;&#039;Base&#039;&#039; Tables and &#039;&#039;Writer&#039;&#039; Text-Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Perform a Find and Replace operation in a Calc Document || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Helper.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Range.au3&amp;lt;br&amp;gt;&#039;&#039;&#039;Or simply&#039;&#039;&#039; #Include LibreOfficeCalc.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Functions - Naming Scheme&lt;br /&gt;
|- &lt;br /&gt;
|| Functions Naming Scheme: || _LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Example: || _LOWriter_ParObjCopy (&amp;quot;Copies&amp;quot; data selected by the ViewCursor) &lt;br /&gt;
|-&lt;br /&gt;
|| Where to find: || LibreOfficeWriter_Par.au3&lt;br /&gt;
|- &lt;br /&gt;
|| Description: || &amp;lt;Module&amp;gt; and &amp;lt;Object&amp;gt; can be found in the tables above. &amp;lt;Function&amp;gt; describes the manipulation to be done (read, modify, copy ...)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Example Code===&lt;br /&gt;
On [[LibreOffice-Examples|this page]] you&#039;ll find code examples for the LibreOffice modules&lt;br /&gt;
Base, Calc, Writer and the Portable LibreOffice version.&lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Debug your Script===&lt;br /&gt;
To debug your script, as with any AutoIt function, the first place to start is checking for @error, and @extended values after each function call. Each function in this UDF has error, extended and return values documented in the function header. &lt;br /&gt;
&lt;br /&gt;
===@error codes===&lt;br /&gt;
Currently there are 6 types of errors:&lt;br /&gt;
* 1. &#039;&#039;&#039;Input errors&#039;&#039;&#039;. This code indicates that the user has input the wrong type of data, or an out-of-bound value.&amp;lt;br&amp;gt;Make sure to re-read the parameters and any appropriate remarks for what is expected.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 1 and @extended = 1 stands for: &#039;&#039;$sFilePath not a string, or file not found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 2. &#039;&#039;&#039;Initialization errors&#039;&#039;&#039;. This code indicates that the UDF failed to create some Object or other necessary item for use in a certain function.&amp;lt;br&amp;gt;These types of errors are generally out of the user’s control, and may indicate something has changed with LibreOffice that has caused this UDF to no longer function appropriately.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 2 and @extended = 1 stands for: &#039;&#039;Failed to create ServiceManager Object.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 3. &#039;&#039;&#039;Processing errors&#039;&#039;&#039;. This code indicates that the UDF failed to perform some action.&amp;lt;br&amp;gt; Maybe something wrong with the UDF, or with LibreOffice. Double check that any input values are appropriate for what you are doing in the function that is failing.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 3 and @extended = 1 stands for: &#039;&#039;No open Libre Office documents found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 4. &#039;&#039;&#039;Property Setting errors&#039;&#039;&#039;. This code indicates that the function failed to set the requested property values.&amp;lt;br&amp;gt; Which properties have failed will be indicated in the returned @extended value, as a Bit value, this means that to determine what property or properties failed to be set you will need to us BitAND and compare the @extended value with the values listed in the function header.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 4 and @extended = 10 stands for: &#039;&#039;Error setting $bReadOnly (2) &#039;&#039;&#039;AND&#039;&#039;&#039; Error setting $bLoadAsTemplate (8).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 5. &#039;&#039;&#039;Printer errors&#039;&#039;&#039;. This code indicates problems with printers.&amp;lt;br&amp;gt; Whether when there were no printers found when retrieving the currently available printer names, or whether there was an issue when setting printer related settings.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 5 and @extended = 1 stands for: &#039;&#039;No default printer found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 6. &#039;&#039;&#039;Version errors&#039;&#039;&#039;. This code indicates that the current version of LibreOffice is too low for a specific function or parameter.&amp;lt;br&amp;gt; Any version limitations are documented in the function or parameter description. Either do not use the function or parameter that requires a higher LibreOffice version, or upgrade to a newer version of LibreOffice. &amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 6 and @extended = 1 stands for: &#039;&#039;Current Libre Office version less than 7.4.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Catching COM Errors===&lt;br /&gt;
A further step in debugging scripts is to monitor for COM errors, which can be triggered if something fails on the LibreOffice side.&amp;lt;br&amp;gt;&lt;br /&gt;
This UDF has user-COM error functions that allow the user to have a custom user function be called each time a COM error is encountered, or optionally, to either use MsgBox or ConsoleWrite to display the COM error details.&amp;lt;br&amp;gt;&lt;br /&gt;
Instructions for this are found in each respective COM Error function. Each component has its own dedicated COM user error handler, e.g., LibreOfficeWriter has the &#039;&#039;_LOWriter_ComError_UserFunction&#039;&#039;, and also LibreOffice.au3 has its own COM error handler also, called: &#039;&#039;_LO_ComError_UserFunction&#039;&#039;. &amp;lt;br&amp;gt; A COM error error handler can display the following information about a COM error: Number, Description, At line, Source, Error Description, though it will not always have all of the values filled in. &lt;br /&gt;
&amp;lt;br&amp;gt;If no ComError_UserFunction has been defined by the Skript, LibreOffice does nothing but handle the COM error, so your script does not crash and set @error and @extended.&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
!	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number:&#039;&#039;&#039; 0x80020006&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Unknown name.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;At line:&#039;&#039;&#039; 199&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Source:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Error Description:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15271</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15271"/>
		<updated>2026-02-25T08:11:51Z</updated>

		<summary type="html">&lt;p&gt;Water: Water moved page Libreoffice-WIP to LibreOffice&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is in most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. On top of this, each respective style name retrieval function also lists any styles that have names differing from their internal names in the Remarks section of the header.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&lt;br /&gt;
&amp;lt;p&amp;gt;&#039;&#039;&#039;Example&#039;&#039;&#039;: (&amp;lt;small&amp;gt;No error checking is integrated, as we want to give a quick impression of how easy it is to create an AutoIt script with the LibreOffice UDF.&amp;lt;/small&amp;gt;)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                       ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)               ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello World&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                                ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
These optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Char || Manipulate character styles in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in &#039;&#039;Calc&#039;&#039; documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Database || Manipulate &#039;&#039;Base&#039;&#039; Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in &#039;&#039;Writer&#039;&#039;. || Doc || Manipulate documents in &#039;&#039;Base&#039;&#039;, &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039; document fields. || FootEndNotes || Manipulate &#039;&#039;Writer&#039;&#039; Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate &#039;&#039;Base&#039;&#039; Forms and &#039;&#039;Writer&#039;&#039; Forms and Form Controls. || Frame || Manipulate &#039;&#039;Writer&#039;&#039; Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters! || Num || Manipulate &#039;&#039;Writer&#039;&#039; Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate &#039;&#039;Writer&#039;&#039; and &#039;&#039;Calc&#039;&#039; Page Styles. || Par || Manipulate &#039;&#039;Writer&#039;&#039; Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate &#039;&#039;Base&#039;&#039; Queries. || Range || Create, modify, apply &#039;&#039;Calc&#039;&#039; Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate &#039;&#039;Base&#039;&#039; Reports. || Shapes || Create, modify, and insert shapes in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate &#039;&#039;Calc&#039;&#039; document sheets. || SQLStatement || Create, modify and execute SQL Statements in &#039;&#039;Base&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate &#039;&#039;Base&#039;&#039; Tables and &#039;&#039;Writer&#039;&#039; Text-Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Perform a Find and Replace operation in a Calc Document || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Helper.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Range.au3&amp;lt;br&amp;gt;&#039;&#039;&#039;Or simply&#039;&#039;&#039; #Include LibreOfficeCalc.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Functions - Naming Scheme&lt;br /&gt;
|- &lt;br /&gt;
|| Functions Naming Scheme: || _LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Example: || _LOWriter_ParObjCopy (&amp;quot;Copies&amp;quot; data selected by the ViewCursor) &lt;br /&gt;
|-&lt;br /&gt;
|| Where to find: || LibreOfficeWriter_Par.au3&lt;br /&gt;
|- &lt;br /&gt;
|| Description: || &amp;lt;Module&amp;gt; and &amp;lt;Object&amp;gt; can be found in the tables above. &amp;lt;Function&amp;gt; describes the manipulation to be done (read, modify, copy ...)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Example Code===&lt;br /&gt;
On [[LibreOffice-Examples|this page]] you&#039;ll find code examples for the LibreOffice modules&lt;br /&gt;
Base, Calc, Writer and the Portable LibreOffice version.&lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Debug your Script===&lt;br /&gt;
To debug your script, as with any AutoIt function, the first place to start is checking for @error, and @extended values after each function call. Each function in this UDF has error, extended and return values documented in the function header. &lt;br /&gt;
&lt;br /&gt;
===@error codes===&lt;br /&gt;
Currently there are 6 types of errors:&lt;br /&gt;
* 1. &#039;&#039;&#039;Input errors&#039;&#039;&#039;. This code indicates that the user has input the wrong type of data, or an out-of-bound value.&amp;lt;br&amp;gt;Make sure to re-read the parameters and any appropriate remarks for what is expected.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 1 and @extended = 1 stands for: &#039;&#039;$sFilePath not a string, or file not found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 2. &#039;&#039;&#039;Initialization errors&#039;&#039;&#039;. This code indicates that the UDF failed to create some Object or other necessary item for use in a certain function.&amp;lt;br&amp;gt;These types of errors are generally out of the user’s control, and may indicate something has changed with LibreOffice that has caused this UDF to no longer function appropriately.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 2 and @extended = 1 stands for: &#039;&#039;Failed to create ServiceManager Object.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 3. &#039;&#039;&#039;Processing errors&#039;&#039;&#039;. This code indicates that the UDF failed to perform some action.&amp;lt;br&amp;gt; Maybe something wrong with the UDF, or with LibreOffice. Double check that any input values are appropriate for what you are doing in the function that is failing.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 3 and @extended = 1 stands for: &#039;&#039;No open Libre Office documents found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 4. &#039;&#039;&#039;Property Setting errors&#039;&#039;&#039;. This code indicates that the function failed to set the requested property values.&amp;lt;br&amp;gt; Which properties have failed will be indicated in the returned @extended value, as a Bit value, this means that to determine what property or properties failed to be set you will need to us BitAND and compare the @extended value with the values listed in the function header.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 4 and @extended = 10 stands for: &#039;&#039;Error setting $bReadOnly (2) &#039;&#039;&#039;AND&#039;&#039;&#039; Error setting $bLoadAsTemplate (8).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 5. &#039;&#039;&#039;Printer errors&#039;&#039;&#039;. This code indicates problems with printers.&amp;lt;br&amp;gt; Whether when there were no printers found when retrieving the currently available printer names, or whether there was an issue when setting printer related settings.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 5 and @extended = 1 stands for: &#039;&#039;No default printer found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 6. &#039;&#039;&#039;Version errors&#039;&#039;&#039;. This code indicates that the current version of LibreOffice is too low for a specific function or parameter.&amp;lt;br&amp;gt; Any version limitations are documented in the function or parameter description. Either do not use the function or parameter that requires a higher LibreOffice version, or upgrade to a newer version of LibreOffice. &amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 6 and @extended = 1 stands for: &#039;&#039;Current Libre Office version less than 7.4.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Catching COM Errors===&lt;br /&gt;
A further step in debugging scripts is to monitor for COM errors, which can be triggered if something fails on the LibreOffice side.&amp;lt;br&amp;gt;&lt;br /&gt;
This UDF has user-COM error functions that allow the user to have a custom user function be called each time a COM error is encountered, or optionally, to either use MsgBox or ConsoleWrite to display the COM error details. Instructions for this are found in each respective COM Error function, &#039;&#039;_LO_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOBase_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOCalc_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOWriter_ComError_UserFunction&#039;&#039;. Each component has its own dedicated COM user error handler, e.g., LibreOfficeWriter has the &#039;&#039;_LOWriter_ComError_UserFunction&lt;br /&gt;
&#039;&#039;, LibreOfficeCalc has &#039;&#039;_LOCalc_ComError_UserFunction&#039;&#039;, and also LibreOffice.au3 has its own COM error handler also, called: &#039;&#039;_LO_ComError_UserFunction&#039;&#039;. This allows the user to further see when something is failing, and what may be the cause of the failure, and perhaps be able to correct it. The resulting COM error will always contain the following sections, Number, Description, At line, Source, Error Description, though it will not always have all of the values filled in. As an example, a COM error will look similar to the following:&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
; If not defined ComError_UserFunction then this function does nothing, in which case you can only check @error / @extended after suspect functions.&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
!	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number:&#039;&#039;&#039; 0x80020006&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Unknown name.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;At line:&#039;&#039;&#039; 199&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Source:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Error Description:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 !	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
 Number: 0x80020009&amp;lt;br&amp;gt;&lt;br /&gt;
 Description: Exception occurred.&amp;lt;br&amp;gt;&lt;br /&gt;
 At line: 200&amp;lt;br&amp;gt;&lt;br /&gt;
 Source: [automation bridge] &amp;lt;br&amp;gt;&lt;br /&gt;
 Error Description: InterfaceOleWrapper::Invoke : &amp;lt;br&amp;gt;&lt;br /&gt;
 [automation bridge]UnoConversionUtilities&amp;lt;T&amp;gt;::variantToAny &amp;lt;br&amp;gt;&lt;br /&gt;
 Cannot convert the value of vartype :&amp;quot;8&amp;quot;  to the expected UNO type of type class: 6 at C:\cygwin64\home\buildslave\source\libo-core\extensions\source\ole\unoconversionutilities.hxx:590&amp;lt;br&amp;gt;&lt;br /&gt;
 -2147352567	0&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15268</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15268"/>
		<updated>2026-02-24T08:37:51Z</updated>

		<summary type="html">&lt;p&gt;Water: /* Catching COM Errors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is in most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. On top of this, each respective style name retrieval function also lists any styles that have names differing from their internal names in the Remarks section of the header.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&lt;br /&gt;
&amp;lt;p&amp;gt;&#039;&#039;&#039;Example&#039;&#039;&#039;: (&amp;lt;small&amp;gt;No error checking is integrated, as we want to give a quick impression of how easy it is to create an AutoIt script with the LibreOffice UDF.&amp;lt;/small&amp;gt;)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                       ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)               ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello World&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                                ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
These optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Char || Manipulate character styles in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in &#039;&#039;Calc&#039;&#039; documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Database || Manipulate &#039;&#039;Base&#039;&#039; Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in &#039;&#039;Writer&#039;&#039;. || Doc || Manipulate documents in &#039;&#039;Base&#039;&#039;, &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039; document fields. || FootEndNotes || Manipulate &#039;&#039;Writer&#039;&#039; Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate &#039;&#039;Base&#039;&#039; Forms and &#039;&#039;Writer&#039;&#039; Forms and Form Controls. || Frame || Manipulate &#039;&#039;Writer&#039;&#039; Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters! || Num || Manipulate &#039;&#039;Writer&#039;&#039; Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate &#039;&#039;Writer&#039;&#039; and &#039;&#039;Calc&#039;&#039; Page Styles. || Par || Manipulate &#039;&#039;Writer&#039;&#039; Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate &#039;&#039;Base&#039;&#039; Queries. || Range || Create, modify, apply &#039;&#039;Calc&#039;&#039; Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate &#039;&#039;Base&#039;&#039; Reports. || Shapes || Create, modify, and insert shapes in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate &#039;&#039;Calc&#039;&#039; document sheets. || SQLStatement || Create, modify and execute SQL Statements in &#039;&#039;Base&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate &#039;&#039;Base&#039;&#039; Tables and &#039;&#039;Writer&#039;&#039; Text-Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Perform a Find and Replace operation in a Calc Document || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Helper.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Range.au3&amp;lt;br&amp;gt;&#039;&#039;&#039;Or simply&#039;&#039;&#039; #Include LibreOfficeCalc.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Functions - Naming Scheme&lt;br /&gt;
|- &lt;br /&gt;
|| Functions Naming Scheme: || _LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Example: || _LOWriter_ParObjCopy (&amp;quot;Copies&amp;quot; data selected by the ViewCursor) &lt;br /&gt;
|-&lt;br /&gt;
|| Where to find: || LibreOfficeWriter_Par.au3&lt;br /&gt;
|- &lt;br /&gt;
|| Description: || &amp;lt;Module&amp;gt; and &amp;lt;Object&amp;gt; can be found in the tables above. &amp;lt;Function&amp;gt; describes the manipulation to be done (read, modify, copy ...)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Example Code===&lt;br /&gt;
On [[LibreOffice-Examples|this page]] you&#039;ll find code examples for the LibreOffice modules&lt;br /&gt;
Base, Calc, Writer and the Portable LibreOffice version.&lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Debug your Script===&lt;br /&gt;
To debug your script, as with any AutoIt function, the first place to start is checking for @error, and @extended values after each function call. Each function in this UDF has error, extended and return values documented in the function header. &lt;br /&gt;
&lt;br /&gt;
===@error codes===&lt;br /&gt;
Currently there are 6 types of errors:&lt;br /&gt;
* 1. &#039;&#039;&#039;Input errors&#039;&#039;&#039;. This code indicates that the user has input the wrong type of data, or an out-of-bound value.&amp;lt;br&amp;gt;Make sure to re-read the parameters and any appropriate remarks for what is expected.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 1 and @extended = 1 stands for: &#039;&#039;$sFilePath not a string, or file not found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 2. &#039;&#039;&#039;Initialization errors&#039;&#039;&#039;. This code indicates that the UDF failed to create some Object or other necessary item for use in a certain function.&amp;lt;br&amp;gt;These types of errors are generally out of the user’s control, and may indicate something has changed with LibreOffice that has caused this UDF to no longer function appropriately.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 2 and @extended = 1 stands for: &#039;&#039;Failed to create ServiceManager Object.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 3. &#039;&#039;&#039;Processing errors&#039;&#039;&#039;. This code indicates that the UDF failed to perform some action.&amp;lt;br&amp;gt; Maybe something wrong with the UDF, or with LibreOffice. Double check that any input values are appropriate for what you are doing in the function that is failing.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 3 and @extended = 1 stands for: &#039;&#039;No open Libre Office documents found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 4. &#039;&#039;&#039;Property Setting errors&#039;&#039;&#039;. This code indicates that the function failed to set the requested property values.&amp;lt;br&amp;gt; Which properties have failed will be indicated in the returned @extended value, as a Bit value, this means that to determine what property or properties failed to be set you will need to us BitAND and compare the @extended value with the values listed in the function header.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 4 and @extended = 10 stands for: &#039;&#039;Error setting $bReadOnly (2) &#039;&#039;&#039;AND&#039;&#039;&#039; Error setting $bLoadAsTemplate (8).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 5. &#039;&#039;&#039;Printer errors&#039;&#039;&#039;. This code indicates problems with printers.&amp;lt;br&amp;gt; Whether when there were no printers found when retrieving the currently available printer names, or whether there was an issue when setting printer related settings.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 5 and @extended = 1 stands for: &#039;&#039;No default printer found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 6. &#039;&#039;&#039;Version errors&#039;&#039;&#039;. This code indicates that the current version of LibreOffice is too low for a specific function or parameter.&amp;lt;br&amp;gt; Any version limitations are documented in the function or parameter description. Either do not use the function or parameter that requires a higher LibreOffice version, or upgrade to a newer version of LibreOffice. &amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 6 and @extended = 1 stands for: &#039;&#039;Current Libre Office version less than 7.4.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Catching COM Errors===&lt;br /&gt;
A further step in debugging scripts is to monitor for COM errors, which can be triggered if something fails on the LibreOffice side.&amp;lt;br&amp;gt;&lt;br /&gt;
This UDF has user-COM error functions that allow the user to have a custom user function be called each time a COM error is encountered, or optionally, to either use MsgBox or ConsoleWrite to display the COM error details. Instructions for this are found in each respective COM Error function, &#039;&#039;_LO_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOBase_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOCalc_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOWriter_ComError_UserFunction&#039;&#039;. Each component has its own dedicated COM user error handler, e.g., LibreOfficeWriter has the &#039;&#039;_LOWriter_ComError_UserFunction&lt;br /&gt;
&#039;&#039;, LibreOfficeCalc has &#039;&#039;_LOCalc_ComError_UserFunction&#039;&#039;, and also LibreOffice.au3 has its own COM error handler also, called: &#039;&#039;_LO_ComError_UserFunction&#039;&#039;. This allows the user to further see when something is failing, and what may be the cause of the failure, and perhaps be able to correct it. The resulting COM error will always contain the following sections, Number, Description, At line, Source, Error Description, though it will not always have all of the values filled in. As an example, a COM error will look similar to the following:&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
; If not defined ComError_UserFunction then this function does nothing, in which case you can only check @error / @extended after suspect functions.&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
!	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number:&#039;&#039;&#039; 0x80020006&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Unknown name.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;At line:&#039;&#039;&#039; 199&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Source:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Error Description:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 !	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
 Number: 0x80020009&amp;lt;br&amp;gt;&lt;br /&gt;
 Description: Exception occurred.&amp;lt;br&amp;gt;&lt;br /&gt;
 At line: 200&amp;lt;br&amp;gt;&lt;br /&gt;
 Source: [automation bridge] &amp;lt;br&amp;gt;&lt;br /&gt;
 Error Description: InterfaceOleWrapper::Invoke : &amp;lt;br&amp;gt;&lt;br /&gt;
 [automation bridge]UnoConversionUtilities&amp;lt;T&amp;gt;::variantToAny &amp;lt;br&amp;gt;&lt;br /&gt;
 Cannot convert the value of vartype :&amp;quot;8&amp;quot;  to the expected UNO type of type class: 6 at C:\cygwin64\home\buildslave\source\libo-core\extensions\source\ole\unoconversionutilities.hxx:590&amp;lt;br&amp;gt;&lt;br /&gt;
 -2147352567	0&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15267</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15267"/>
		<updated>2026-02-24T08:20:35Z</updated>

		<summary type="html">&lt;p&gt;Water: /* Troubleshooting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is in most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. On top of this, each respective style name retrieval function also lists any styles that have names differing from their internal names in the Remarks section of the header.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&lt;br /&gt;
&amp;lt;p&amp;gt;&#039;&#039;&#039;Example&#039;&#039;&#039;: (&amp;lt;small&amp;gt;No error checking is integrated, as we want to give a quick impression of how easy it is to create an AutoIt script with the LibreOffice UDF.&amp;lt;/small&amp;gt;)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                       ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)               ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello World&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                                ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
These optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Char || Manipulate character styles in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in &#039;&#039;Calc&#039;&#039; documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Database || Manipulate &#039;&#039;Base&#039;&#039; Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in &#039;&#039;Writer&#039;&#039;. || Doc || Manipulate documents in &#039;&#039;Base&#039;&#039;, &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039; document fields. || FootEndNotes || Manipulate &#039;&#039;Writer&#039;&#039; Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate &#039;&#039;Base&#039;&#039; Forms and &#039;&#039;Writer&#039;&#039; Forms and Form Controls. || Frame || Manipulate &#039;&#039;Writer&#039;&#039; Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters! || Num || Manipulate &#039;&#039;Writer&#039;&#039; Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate &#039;&#039;Writer&#039;&#039; and &#039;&#039;Calc&#039;&#039; Page Styles. || Par || Manipulate &#039;&#039;Writer&#039;&#039; Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate &#039;&#039;Base&#039;&#039; Queries. || Range || Create, modify, apply &#039;&#039;Calc&#039;&#039; Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate &#039;&#039;Base&#039;&#039; Reports. || Shapes || Create, modify, and insert shapes in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate &#039;&#039;Calc&#039;&#039; document sheets. || SQLStatement || Create, modify and execute SQL Statements in &#039;&#039;Base&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate &#039;&#039;Base&#039;&#039; Tables and &#039;&#039;Writer&#039;&#039; Text-Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Perform a Find and Replace operation in a Calc Document || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Helper.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Range.au3&amp;lt;br&amp;gt;&#039;&#039;&#039;Or simply&#039;&#039;&#039; #Include LibreOfficeCalc.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Functions - Naming Scheme&lt;br /&gt;
|- &lt;br /&gt;
|| Functions Naming Scheme: || _LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Example: || _LOWriter_ParObjCopy (&amp;quot;Copies&amp;quot; data selected by the ViewCursor) &lt;br /&gt;
|-&lt;br /&gt;
|| Where to find: || LibreOfficeWriter_Par.au3&lt;br /&gt;
|- &lt;br /&gt;
|| Description: || &amp;lt;Module&amp;gt; and &amp;lt;Object&amp;gt; can be found in the tables above. &amp;lt;Function&amp;gt; describes the manipulation to be done (read, modify, copy ...)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Example Code===&lt;br /&gt;
On [[LibreOffice-Examples|this page]] you&#039;ll find code examples for the LibreOffice modules&lt;br /&gt;
Base, Calc, Writer and the Portable LibreOffice version.&lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Debug your Script===&lt;br /&gt;
To debug your script, as with any AutoIt function, the first place to start is checking for @error, and @extended values after each function call. Each function in this UDF has error, extended and return values documented in the function header. &lt;br /&gt;
&lt;br /&gt;
===@error codes===&lt;br /&gt;
Currently there are 6 types of errors:&lt;br /&gt;
* 1. &#039;&#039;&#039;Input errors&#039;&#039;&#039;. This code indicates that the user has input the wrong type of data, or an out-of-bound value.&amp;lt;br&amp;gt;Make sure to re-read the parameters and any appropriate remarks for what is expected.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 1 and @extended = 1 stands for: &#039;&#039;$sFilePath not a string, or file not found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 2. &#039;&#039;&#039;Initialization errors&#039;&#039;&#039;. This code indicates that the UDF failed to create some Object or other necessary item for use in a certain function.&amp;lt;br&amp;gt;These types of errors are generally out of the user’s control, and may indicate something has changed with LibreOffice that has caused this UDF to no longer function appropriately.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 2 and @extended = 1 stands for: &#039;&#039;Failed to create ServiceManager Object.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 3. &#039;&#039;&#039;Processing errors&#039;&#039;&#039;. This code indicates that the UDF failed to perform some action.&amp;lt;br&amp;gt; Maybe something wrong with the UDF, or with LibreOffice. Double check that any input values are appropriate for what you are doing in the function that is failing.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 3 and @extended = 1 stands for: &#039;&#039;No open Libre Office documents found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 4. &#039;&#039;&#039;Property Setting errors&#039;&#039;&#039;. This code indicates that the function failed to set the requested property values.&amp;lt;br&amp;gt; Which properties have failed will be indicated in the returned @extended value, as a Bit value, this means that to determine what property or properties failed to be set you will need to us BitAND and compare the @extended value with the values listed in the function header.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 4 and @extended = 10 stands for: &#039;&#039;Error setting $bReadOnly (2) &#039;&#039;&#039;AND&#039;&#039;&#039; Error setting $bLoadAsTemplate (8).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 5. &#039;&#039;&#039;Printer errors&#039;&#039;&#039;. This code indicates problems with printers.&amp;lt;br&amp;gt; Whether when there were no printers found when retrieving the currently available printer names, or whether there was an issue when setting printer related settings.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 5 and @extended = 1 stands for: &#039;&#039;No default printer found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 6. &#039;&#039;&#039;Version errors&#039;&#039;&#039;. This code indicates that the current version of LibreOffice is too low for a specific function or parameter.&amp;lt;br&amp;gt; Any version limitations are documented in the function or parameter description. Either do not use the function or parameter that requires a higher LibreOffice version, or upgrade to a newer version of LibreOffice. &amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 6 and @extended = 1 stands for: &#039;&#039;Current Libre Office version less than 7.4.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Catching COM Errors===&lt;br /&gt;
A further step in debugging scripts is to monitor for COM errors, which can be triggered if something fails on the LibreOffice side.&amp;lt;br&amp;gt;&lt;br /&gt;
This UDF has user-COM error functions that allow the user to have a custom user function be called each time a COM error is encountered, or optionally, to either use MsgBox or ConsoleWrite to display the COM error details. Instructions for this are found in each respective COM Error function, &#039;&#039;_LO_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOBase_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOCalc_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOWriter_ComError_UserFunction&#039;&#039;. Each component has its own dedicated COM user error handler, e.g., LibreOfficeWriter has the &#039;&#039;_LOWriter_ComError_UserFunction&lt;br /&gt;
&#039;&#039;, LibreOfficeCalc has &#039;&#039;_LOCalc_ComError_UserFunction&#039;&#039;, and also LibreOffice.au3 has its own COM error handler also, called: &#039;&#039;_LO_ComError_UserFunction&#039;&#039;. This allows the user to further see when something is failing, and what may be the cause of the failure, and perhaps be able to correct it. The resulting COM error will always contain the following sections, Number, Description, At line, Source, Error Description, though it will not always have all of the values filled in. As an example, a COM error will look similar to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
!	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number:&#039;&#039;&#039; 0x80020006&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Unknown name.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;At line:&#039;&#039;&#039; 199&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Source:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Error Description:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 !	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
 Number: 0x80020009&amp;lt;br&amp;gt;&lt;br /&gt;
 Description: Exception occurred.&amp;lt;br&amp;gt;&lt;br /&gt;
 At line: 200&amp;lt;br&amp;gt;&lt;br /&gt;
 Source: [automation bridge] &amp;lt;br&amp;gt;&lt;br /&gt;
 Error Description: InterfaceOleWrapper::Invoke : &amp;lt;br&amp;gt;&lt;br /&gt;
 [automation bridge]UnoConversionUtilities&amp;lt;T&amp;gt;::variantToAny &amp;lt;br&amp;gt;&lt;br /&gt;
 Cannot convert the value of vartype :&amp;quot;8&amp;quot;  to the expected UNO type of type class: 6 at C:\cygwin64\home\buildslave\source\libo-core\extensions\source\ole\unoconversionutilities.hxx:590&amp;lt;br&amp;gt;&lt;br /&gt;
 -2147352567	0&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15266</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15266"/>
		<updated>2026-02-23T21:45:31Z</updated>

		<summary type="html">&lt;p&gt;Water: /* @error codes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is in most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. On top of this, each respective style name retrieval function also lists any styles that have names differing from their internal names in the Remarks section of the header.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&lt;br /&gt;
&amp;lt;p&amp;gt;&#039;&#039;&#039;Example&#039;&#039;&#039;: (&amp;lt;small&amp;gt;No error checking is integrated, as we want to give a quick impression of how easy it is to create an AutoIt script with the LibreOffice UDF.&amp;lt;/small&amp;gt;)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                       ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)               ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello World&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                                ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
These optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Char || Manipulate character styles in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in &#039;&#039;Calc&#039;&#039; documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Database || Manipulate &#039;&#039;Base&#039;&#039; Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in &#039;&#039;Writer&#039;&#039;. || Doc || Manipulate documents in &#039;&#039;Base&#039;&#039;, &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039; document fields. || FootEndNotes || Manipulate &#039;&#039;Writer&#039;&#039; Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate &#039;&#039;Base&#039;&#039; Forms and &#039;&#039;Writer&#039;&#039; Forms and Form Controls. || Frame || Manipulate &#039;&#039;Writer&#039;&#039; Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters! || Num || Manipulate &#039;&#039;Writer&#039;&#039; Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate &#039;&#039;Writer&#039;&#039; and &#039;&#039;Calc&#039;&#039; Page Styles. || Par || Manipulate &#039;&#039;Writer&#039;&#039; Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate &#039;&#039;Base&#039;&#039; Queries. || Range || Create, modify, apply &#039;&#039;Calc&#039;&#039; Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate &#039;&#039;Base&#039;&#039; Reports. || Shapes || Create, modify, and insert shapes in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate &#039;&#039;Calc&#039;&#039; document sheets. || SQLStatement || Create, modify and execute SQL Statements in &#039;&#039;Base&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate &#039;&#039;Base&#039;&#039; Tables and &#039;&#039;Writer&#039;&#039; Text-Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Perform a Find and Replace operation in a Calc Document || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Helper.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Range.au3&amp;lt;br&amp;gt;&#039;&#039;&#039;Or simply&#039;&#039;&#039; #Include LibreOfficeCalc.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Functions - Naming Scheme&lt;br /&gt;
|- &lt;br /&gt;
|| Functions Naming Scheme: || _LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Example: || _LOWriter_ParObjCopy (&amp;quot;Copies&amp;quot; data selected by the ViewCursor) &lt;br /&gt;
|-&lt;br /&gt;
|| Where to find: || LibreOfficeWriter_Par.au3&lt;br /&gt;
|- &lt;br /&gt;
|| Description: || &amp;lt;Module&amp;gt; and &amp;lt;Object&amp;gt; can be found in the tables above. &amp;lt;Function&amp;gt; describes the manipulation to be done (read, modify, copy ...)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Example Code===&lt;br /&gt;
On [[LibreOffice-Examples|this page]] you&#039;ll find code examples for the LibreOffice modules&lt;br /&gt;
Base, Calc, Writer and the Portable LibreOffice version.&lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Debug your Script===&lt;br /&gt;
To debug your script, as with any AutoIt function, the first place to start is checking for @error, and @extended values after each function call. Each function in this UDF has error, extended and return values documented in the function header. &lt;br /&gt;
&lt;br /&gt;
===@error codes===&lt;br /&gt;
Currently there are 6 types of errors:&lt;br /&gt;
* 1. &#039;&#039;&#039;Input errors&#039;&#039;&#039;. This code indicates that the user has input the wrong type of data, or an out-of-bound value.&amp;lt;br&amp;gt;Make sure to re-read the parameters and any appropriate remarks for what is expected.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 1 and @extended = 1 stands for: &#039;&#039;$sFilePath not a string, or file not found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 2. &#039;&#039;&#039;Initialization errors&#039;&#039;&#039;. This code indicates that the UDF failed to create some Object or other necessary item for use in a certain function.&amp;lt;br&amp;gt;These types of errors are generally out of the user’s control, and may indicate something has changed with LibreOffice that has caused this UDF to no longer function appropriately.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 2 and @extended = 1 stands for: &#039;&#039;Failed to create ServiceManager Object.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 3. &#039;&#039;&#039;Processing errors&#039;&#039;&#039;. This code indicates that the UDF failed to perform some action.&amp;lt;br&amp;gt; Maybe something wrong with the UDF, or with LibreOffice. Double check that any input values are appropriate for what you are doing in the function that is failing.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 3 and @extended = 1 stands for: &#039;&#039;No open Libre Office documents found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 4. &#039;&#039;&#039;Property Setting errors&#039;&#039;&#039;. This code indicates that the function failed to set the requested property values.&amp;lt;br&amp;gt; Which properties have failed will be indicated in the returned @extended value, as a Bit value, this means that to determine what property or properties failed to be set you will need to us BitAND and compare the @extended value with the values listed in the function header.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 4 and @extended = 10 stands for: &#039;&#039;Error setting $bReadOnly (2) &#039;&#039;&#039;AND&#039;&#039;&#039; Error setting $bLoadAsTemplate (8).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 5. &#039;&#039;&#039;Printer errors&#039;&#039;&#039;. This code indicates problems with printers.&amp;lt;br&amp;gt; Whether when there were no printers found when retrieving the currently available printer names, or whether there was an issue when setting printer related settings.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 5 and @extended = 1 stands for: &#039;&#039;No default printer found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 6. &#039;&#039;&#039;Version errors&#039;&#039;&#039;. This code indicates that the current version of LibreOffice is too low for a specific function or parameter.&amp;lt;br&amp;gt; Any version limitations are documented in the function or parameter description. Either do not use the function or parameter that requires a higher LibreOffice version, or upgrade to a newer version of LibreOffice. &amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 6 and @extended = 1 stands for: &#039;&#039;Current Libre Office version less than 7.4.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Catching COM Errors===&lt;br /&gt;
A further step for debugging scripts is to monitor for COM errors, which can be triggered if something is failing on the LibreOffice side of things. To aid in monitoring for COM errors, this UDF has user-COM error functions that allow the user to have a custom user function be called each time a COM error is encountered, or optionally, to either display a MsgBox with the COM error details, or output the COM error to the output using ConsoleWrite. Instructions for this are found in each respective COM Error function, &#039;&#039;_LO_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOBase_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOCalc_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOWriter_ComError_UserFunction&#039;&#039;. Each component has its own dedicated COM user error handler, e.g., LibreOfficeWriter has the &#039;&#039;_LOWriter_ComError_UserFunction&#039;&#039;, LibreOfficeCalc has &#039;&#039;_LOCalc_ComError_UserFunction&#039;&#039;, and also LibreOffice.au3 has its own COM error handler also, called: &#039;&#039;_LO_ComError_UserFunction&#039;&#039;. This allows the user to further see when something is failing, and what may be the cause of the failure, and perhaps be able to correct it. The resulting COM error will always contain the following sections, Number, Description, At line, Source, Error Description, though it will not always have all of the values filled in. As an example, a COM error will look similar to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
!	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number:&#039;&#039;&#039; 0x80020006&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Unknown name.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;At line:&#039;&#039;&#039; 199&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Source:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Error Description:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 !	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
 Number: 0x80020009&amp;lt;br&amp;gt;&lt;br /&gt;
 Description: Exception occurred.&amp;lt;br&amp;gt;&lt;br /&gt;
 At line: 200&amp;lt;br&amp;gt;&lt;br /&gt;
 Source: [automation bridge] &amp;lt;br&amp;gt;&lt;br /&gt;
 Error Description: InterfaceOleWrapper::Invoke : &amp;lt;br&amp;gt;&lt;br /&gt;
 [automation bridge]UnoConversionUtilities&amp;lt;T&amp;gt;::variantToAny &amp;lt;br&amp;gt;&lt;br /&gt;
 Cannot convert the value of vartype :&amp;quot;8&amp;quot;  to the expected UNO type of type class: 6 at C:\cygwin64\home\buildslave\source\libo-core\extensions\source\ole\unoconversionutilities.hxx:590&amp;lt;br&amp;gt;&lt;br /&gt;
 -2147352567	0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15265</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15265"/>
		<updated>2026-02-23T20:27:32Z</updated>

		<summary type="html">&lt;p&gt;Water: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is in most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. On top of this, each respective style name retrieval function also lists any styles that have names differing from their internal names in the Remarks section of the header.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&lt;br /&gt;
&amp;lt;p&amp;gt;&#039;&#039;&#039;Example&#039;&#039;&#039;: (&amp;lt;small&amp;gt;No error checking is integrated, as we want to give a quick impression of how easy it is to create an AutoIt script with the LibreOffice UDF.&amp;lt;/small&amp;gt;)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                       ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)               ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello World&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                                ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
These optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Char || Manipulate character styles in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in &#039;&#039;Calc&#039;&#039; documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Database || Manipulate &#039;&#039;Base&#039;&#039; Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in &#039;&#039;Writer&#039;&#039;. || Doc || Manipulate documents in &#039;&#039;Base&#039;&#039;, &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039; document fields. || FootEndNotes || Manipulate &#039;&#039;Writer&#039;&#039; Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate &#039;&#039;Base&#039;&#039; Forms and &#039;&#039;Writer&#039;&#039; Forms and Form Controls. || Frame || Manipulate &#039;&#039;Writer&#039;&#039; Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters! || Num || Manipulate &#039;&#039;Writer&#039;&#039; Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate &#039;&#039;Writer&#039;&#039; and &#039;&#039;Calc&#039;&#039; Page Styles. || Par || Manipulate &#039;&#039;Writer&#039;&#039; Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate &#039;&#039;Base&#039;&#039; Queries. || Range || Create, modify, apply &#039;&#039;Calc&#039;&#039; Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate &#039;&#039;Base&#039;&#039; Reports. || Shapes || Create, modify, and insert shapes in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate &#039;&#039;Calc&#039;&#039; document sheets. || SQLStatement || Create, modify and execute SQL Statements in &#039;&#039;Base&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate &#039;&#039;Base&#039;&#039; Tables and &#039;&#039;Writer&#039;&#039; Text-Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Perform a Find and Replace operation in a Calc Document || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Helper.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Range.au3&amp;lt;br&amp;gt;&#039;&#039;&#039;Or simply&#039;&#039;&#039; #Include LibreOfficeCalc.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Functions - Naming Scheme&lt;br /&gt;
|- &lt;br /&gt;
|| Functions Naming Scheme: || _LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Example: || _LOWriter_ParObjCopy (&amp;quot;Copies&amp;quot; data selected by the ViewCursor) &lt;br /&gt;
|-&lt;br /&gt;
|| Where to find: || LibreOfficeWriter_Par.au3&lt;br /&gt;
|- &lt;br /&gt;
|| Description: || &amp;lt;Module&amp;gt; and &amp;lt;Object&amp;gt; can be found in the tables above. &amp;lt;Function&amp;gt; describes the manipulation to be done (read, modify, copy ...)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Example Code===&lt;br /&gt;
On [[LibreOffice-Examples|this page]] you&#039;ll find code examples for the LibreOffice modules&lt;br /&gt;
Base, Calc, Writer and the Portable LibreOffice version.&lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Debug your Script===&lt;br /&gt;
To debug your script, as with any AutoIt function, the first place to start is checking for @error, and @extended values after each function call. Each function in this UDF has error, extended and return values documented in the function header. &lt;br /&gt;
&lt;br /&gt;
===@error codes===&lt;br /&gt;
Currently there are 6 types of errors:&lt;br /&gt;
* 1. &#039;&#039;&#039;Input errors&#039;&#039;&#039;. This code indicates that the user has input the wrong type of data, or an out-of-bound value.&amp;lt;br&amp;gt;Make sure to re-read the parameters and any appropriate remarks for what is expected.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 1 and @extended = 1 stands for: &#039;&#039;$sFilePath not a string, or file not found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 2. &#039;&#039;&#039;Initialization errors&#039;&#039;&#039;. This code indicates that the UDF failed to create some Object or other necessary item for use in a certain function.&amp;lt;br&amp;gt;These types of errors are generally out of the user’s control, and may indicate something has changed with LibreOffice that has caused this UDF to no longer function appropriately.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 2 and @extended = 1 stands for: &#039;&#039;Failed to create ServiceManager Object.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 3. &#039;&#039;&#039;Processing errors&#039;&#039;&#039;. This code indicates that the UDF failed to perform some action.&amp;lt;br&amp;gt; Maybe something wrong with the UDF, or with LibreOffice. Double check that any input values are appropriate for what you are doing in the function that is failing.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 3 and @extended = 1 stands for: &#039;&#039;No open Libre Office documents found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 4. &#039;&#039;&#039;Property Setting errors&#039;&#039;&#039;. This code indicates that the function failed to set the requested property values.&amp;lt;br&amp;gt; Which properties have failed will be indicated in the returned @extended value, as a Bit value, this means that to determine what property or properties failed to be set you will need to us BitAND and compare the @extended value with the values listed in the function header.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 4 and @extended = 10 stands for: &#039;&#039;Error setting $bReadOnly (2) &#039;&#039;&#039;AND&#039;&#039;&#039; Error setting $bLoadAsTemplate (8).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 5. &#039;&#039;&#039;Printer errors&#039;&#039;&#039;. This code indicates problems with printers.&amp;lt;br&amp;gt; Whether when there were no printers found when retrieving the currently available printer names, or whether there was an issue when setting printer related settings.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 5 and @extended = 1 stands for: &#039;&#039;No default printer found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 6. &#039;&#039;&#039;Version errors&#039;&#039;&#039;. This code indicates that the current version of LibreOffice being too low for a specific function or parameter.&amp;lt;br&amp;gt; Any version limitations are documented in the function or parameter description. So either not use the function or parameter that requires a higher LibreOffice version, or upgrade to a newer version of LibreOffice. &amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 6 and @extended = 1 stands for: &#039;&#039;Current Libre Office version less than 7.4.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Catching COM Errors===&lt;br /&gt;
A further step for debugging scripts is to monitor for COM errors, which can be triggered if something is failing on the LibreOffice side of things. To aid in monitoring for COM errors, this UDF has user-COM error functions that allow the user to have a custom user function be called each time a COM error is encountered, or optionally, to either display a MsgBox with the COM error details, or output the COM error to the output using ConsoleWrite. Instructions for this are found in each respective COM Error function, &#039;&#039;_LO_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOBase_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOCalc_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOWriter_ComError_UserFunction&#039;&#039;. Each component has its own dedicated COM user error handler, e.g., LibreOfficeWriter has the &#039;&#039;_LOWriter_ComError_UserFunction&#039;&#039;, LibreOfficeCalc has &#039;&#039;_LOCalc_ComError_UserFunction&#039;&#039;, and also LibreOffice.au3 has its own COM error handler also, called: &#039;&#039;_LO_ComError_UserFunction&#039;&#039;. This allows the user to further see when something is failing, and what may be the cause of the failure, and perhaps be able to correct it. The resulting COM error will always contain the following sections, Number, Description, At line, Source, Error Description, though it will not always have all of the values filled in. As an example, a COM error will look similar to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
!	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number:&#039;&#039;&#039; 0x80020006&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Unknown name.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;At line:&#039;&#039;&#039; 199&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Source:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Error Description:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 !	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
 Number: 0x80020009&amp;lt;br&amp;gt;&lt;br /&gt;
 Description: Exception occurred.&amp;lt;br&amp;gt;&lt;br /&gt;
 At line: 200&amp;lt;br&amp;gt;&lt;br /&gt;
 Source: [automation bridge] &amp;lt;br&amp;gt;&lt;br /&gt;
 Error Description: InterfaceOleWrapper::Invoke : &amp;lt;br&amp;gt;&lt;br /&gt;
 [automation bridge]UnoConversionUtilities&amp;lt;T&amp;gt;::variantToAny &amp;lt;br&amp;gt;&lt;br /&gt;
 Cannot convert the value of vartype :&amp;quot;8&amp;quot;  to the expected UNO type of type class: 6 at C:\cygwin64\home\buildslave\source\libo-core\extensions\source\ole\unoconversionutilities.hxx:590&amp;lt;br&amp;gt;&lt;br /&gt;
 -2147352567	0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15264</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15264"/>
		<updated>2026-02-23T20:15:12Z</updated>

		<summary type="html">&lt;p&gt;Water: /* Getting started */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is in most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. On top of this, each respective style name retrieval function also lists any styles that have names differing from their internal names in the Remarks section of the header.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&lt;br /&gt;
&amp;lt;p&amp;gt;&#039;&#039;&#039;Example&#039;&#039;&#039;: (&amp;lt;small&amp;gt;No error checking is integrated, as we want to give a quick impression of how easy it is to create an AutoIt script with the LibreOffice UDF.&amp;lt;/small&amp;gt;)&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                       ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)               ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello World&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                                ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
These optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Char || Manipulate character styles in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in &#039;&#039;Calc&#039;&#039; documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Database || Manipulate &#039;&#039;Base&#039;&#039; Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in &#039;&#039;Writer&#039;&#039;. || Doc || Manipulate documents in &#039;&#039;Base&#039;&#039;, &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039; document fields. || FootEndNotes || Manipulate &#039;&#039;Writer&#039;&#039; Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate &#039;&#039;Base&#039;&#039; Forms and &#039;&#039;Writer&#039;&#039; Forms and Form Controls. || Frame || Manipulate &#039;&#039;Writer&#039;&#039; Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters! || Num || Manipulate &#039;&#039;Writer&#039;&#039; Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate &#039;&#039;Writer&#039;&#039; and &#039;&#039;Calc&#039;&#039; Page Styles. || Par || Manipulate &#039;&#039;Writer&#039;&#039; Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate &#039;&#039;Base&#039;&#039; Queries. || Range || Create, modify, apply &#039;&#039;Calc&#039;&#039; Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate &#039;&#039;Base&#039;&#039; Reports. || Shapes || Create, modify, and insert shapes in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate &#039;&#039;Calc&#039;&#039; document sheets. || SQLStatement || Create, modify and execute SQL Statements in &#039;&#039;Base&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate &#039;&#039;Base&#039;&#039; Tables and &#039;&#039;Writer&#039;&#039; Text-Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Perform a Find and Replace operation in a Calc Document || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Helper.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Range.au3&amp;lt;br&amp;gt;&#039;&#039;&#039;Or simply&#039;&#039;&#039; #Include LibreOfficeCalc.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Functions - Naming Scheme&lt;br /&gt;
|- &lt;br /&gt;
|| Functions Naming Scheme: || _LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Example: || _LOWriter_ParObjCopy (&amp;quot;Copies&amp;quot; data selected by the ViewCursor) &lt;br /&gt;
|-&lt;br /&gt;
|| Where to find: || LibreOfficeWriter_Par.au3&lt;br /&gt;
|- &lt;br /&gt;
|| Description: || &amp;lt;Module&amp;gt; and &amp;lt;Object&amp;gt; can be found in the tables above. &amp;lt;Function&amp;gt; describes the manipulation to be done (read, modify, copy ...)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&amp;lt;br&amp;gt;&lt;br /&gt;
===Example Code===&lt;br /&gt;
On [[LibreOffice-Examples|this page]] you&#039;ll find code examples for the LibreOffice modules&lt;br /&gt;
Base, Calc, Writer and the Portable LibreOffice version.&lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Debug your Script===&lt;br /&gt;
To debug your script, as with any AutoIt function, the first place to start is checking for @error, and @extended values after each function call. Each function in this UDF has error, extended and return values documented in the function header. &lt;br /&gt;
&lt;br /&gt;
===@error codes===&lt;br /&gt;
Currently there are 6 types of errors:&lt;br /&gt;
* 1. &#039;&#039;&#039;Input errors&#039;&#039;&#039;. This code indicates that the user has input the wrong type of data, or an out-of-bound value.&amp;lt;br&amp;gt;Make sure to re-read the parameters and any appropriate remarks for what is expected.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 1 and @extended = 1 stands for: &#039;&#039;$sFilePath not a string, or file not found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 2. &#039;&#039;&#039;Initialization errors&#039;&#039;&#039;. This code indicates that the UDF failed to create some Object or other necessary item for use in a certain function.&amp;lt;br&amp;gt;These types of errors are generally out of the user’s control, and may indicate something has changed with LibreOffice that has caused this UDF to no longer function appropriately.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 2 and @extended = 1 stands for: &#039;&#039;Failed to create ServiceManager Object.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 3. &#039;&#039;&#039;Processing errors&#039;&#039;&#039;. This code indicates that the UDF failed to perform some action.&amp;lt;br&amp;gt; Maybe something wrong with the UDF, or with LibreOffice. Double check that any input values are appropriate for what you are doing in the function that is failing.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 3 and @extended = 1 stands for: &#039;&#039;No open Libre Office documents found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 4. &#039;&#039;&#039;Property Setting errors&#039;&#039;&#039;. This code indicates that the function failed to set the requested property values.&amp;lt;br&amp;gt; Which properties have failed will be indicated in the returned @extended value, as a Bit value, this means that to determine what property or properties failed to be set you will need to us BitAND and compare the @extended value with the values listed in the function header.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 4 and @extended = 10 stands for: &#039;&#039;Error setting $bReadOnly (2) &#039;&#039;&#039;AND&#039;&#039;&#039; Error setting $bLoadAsTemplate (8).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 5. &#039;&#039;&#039;Printer errors&#039;&#039;&#039;. This code indicates problems with printers.&amp;lt;br&amp;gt; Whether when there were no printers found when retrieving the currently available printer names, or whether there was an issue when setting printer related settings.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 5 and @extended = 1 stands for: &#039;&#039;No default printer found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 6. &#039;&#039;&#039;Version errors&#039;&#039;&#039;. This code indicates that the current version of LibreOffice being too low for a specific function or parameter.&amp;lt;br&amp;gt; Any version limitations are documented in the function or parameter description. So either not use the function or parameter that requires a higher LibreOffice version, or upgrade to a newer version of LibreOffice. &amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 6 and @extended = 1 stands for: &#039;&#039;Current Libre Office version less than 7.4.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Catching COM Errors===&lt;br /&gt;
A further step for debugging scripts is to monitor for COM errors, which can be triggered if something is failing on the LibreOffice side of things. To aid in monitoring for COM errors, this UDF has user-COM error functions that allow the user to have a custom user function be called each time a COM error is encountered, or optionally, to either display a MsgBox with the COM error details, or output the COM error to the output using ConsoleWrite. Instructions for this are found in each respective COM Error function, &#039;&#039;_LO_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOBase_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOCalc_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOWriter_ComError_UserFunction&#039;&#039;. Each component has its own dedicated COM user error handler, e.g., LibreOfficeWriter has the &#039;&#039;_LOWriter_ComError_UserFunction&#039;&#039;, LibreOfficeCalc has &#039;&#039;_LOCalc_ComError_UserFunction&#039;&#039;, and also LibreOffice.au3 has its own COM error handler also, called: &#039;&#039;_LO_ComError_UserFunction&#039;&#039;. This allows the user to further see when something is failing, and what may be the cause of the failure, and perhaps be able to correct it. The resulting COM error will always contain the following sections, Number, Description, At line, Source, Error Description, though it will not always have all of the values filled in. As an example, a COM error will look similar to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
!	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number:&#039;&#039;&#039; 0x80020006&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Unknown name.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;At line:&#039;&#039;&#039; 199&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Source:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Error Description:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 !	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
 Number: 0x80020009&amp;lt;br&amp;gt;&lt;br /&gt;
 Description: Exception occurred.&amp;lt;br&amp;gt;&lt;br /&gt;
 At line: 200&amp;lt;br&amp;gt;&lt;br /&gt;
 Source: [automation bridge] &amp;lt;br&amp;gt;&lt;br /&gt;
 Error Description: InterfaceOleWrapper::Invoke : &amp;lt;br&amp;gt;&lt;br /&gt;
 [automation bridge]UnoConversionUtilities&amp;lt;T&amp;gt;::variantToAny &amp;lt;br&amp;gt;&lt;br /&gt;
 Cannot convert the value of vartype :&amp;quot;8&amp;quot;  to the expected UNO type of type class: 6 at C:\cygwin64\home\buildslave\source\libo-core\extensions\source\ole\unoconversionutilities.hxx:590&amp;lt;br&amp;gt;&lt;br /&gt;
 -2147352567	0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15263</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15263"/>
		<updated>2026-02-23T16:00:15Z</updated>

		<summary type="html">&lt;p&gt;Water: /* Example Code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is in most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. On top of this, each respective style name retrieval function also lists any styles that have names differing from their internal names in the Remarks section of the header.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Example&#039;&#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                       ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)               ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello World&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                                ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
These optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Char || Manipulate character styles in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in &#039;&#039;Calc&#039;&#039; documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Database || Manipulate &#039;&#039;Base&#039;&#039; Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in &#039;&#039;Writer&#039;&#039;. || Doc || Manipulate documents in &#039;&#039;Base&#039;&#039;, &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039; document fields. || FootEndNotes || Manipulate &#039;&#039;Writer&#039;&#039; Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate &#039;&#039;Base&#039;&#039; Forms and &#039;&#039;Writer&#039;&#039; Forms and Form Controls. || Frame || Manipulate &#039;&#039;Writer&#039;&#039; Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters! || Num || Manipulate &#039;&#039;Writer&#039;&#039; Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate &#039;&#039;Writer&#039;&#039; and &#039;&#039;Calc&#039;&#039; Page Styles. || Par || Manipulate &#039;&#039;Writer&#039;&#039; Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate &#039;&#039;Base&#039;&#039; Queries. || Range || Create, modify, apply &#039;&#039;Calc&#039;&#039; Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate &#039;&#039;Base&#039;&#039; Reports. || Shapes || Create, modify, and insert shapes in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate &#039;&#039;Calc&#039;&#039; document sheets. || SQLStatement || Create, modify and execute SQL Statements in &#039;&#039;Base&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate &#039;&#039;Base&#039;&#039; Tables and &#039;&#039;Writer&#039;&#039; Text-Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Perform a Find and Replace operation in a Calc Document || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Helper.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Range.au3&amp;lt;br&amp;gt;&#039;&#039;&#039;Or simply&#039;&#039;&#039; #Include LibreOfficeCalc.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Functions - Naming Scheme&lt;br /&gt;
|- &lt;br /&gt;
|| Functions Naming Scheme: || _LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Example: || _LOWriter_ParObjCopy (&amp;quot;Copies&amp;quot; data selected by the ViewCursor) &lt;br /&gt;
|-&lt;br /&gt;
|| Where to find: || LibreOfficeWriter_Par.au3&lt;br /&gt;
|- &lt;br /&gt;
|| Description: || &amp;lt;Module&amp;gt; and &amp;lt;Object&amp;gt; can be found in the tables above. &amp;lt;Function&amp;gt; describes the manipulation to be done (read, modify, copy ...)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&amp;lt;br&amp;gt;&lt;br /&gt;
===Example Code===&lt;br /&gt;
On [[LibreOffice-Examples|this page]] you&#039;ll find code examples for the LibreOffice modules&lt;br /&gt;
Base, Calc, Writer and the Portable LibreOffice version.&lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Debug your Script===&lt;br /&gt;
To debug your script, as with any AutoIt function, the first place to start is checking for @error, and @extended values after each function call. Each function in this UDF has error, extended and return values documented in the function header. &lt;br /&gt;
&lt;br /&gt;
===@error codes===&lt;br /&gt;
Currently there are 6 types of errors:&lt;br /&gt;
* 1. &#039;&#039;&#039;Input errors&#039;&#039;&#039;. This code indicates that the user has input the wrong type of data, or an out-of-bound value.&amp;lt;br&amp;gt;Make sure to re-read the parameters and any appropriate remarks for what is expected.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 1 and @extended = 1 stands for: &#039;&#039;$sFilePath not a string, or file not found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 2. &#039;&#039;&#039;Initialization errors&#039;&#039;&#039;. This code indicates that the UDF failed to create some Object or other necessary item for use in a certain function.&amp;lt;br&amp;gt;These types of errors are generally out of the user’s control, and may indicate something has changed with LibreOffice that has caused this UDF to no longer function appropriately.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 2 and @extended = 1 stands for: &#039;&#039;Failed to create ServiceManager Object.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 3. &#039;&#039;&#039;Processing errors&#039;&#039;&#039;. This code indicates that the UDF failed to perform some action.&amp;lt;br&amp;gt; Maybe something wrong with the UDF, or with LibreOffice. Double check that any input values are appropriate for what you are doing in the function that is failing.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 3 and @extended = 1 stands for: &#039;&#039;No open Libre Office documents found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 4. &#039;&#039;&#039;Property Setting errors&#039;&#039;&#039;. This code indicates that the function failed to set the requested property values.&amp;lt;br&amp;gt; Which properties have failed will be indicated in the returned @extended value, as a Bit value, this means that to determine what property or properties failed to be set you will need to us BitAND and compare the @extended value with the values listed in the function header.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 4 and @extended = 10 stands for: &#039;&#039;Error setting $bReadOnly (2) &#039;&#039;&#039;AND&#039;&#039;&#039; Error setting $bLoadAsTemplate (8).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 5. &#039;&#039;&#039;Printer errors&#039;&#039;&#039;. This code indicates problems with printers.&amp;lt;br&amp;gt; Whether when there were no printers found when retrieving the currently available printer names, or whether there was an issue when setting printer related settings.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 5 and @extended = 1 stands for: &#039;&#039;No default printer found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 6. &#039;&#039;&#039;Version errors&#039;&#039;&#039;. This code indicates that the current version of LibreOffice being too low for a specific function or parameter.&amp;lt;br&amp;gt; Any version limitations are documented in the function or parameter description. So either not use the function or parameter that requires a higher LibreOffice version, or upgrade to a newer version of LibreOffice. &amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 6 and @extended = 1 stands for: &#039;&#039;Current Libre Office version less than 7.4.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Catching COM Errors===&lt;br /&gt;
A further step for debugging scripts is to monitor for COM errors, which can be triggered if something is failing on the LibreOffice side of things. To aid in monitoring for COM errors, this UDF has user-COM error functions that allow the user to have a custom user function be called each time a COM error is encountered, or optionally, to either display a MsgBox with the COM error details, or output the COM error to the output using ConsoleWrite. Instructions for this are found in each respective COM Error function, &#039;&#039;_LO_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOBase_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOCalc_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOWriter_ComError_UserFunction&#039;&#039;. Each component has its own dedicated COM user error handler, e.g., LibreOfficeWriter has the &#039;&#039;_LOWriter_ComError_UserFunction&#039;&#039;, LibreOfficeCalc has &#039;&#039;_LOCalc_ComError_UserFunction&#039;&#039;, and also LibreOffice.au3 has its own COM error handler also, called: &#039;&#039;_LO_ComError_UserFunction&#039;&#039;. This allows the user to further see when something is failing, and what may be the cause of the failure, and perhaps be able to correct it. The resulting COM error will always contain the following sections, Number, Description, At line, Source, Error Description, though it will not always have all of the values filled in. As an example, a COM error will look similar to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
!	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number:&#039;&#039;&#039; 0x80020006&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Unknown name.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;At line:&#039;&#039;&#039; 199&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Source:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Error Description:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 !	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
 Number: 0x80020009&amp;lt;br&amp;gt;&lt;br /&gt;
 Description: Exception occurred.&amp;lt;br&amp;gt;&lt;br /&gt;
 At line: 200&amp;lt;br&amp;gt;&lt;br /&gt;
 Source: [automation bridge] &amp;lt;br&amp;gt;&lt;br /&gt;
 Error Description: InterfaceOleWrapper::Invoke : &amp;lt;br&amp;gt;&lt;br /&gt;
 [automation bridge]UnoConversionUtilities&amp;lt;T&amp;gt;::variantToAny &amp;lt;br&amp;gt;&lt;br /&gt;
 Cannot convert the value of vartype :&amp;quot;8&amp;quot;  to the expected UNO type of type class: 6 at C:\cygwin64\home\buildslave\source\libo-core\extensions\source\ole\unoconversionutilities.hxx:590&amp;lt;br&amp;gt;&lt;br /&gt;
 -2147352567	0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15262</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15262"/>
		<updated>2026-02-23T15:56:58Z</updated>

		<summary type="html">&lt;p&gt;Water: /* Example Code */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is in most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. On top of this, each respective style name retrieval function also lists any styles that have names differing from their internal names in the Remarks section of the header.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Example&#039;&#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                       ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)               ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello World&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                                ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
These optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Char || Manipulate character styles in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in &#039;&#039;Calc&#039;&#039; documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Database || Manipulate &#039;&#039;Base&#039;&#039; Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in &#039;&#039;Writer&#039;&#039;. || Doc || Manipulate documents in &#039;&#039;Base&#039;&#039;, &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039; document fields. || FootEndNotes || Manipulate &#039;&#039;Writer&#039;&#039; Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate &#039;&#039;Base&#039;&#039; Forms and &#039;&#039;Writer&#039;&#039; Forms and Form Controls. || Frame || Manipulate &#039;&#039;Writer&#039;&#039; Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters! || Num || Manipulate &#039;&#039;Writer&#039;&#039; Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate &#039;&#039;Writer&#039;&#039; and &#039;&#039;Calc&#039;&#039; Page Styles. || Par || Manipulate &#039;&#039;Writer&#039;&#039; Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate &#039;&#039;Base&#039;&#039; Queries. || Range || Create, modify, apply &#039;&#039;Calc&#039;&#039; Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate &#039;&#039;Base&#039;&#039; Reports. || Shapes || Create, modify, and insert shapes in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate &#039;&#039;Calc&#039;&#039; document sheets. || SQLStatement || Create, modify and execute SQL Statements in &#039;&#039;Base&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate &#039;&#039;Base&#039;&#039; Tables and &#039;&#039;Writer&#039;&#039; Text-Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Perform a Find and Replace operation in a Calc Document || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Helper.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Range.au3&amp;lt;br&amp;gt;&#039;&#039;&#039;Or simply&#039;&#039;&#039; #Include LibreOfficeCalc.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Functions - Naming Scheme&lt;br /&gt;
|- &lt;br /&gt;
|| Functions Naming Scheme: || _LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Example: || _LOWriter_ParObjCopy (&amp;quot;Copies&amp;quot; data selected by the ViewCursor) &lt;br /&gt;
|-&lt;br /&gt;
|| Where to find: || LibreOfficeWriter_Par.au3&lt;br /&gt;
|- &lt;br /&gt;
|| Description: || &amp;lt;Module&amp;gt; and &amp;lt;Object&amp;gt; can be found in the tables above. &amp;lt;Function&amp;gt; describes the manipulation to be done (read, modify, copy ...)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&amp;lt;br&amp;gt;&lt;br /&gt;
===Example Code===&lt;br /&gt;
[[LibreOffice-Examples|This page]] offers code examples for most  modules to get you started.&lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Debug your Script===&lt;br /&gt;
To debug your script, as with any AutoIt function, the first place to start is checking for @error, and @extended values after each function call. Each function in this UDF has error, extended and return values documented in the function header. &lt;br /&gt;
&lt;br /&gt;
===@error codes===&lt;br /&gt;
Currently there are 6 types of errors:&lt;br /&gt;
* 1. &#039;&#039;&#039;Input errors&#039;&#039;&#039;. This code indicates that the user has input the wrong type of data, or an out-of-bound value.&amp;lt;br&amp;gt;Make sure to re-read the parameters and any appropriate remarks for what is expected.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 1 and @extended = 1 stands for: &#039;&#039;$sFilePath not a string, or file not found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 2. &#039;&#039;&#039;Initialization errors&#039;&#039;&#039;. This code indicates that the UDF failed to create some Object or other necessary item for use in a certain function.&amp;lt;br&amp;gt;These types of errors are generally out of the user’s control, and may indicate something has changed with LibreOffice that has caused this UDF to no longer function appropriately.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 2 and @extended = 1 stands for: &#039;&#039;Failed to create ServiceManager Object.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 3. &#039;&#039;&#039;Processing errors&#039;&#039;&#039;. This code indicates that the UDF failed to perform some action.&amp;lt;br&amp;gt; Maybe something wrong with the UDF, or with LibreOffice. Double check that any input values are appropriate for what you are doing in the function that is failing.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 3 and @extended = 1 stands for: &#039;&#039;No open Libre Office documents found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 4. &#039;&#039;&#039;Property Setting errors&#039;&#039;&#039;. This code indicates that the function failed to set the requested property values.&amp;lt;br&amp;gt; Which properties have failed will be indicated in the returned @extended value, as a Bit value, this means that to determine what property or properties failed to be set you will need to us BitAND and compare the @extended value with the values listed in the function header.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 4 and @extended = 10 stands for: &#039;&#039;Error setting $bReadOnly (2) &#039;&#039;&#039;AND&#039;&#039;&#039; Error setting $bLoadAsTemplate (8).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 5. &#039;&#039;&#039;Printer errors&#039;&#039;&#039;. This code indicates problems with printers.&amp;lt;br&amp;gt; Whether when there were no printers found when retrieving the currently available printer names, or whether there was an issue when setting printer related settings.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 5 and @extended = 1 stands for: &#039;&#039;No default printer found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 6. &#039;&#039;&#039;Version errors&#039;&#039;&#039;. This code indicates that the current version of LibreOffice being too low for a specific function or parameter.&amp;lt;br&amp;gt; Any version limitations are documented in the function or parameter description. So either not use the function or parameter that requires a higher LibreOffice version, or upgrade to a newer version of LibreOffice. &amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 6 and @extended = 1 stands for: &#039;&#039;Current Libre Office version less than 7.4.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Catching COM Errors===&lt;br /&gt;
A further step for debugging scripts is to monitor for COM errors, which can be triggered if something is failing on the LibreOffice side of things. To aid in monitoring for COM errors, this UDF has user-COM error functions that allow the user to have a custom user function be called each time a COM error is encountered, or optionally, to either display a MsgBox with the COM error details, or output the COM error to the output using ConsoleWrite. Instructions for this are found in each respective COM Error function, &#039;&#039;_LO_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOBase_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOCalc_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOWriter_ComError_UserFunction&#039;&#039;. Each component has its own dedicated COM user error handler, e.g., LibreOfficeWriter has the &#039;&#039;_LOWriter_ComError_UserFunction&#039;&#039;, LibreOfficeCalc has &#039;&#039;_LOCalc_ComError_UserFunction&#039;&#039;, and also LibreOffice.au3 has its own COM error handler also, called: &#039;&#039;_LO_ComError_UserFunction&#039;&#039;. This allows the user to further see when something is failing, and what may be the cause of the failure, and perhaps be able to correct it. The resulting COM error will always contain the following sections, Number, Description, At line, Source, Error Description, though it will not always have all of the values filled in. As an example, a COM error will look similar to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
!	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number:&#039;&#039;&#039; 0x80020006&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Unknown name.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;At line:&#039;&#039;&#039; 199&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Source:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Error Description:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 !	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
 Number: 0x80020009&amp;lt;br&amp;gt;&lt;br /&gt;
 Description: Exception occurred.&amp;lt;br&amp;gt;&lt;br /&gt;
 At line: 200&amp;lt;br&amp;gt;&lt;br /&gt;
 Source: [automation bridge] &amp;lt;br&amp;gt;&lt;br /&gt;
 Error Description: InterfaceOleWrapper::Invoke : &amp;lt;br&amp;gt;&lt;br /&gt;
 [automation bridge]UnoConversionUtilities&amp;lt;T&amp;gt;::variantToAny &amp;lt;br&amp;gt;&lt;br /&gt;
 Cannot convert the value of vartype :&amp;quot;8&amp;quot;  to the expected UNO type of type class: 6 at C:\cygwin64\home\buildslave\source\libo-core\extensions\source\ole\unoconversionutilities.hxx:590&amp;lt;br&amp;gt;&lt;br /&gt;
 -2147352567	0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15261</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15261"/>
		<updated>2026-02-23T15:56:37Z</updated>

		<summary type="html">&lt;p&gt;Water: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is in most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. On top of this, each respective style name retrieval function also lists any styles that have names differing from their internal names in the Remarks section of the header.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Example&#039;&#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                       ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)               ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello World&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                                ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
These optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Char || Manipulate character styles in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in &#039;&#039;Calc&#039;&#039; documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Database || Manipulate &#039;&#039;Base&#039;&#039; Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in &#039;&#039;Writer&#039;&#039;. || Doc || Manipulate documents in &#039;&#039;Base&#039;&#039;, &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039; document fields. || FootEndNotes || Manipulate &#039;&#039;Writer&#039;&#039; Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate &#039;&#039;Base&#039;&#039; Forms and &#039;&#039;Writer&#039;&#039; Forms and Form Controls. || Frame || Manipulate &#039;&#039;Writer&#039;&#039; Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters! || Num || Manipulate &#039;&#039;Writer&#039;&#039; Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate &#039;&#039;Writer&#039;&#039; and &#039;&#039;Calc&#039;&#039; Page Styles. || Par || Manipulate &#039;&#039;Writer&#039;&#039; Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate &#039;&#039;Base&#039;&#039; Queries. || Range || Create, modify, apply &#039;&#039;Calc&#039;&#039; Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate &#039;&#039;Base&#039;&#039; Reports. || Shapes || Create, modify, and insert shapes in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate &#039;&#039;Calc&#039;&#039; document sheets. || SQLStatement || Create, modify and execute SQL Statements in &#039;&#039;Base&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate &#039;&#039;Base&#039;&#039; Tables and &#039;&#039;Writer&#039;&#039; Text-Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Perform a Find and Replace operation in a Calc Document || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Helper.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Range.au3&amp;lt;br&amp;gt;&#039;&#039;&#039;Or simply&#039;&#039;&#039; #Include LibreOfficeCalc.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Functions - Naming Scheme&lt;br /&gt;
|- &lt;br /&gt;
|| Functions Naming Scheme: || _LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Example: || _LOWriter_ParObjCopy (&amp;quot;Copies&amp;quot; data selected by the ViewCursor) &lt;br /&gt;
|-&lt;br /&gt;
|| Where to find: || LibreOfficeWriter_Par.au3&lt;br /&gt;
|- &lt;br /&gt;
|| Description: || &amp;lt;Module&amp;gt; and &amp;lt;Object&amp;gt; can be found in the tables above. &amp;lt;Function&amp;gt; describes the manipulation to be done (read, modify, copy ...)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&amp;lt;br&amp;gt;&lt;br /&gt;
===Example Code===&lt;br /&gt;
[[[LibreOffice-Examples|This page]]] offers code examples for most  modules to get you started.&lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Debug your Script===&lt;br /&gt;
To debug your script, as with any AutoIt function, the first place to start is checking for @error, and @extended values after each function call. Each function in this UDF has error, extended and return values documented in the function header. &lt;br /&gt;
&lt;br /&gt;
===@error codes===&lt;br /&gt;
Currently there are 6 types of errors:&lt;br /&gt;
* 1. &#039;&#039;&#039;Input errors&#039;&#039;&#039;. This code indicates that the user has input the wrong type of data, or an out-of-bound value.&amp;lt;br&amp;gt;Make sure to re-read the parameters and any appropriate remarks for what is expected.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 1 and @extended = 1 stands for: &#039;&#039;$sFilePath not a string, or file not found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 2. &#039;&#039;&#039;Initialization errors&#039;&#039;&#039;. This code indicates that the UDF failed to create some Object or other necessary item for use in a certain function.&amp;lt;br&amp;gt;These types of errors are generally out of the user’s control, and may indicate something has changed with LibreOffice that has caused this UDF to no longer function appropriately.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 2 and @extended = 1 stands for: &#039;&#039;Failed to create ServiceManager Object.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 3. &#039;&#039;&#039;Processing errors&#039;&#039;&#039;. This code indicates that the UDF failed to perform some action.&amp;lt;br&amp;gt; Maybe something wrong with the UDF, or with LibreOffice. Double check that any input values are appropriate for what you are doing in the function that is failing.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 3 and @extended = 1 stands for: &#039;&#039;No open Libre Office documents found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 4. &#039;&#039;&#039;Property Setting errors&#039;&#039;&#039;. This code indicates that the function failed to set the requested property values.&amp;lt;br&amp;gt; Which properties have failed will be indicated in the returned @extended value, as a Bit value, this means that to determine what property or properties failed to be set you will need to us BitAND and compare the @extended value with the values listed in the function header.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 4 and @extended = 10 stands for: &#039;&#039;Error setting $bReadOnly (2) &#039;&#039;&#039;AND&#039;&#039;&#039; Error setting $bLoadAsTemplate (8).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 5. &#039;&#039;&#039;Printer errors&#039;&#039;&#039;. This code indicates problems with printers.&amp;lt;br&amp;gt; Whether when there were no printers found when retrieving the currently available printer names, or whether there was an issue when setting printer related settings.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 5 and @extended = 1 stands for: &#039;&#039;No default printer found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 6. &#039;&#039;&#039;Version errors&#039;&#039;&#039;. This code indicates that the current version of LibreOffice being too low for a specific function or parameter.&amp;lt;br&amp;gt; Any version limitations are documented in the function or parameter description. So either not use the function or parameter that requires a higher LibreOffice version, or upgrade to a newer version of LibreOffice. &amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 6 and @extended = 1 stands for: &#039;&#039;Current Libre Office version less than 7.4.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Catching COM Errors===&lt;br /&gt;
A further step for debugging scripts is to monitor for COM errors, which can be triggered if something is failing on the LibreOffice side of things. To aid in monitoring for COM errors, this UDF has user-COM error functions that allow the user to have a custom user function be called each time a COM error is encountered, or optionally, to either display a MsgBox with the COM error details, or output the COM error to the output using ConsoleWrite. Instructions for this are found in each respective COM Error function, &#039;&#039;_LO_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOBase_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOCalc_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOWriter_ComError_UserFunction&#039;&#039;. Each component has its own dedicated COM user error handler, e.g., LibreOfficeWriter has the &#039;&#039;_LOWriter_ComError_UserFunction&#039;&#039;, LibreOfficeCalc has &#039;&#039;_LOCalc_ComError_UserFunction&#039;&#039;, and also LibreOffice.au3 has its own COM error handler also, called: &#039;&#039;_LO_ComError_UserFunction&#039;&#039;. This allows the user to further see when something is failing, and what may be the cause of the failure, and perhaps be able to correct it. The resulting COM error will always contain the following sections, Number, Description, At line, Source, Error Description, though it will not always have all of the values filled in. As an example, a COM error will look similar to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
!	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number:&#039;&#039;&#039; 0x80020006&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Unknown name.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;At line:&#039;&#039;&#039; 199&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Source:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Error Description:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 !	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
 Number: 0x80020009&amp;lt;br&amp;gt;&lt;br /&gt;
 Description: Exception occurred.&amp;lt;br&amp;gt;&lt;br /&gt;
 At line: 200&amp;lt;br&amp;gt;&lt;br /&gt;
 Source: [automation bridge] &amp;lt;br&amp;gt;&lt;br /&gt;
 Error Description: InterfaceOleWrapper::Invoke : &amp;lt;br&amp;gt;&lt;br /&gt;
 [automation bridge]UnoConversionUtilities&amp;lt;T&amp;gt;::variantToAny &amp;lt;br&amp;gt;&lt;br /&gt;
 Cannot convert the value of vartype :&amp;quot;8&amp;quot;  to the expected UNO type of type class: 6 at C:\cygwin64\home\buildslave\source\libo-core\extensions\source\ole\unoconversionutilities.hxx:590&amp;lt;br&amp;gt;&lt;br /&gt;
 -2147352567	0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice-Examples&amp;diff=15260</id>
		<title>LibreOffice-Examples</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice-Examples&amp;diff=15260"/>
		<updated>2026-02-23T15:52:27Z</updated>

		<summary type="html">&lt;p&gt;Water: Created page with &amp;quot;==Getting Started Examples== ===Quickstart: Base===  &amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt; #include &amp;lt;MsgBoxConstants.au3&amp;gt; #include &amp;lt;File.au3&amp;gt;  #include &amp;quot;LibreOfficeBase.au3&amp;quot;  ; Create a New, visible, Blank Libre Office Document. Global $oDoc = _LOBase_DocCreate(True, False) If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to Create a new Base Document. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)  ; Set the Da...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Getting Started Examples==&lt;br /&gt;
===Quickstart: Base===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;MsgBoxConstants.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;File.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;LibreOfficeBase.au3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
Global $oDoc = _LOBase_DocCreate(True, False)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to Create a new Base Document. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Set the Database type.&lt;br /&gt;
_LOBase_DocDatabaseType($oDoc)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to Set Base Document Database type. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Create a unique file name&lt;br /&gt;
Global $sSavePath = _TempFile(@DesktopDir &amp;amp; &amp;quot;\&amp;quot;, &amp;quot;BaseDocTestFile_&amp;quot;, &amp;quot;.odb&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
; Save The Base Document To Desktop Directory.&lt;br /&gt;
_LOBase_DocSaveAs($oDoc, $sSavePath)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to save the Base Document. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Retrieve the Database Object.&lt;br /&gt;
$oDBase = _LOBase_DatabaseGetObjByDoc($oDoc)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to Retrieve the Base Document Database Object. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Connect to the Database&lt;br /&gt;
$oConnection = _LOBase_DatabaseConnectionGet($oDBase)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to create a connection to the Database. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Add a Table to the Database.&lt;br /&gt;
_LOBase_TableAdd($oConnection, &amp;quot;tblNew_Table&amp;quot;, &amp;quot;Col1&amp;quot;)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to add a table to the Database. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Close the connection.&lt;br /&gt;
_LOBase_DatabaseConnectionClose($oConnection)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to close a connection to the Database. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Save the changes to the document.&lt;br /&gt;
_LOBase_DocSave($oDoc)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to Save the Base Document. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Close the Base Document.&lt;br /&gt;
_LOBase_DocClose($oDoc, False)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to Close the Base Document. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Quickstart: Calc===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;MsgBoxConstants.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;File.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;LibreOfficeCalc.au3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
Global $oDoc = _LOCalc_DocCreate(True, False)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to Create a new Calc Document. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Retrieve the presently active Sheet.&lt;br /&gt;
Global $oSheet = _LOCalc_SheetGetActive($oDoc)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to retrieve the currently active Sheet Object. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Retrieve the Object for Cell B1.&lt;br /&gt;
Global $oCell = _LOCalc_RangeGetCellByName($oSheet, &amp;quot;B1&amp;quot;)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to retrieve B1 Cell Object. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Set Cell B1&#039;s Text.&lt;br /&gt;
_LOCalc_CellString($oCell, &amp;quot;Sales&amp;quot;)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to Set B1 Cell content. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Retrieve the Object for Cell B2.&lt;br /&gt;
$oCell = _LOCalc_RangeGetCellByName($oSheet, &amp;quot;B2&amp;quot;)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to retrieve B2 Cell Object. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Set B2 Cell Value to 50&lt;br /&gt;
_LOCalc_CellValue($oCell, 50)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to Set B2 Cell content. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Retrieve the Object for Cell B3.&lt;br /&gt;
$oCell = _LOCalc_RangeGetCellByName($oSheet, &amp;quot;B3&amp;quot;)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to retrieve B3 Cell Object. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Set B3 Cell Value to 15.50&lt;br /&gt;
_LOCalc_CellValue($oCell, 15.50)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to Set B3 Cell content. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Retrieve the Object for Cell A5.&lt;br /&gt;
$oCell = _LOCalc_RangeGetCellByName($oSheet, &amp;quot;A5&amp;quot;)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to retrieve A5 Cell Object. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Set Cell A5&#039;s Text.&lt;br /&gt;
_LOCalc_CellString($oCell, &amp;quot;Total&amp;quot;)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to Set B1 Cell content. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Retrieve the Object for Cell B5.&lt;br /&gt;
$oCell = _LOCalc_RangeGetCellByName($oSheet, &amp;quot;B5&amp;quot;)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to retrieve A5 Cell Object. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Set the Formula for Cell B5&lt;br /&gt;
_LOCalc_CellFormula($oCell, &amp;quot;=SUM(B2:B3)&amp;quot;)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to Set Cell B5 Formula. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Create a unique file name&lt;br /&gt;
Global $sSavePath = _TempFile(@DesktopDir &amp;amp; &amp;quot;\&amp;quot;, &amp;quot;CalcDocTestFile_&amp;quot;, &amp;quot;.ods&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
; Save The Calc Document To Desktop Directory.&lt;br /&gt;
_LOCalc_DocSaveAs($oDoc, $sSavePath)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to save the Calc Document. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Close the Calc Document.&lt;br /&gt;
_LOCalc_DocClose($oDoc, False)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to Close the Calc Document. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Quickstart: Writer===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;MsgBoxConstants.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;File.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
Global $oDoc = _LOWriter_DocCreate(True, False)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to Create a new Writer Document. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Retrieve the visible document cursor (caret) to insert text with.&lt;br /&gt;
Global $oViewCursor = _LOWriter_DocGetViewCursor($oDoc)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to retrieve the View Cursor Object for the Writer Document. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello from LibreOffice, and AutoIt!&amp;quot;)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to insert text. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Create a unique file name&lt;br /&gt;
Global $sSavePath = _TempFile(@DesktopDir &amp;amp; &amp;quot;\&amp;quot;, &amp;quot;DocTestFile_&amp;quot;, &amp;quot;.odt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
; Save The Document To Desktop Directory.&lt;br /&gt;
_LOWriter_DocSaveAs($oDoc, $sSavePath)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to save the Writer Document. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Close the document.&lt;br /&gt;
_LOWriter_DocClose($oDoc, False)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to close opened L.O. Document. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Starting Portable LibreOffice Example===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;MsgBoxConstants.au3&amp;gt;&lt;br /&gt;
#include &amp;lt;File.au3&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;LibreOffice_Helper.au3&amp;quot;&lt;br /&gt;
#include &amp;quot;LibreOfficeCalc.au3&amp;quot;&lt;br /&gt;
#include &amp;quot;LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; Update this path to match the path to your Portable LibreOffice/OpenOffice folder.&lt;br /&gt;
Global $sPathToPortable = &amp;quot;C:\Portable Apps\LibreOfficePortablePrevious&amp;quot;&lt;br /&gt;
&lt;br /&gt;
; Initialize Portable LibreOffice&lt;br /&gt;
_LO_InitializePortable($sPathToPortable)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to Initialize L.O. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Create a new Writer Document.&lt;br /&gt;
Global $oWriterDoc = _LOWriter_DocCreate(True, False)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to Create a new Writer Document. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Retrieve the visible document cursor (caret) to insert text with.&lt;br /&gt;
Global $oViewCursor = _LOWriter_DocGetViewCursor($oWriterDoc)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to retrieve the View Cursor Object for the Writer Document. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocInsertString($oWriterDoc, $oViewCursor, &amp;quot;Hello from LibreOffice, and AutoIt!&amp;quot;)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to insert text. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Create a new Calc Document.&lt;br /&gt;
Global $oCalcDoc = _LOCalc_DocCreate(True, False)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to Create a new Calc Document. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Retrieve the presently active Sheet.&lt;br /&gt;
Global $oSheet = _LOCalc_SheetGetActive($oCalcDoc)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to retrieve the currently active Sheet Object. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Retrieve the Object for Cell B1.&lt;br /&gt;
Global $oCell = _LOCalc_RangeGetCellByName($oSheet, &amp;quot;B1&amp;quot;)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to retrieve B1 Cell Object. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Set Cell B1&#039;s Text.&lt;br /&gt;
_LOCalc_CellString($oCell, &amp;quot;Sales&amp;quot;)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to Set B1 Cell content. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Retrieve the Object for Cell B2.&lt;br /&gt;
$oCell = _LOCalc_RangeGetCellByName($oSheet, &amp;quot;B2&amp;quot;)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to retrieve B2 Cell Object. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Set B2 Cell Value to 50&lt;br /&gt;
_LOCalc_CellValue($oCell, 50)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to Set B2 Cell content. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Retrieve the Object for Cell B3.&lt;br /&gt;
$oCell = _LOCalc_RangeGetCellByName($oSheet, &amp;quot;B3&amp;quot;)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to retrieve B3 Cell Object. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Set B3 Cell Value to 15.50&lt;br /&gt;
_LOCalc_CellValue($oCell, 15.50)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to Set B3 Cell content. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Retrieve the Object for Cell A5.&lt;br /&gt;
$oCell = _LOCalc_RangeGetCellByName($oSheet, &amp;quot;A5&amp;quot;)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to retrieve A5 Cell Object. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Set Cell A5&#039;s Text.&lt;br /&gt;
_LOCalc_CellString($oCell, &amp;quot;Total&amp;quot;)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to Set B1 Cell content. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Retrieve the Object for Cell B5.&lt;br /&gt;
$oCell = _LOCalc_RangeGetCellByName($oSheet, &amp;quot;B5&amp;quot;)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to retrieve A5 Cell Object. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Set the Formula for Cell B5&lt;br /&gt;
_LOCalc_CellFormula($oCell, &amp;quot;=SUM(B2:B3)&amp;quot;)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to Set Cell B5 Formula. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Create a unique file name&lt;br /&gt;
Global $sSavePath = _TempFile(@DesktopDir &amp;amp; &amp;quot;\&amp;quot;, &amp;quot;WriterDocTestFile_&amp;quot;, &amp;quot;.odt&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
; Save The Writer Document To Desktop Directory.&lt;br /&gt;
_LOWriter_DocSaveAs($oWriterDoc, $sSavePath)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to save the Writer Document. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Create a unique file name&lt;br /&gt;
$sSavePath = _TempFile(@DesktopDir &amp;amp; &amp;quot;\&amp;quot;, &amp;quot;CalcDocTestFile_&amp;quot;, &amp;quot;.ods&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
; Save The Calc Document To Desktop Directory.&lt;br /&gt;
_LOCalc_DocSaveAs($oCalcDoc, $sSavePath)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to save the Calc Document. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Close the Writer document.&lt;br /&gt;
_LOWriter_DocClose($oWriterDoc, False)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to close opened L.O. Document. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&lt;br /&gt;
; Close the Calc Document.&lt;br /&gt;
_LOCalc_DocClose($oCalcDoc, False)&lt;br /&gt;
If @error Then Exit MsgBox($MB_OK + $MB_ICONERROR + $MB_TOPMOST, &amp;quot;Error&amp;quot;, &amp;quot;Failed to Close the Calc Document. Error:&amp;quot; &amp;amp; @error &amp;amp; &amp;quot; Extended:&amp;quot; &amp;amp; @extended &amp;amp; &amp;quot; On Line: &amp;quot; &amp;amp; @ScriptLineNumber)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15259</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15259"/>
		<updated>2026-02-23T15:22:10Z</updated>

		<summary type="html">&lt;p&gt;Water: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is in most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. On top of this, each respective style name retrieval function also lists any styles that have names differing from their internal names in the Remarks section of the header.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Example&#039;&#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                       ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)               ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello World&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                                ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
These optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Char || Manipulate character styles in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in &#039;&#039;Calc&#039;&#039; documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Database || Manipulate &#039;&#039;Base&#039;&#039; Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in &#039;&#039;Writer&#039;&#039;. || Doc || Manipulate documents in &#039;&#039;Base&#039;&#039;, &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039; document fields. || FootEndNotes || Manipulate &#039;&#039;Writer&#039;&#039; Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate &#039;&#039;Base&#039;&#039; Forms and &#039;&#039;Writer&#039;&#039; Forms and Form Controls. || Frame || Manipulate &#039;&#039;Writer&#039;&#039; Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters! || Num || Manipulate &#039;&#039;Writer&#039;&#039; Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate &#039;&#039;Writer&#039;&#039; and &#039;&#039;Calc&#039;&#039; Page Styles. || Par || Manipulate &#039;&#039;Writer&#039;&#039; Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate &#039;&#039;Base&#039;&#039; Queries. || Range || Create, modify, apply &#039;&#039;Calc&#039;&#039; Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate &#039;&#039;Base&#039;&#039; Reports. || Shapes || Create, modify, and insert shapes in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate &#039;&#039;Calc&#039;&#039; document sheets. || SQLStatement || Create, modify and execute SQL Statements in &#039;&#039;Base&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate &#039;&#039;Base&#039;&#039; Tables and &#039;&#039;Writer&#039;&#039; Text-Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Perform a Find and Replace operation in a Calc Document || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Helper.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Range.au3&amp;lt;br&amp;gt;&#039;&#039;&#039;Or simply&#039;&#039;&#039; #Include LibreOfficeCalc.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Functions - Naming Scheme&lt;br /&gt;
|- &lt;br /&gt;
|| Functions Naming Scheme: || _LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Example: || _LOWriter_ParObjCopy (&amp;quot;Copies&amp;quot; data selected by the ViewCursor) &lt;br /&gt;
|-&lt;br /&gt;
|| Where to find: || LibreOfficeWriter_Par.au3&lt;br /&gt;
|- &lt;br /&gt;
|| Description: || &amp;lt;Module&amp;gt; and &amp;lt;Object&amp;gt; can be found in the tables above. &amp;lt;Function&amp;gt; describes the manipulation to be done (read, modify, copy ...)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
===Debug your Script===&lt;br /&gt;
To debug your script, as with any AutoIt function, the first place to start is checking for @error, and @extended values after each function call. Each function in this UDF has error, extended and return values documented in the function header. &lt;br /&gt;
&lt;br /&gt;
===@error codes===&lt;br /&gt;
Currently there are 6 types of errors:&lt;br /&gt;
* 1. &#039;&#039;&#039;Input errors&#039;&#039;&#039;. This code indicates that the user has input the wrong type of data, or an out-of-bound value.&amp;lt;br&amp;gt;Make sure to re-read the parameters and any appropriate remarks for what is expected.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 1 and @extended = 1 stands for: &#039;&#039;$sFilePath not a string, or file not found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 2. &#039;&#039;&#039;Initialization errors&#039;&#039;&#039;. This code indicates that the UDF failed to create some Object or other necessary item for use in a certain function.&amp;lt;br&amp;gt;These types of errors are generally out of the user’s control, and may indicate something has changed with LibreOffice that has caused this UDF to no longer function appropriately.&amp;lt;br&amp;gt; &#039;&#039;Example:&#039;&#039; @error = 2 and @extended = 1 stands for: &#039;&#039;Failed to create ServiceManager Object.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 3. &#039;&#039;&#039;Processing errors&#039;&#039;&#039;. This code indicates that the UDF failed to perform some action.&amp;lt;br&amp;gt; Maybe something wrong with the UDF, or with LibreOffice. Double check that any input values are appropriate for what you are doing in the function that is failing.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 3 and @extended = 1 stands for: &#039;&#039;No open Libre Office documents found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 4. &#039;&#039;&#039;Property Setting errors&#039;&#039;&#039;. This code indicates that the function failed to set the requested property values.&amp;lt;br&amp;gt; Which properties have failed will be indicated in the returned @extended value, as a Bit value, this means that to determine what property or properties failed to be set you will need to us BitAND and compare the @extended value with the values listed in the function header.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 4 and @extended = 10 stands for: &#039;&#039;Error setting $bReadOnly (2) &#039;&#039;&#039;AND&#039;&#039;&#039; Error setting $bLoadAsTemplate (8).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 5. &#039;&#039;&#039;Printer errors&#039;&#039;&#039;. This code indicates problems with printers.&amp;lt;br&amp;gt; Whether when there were no printers found when retrieving the currently available printer names, or whether there was an issue when setting printer related settings.&amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 5 and @extended = 1 stands for: &#039;&#039;No default printer found.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 6. &#039;&#039;&#039;Version errors&#039;&#039;&#039;. This code indicates that the current version of LibreOffice being too low for a specific function or parameter.&amp;lt;br&amp;gt; Any version limitations are documented in the function or parameter description. So either not use the function or parameter that requires a higher LibreOffice version, or upgrade to a newer version of LibreOffice. &amp;lt;br&amp;gt;&#039;&#039;Example:&#039;&#039; @error = 6 and @extended = 1 stands for: &#039;&#039;Current Libre Office version less than 7.4.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Catching COM Errors===&lt;br /&gt;
A further step for debugging scripts is to monitor for COM errors, which can be triggered if something is failing on the LibreOffice side of things. To aid in monitoring for COM errors, this UDF has user-COM error functions that allow the user to have a custom user function be called each time a COM error is encountered, or optionally, to either display a MsgBox with the COM error details, or output the COM error to the output using ConsoleWrite. Instructions for this are found in each respective COM Error function, &#039;&#039;_LO_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOBase_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOCalc_ComError_UserFunction&#039;&#039;, &#039;&#039;_LOWriter_ComError_UserFunction&#039;&#039;. Each component has its own dedicated COM user error handler, e.g., LibreOfficeWriter has the &#039;&#039;_LOWriter_ComError_UserFunction&#039;&#039;, LibreOfficeCalc has &#039;&#039;_LOCalc_ComError_UserFunction&#039;&#039;, and also LibreOffice.au3 has its own COM error handler also, called: &#039;&#039;_LO_ComError_UserFunction&#039;&#039;. This allows the user to further see when something is failing, and what may be the cause of the failure, and perhaps be able to correct it. The resulting COM error will always contain the following sections, Number, Description, At line, Source, Error Description, though it will not always have all of the values filled in. As an example, a COM error will look similar to the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
!	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Number:&#039;&#039;&#039; 0x80020006&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description:&#039;&#039;&#039; Unknown name.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;At line:&#039;&#039;&#039; 199&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Source:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Error Description:&#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 !	We intercepted a COM Error&amp;lt;br&amp;gt;&lt;br /&gt;
 Number: 0x80020009&amp;lt;br&amp;gt;&lt;br /&gt;
 Description: Exception occurred.&amp;lt;br&amp;gt;&lt;br /&gt;
 At line: 200&amp;lt;br&amp;gt;&lt;br /&gt;
 Source: [automation bridge] &amp;lt;br&amp;gt;&lt;br /&gt;
 Error Description: InterfaceOleWrapper::Invoke : &amp;lt;br&amp;gt;&lt;br /&gt;
 [automation bridge]UnoConversionUtilities&amp;lt;T&amp;gt;::variantToAny &amp;lt;br&amp;gt;&lt;br /&gt;
 Cannot convert the value of vartype :&amp;quot;8&amp;quot;  to the expected UNO type of type class: 6 at C:\cygwin64\home\buildslave\source\libo-core\extensions\source\ole\unoconversionutilities.hxx:590&amp;lt;br&amp;gt;&lt;br /&gt;
 -2147352567	0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15258</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15258"/>
		<updated>2026-02-23T14:06:19Z</updated>

		<summary type="html">&lt;p&gt;Water: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is in most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. On top of this, each respective style name retrieval function also lists any styles that have names differing from their internal names in the Remarks section of the header.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Example&#039;&#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                       ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)               ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello World&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                                ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
These optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Char || Manipulate character styles in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in &#039;&#039;Calc&#039;&#039; documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Database || Manipulate &#039;&#039;Base&#039;&#039; Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in &#039;&#039;Writer&#039;&#039;. || Doc || Manipulate documents in &#039;&#039;Base&#039;&#039;, &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039; document fields. || FootEndNotes || Manipulate &#039;&#039;Writer&#039;&#039; Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate &#039;&#039;Base&#039;&#039; Forms and &#039;&#039;Writer&#039;&#039; Forms and Form Controls. || Frame || Manipulate &#039;&#039;Writer&#039;&#039; Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters! || Num || Manipulate &#039;&#039;Writer&#039;&#039; Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate &#039;&#039;Writer&#039;&#039; and &#039;&#039;Calc&#039;&#039; Page Styles. || Par || Manipulate &#039;&#039;Writer&#039;&#039; Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate &#039;&#039;Base&#039;&#039; Queries. || Range || Create, modify, apply &#039;&#039;Calc&#039;&#039; Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate &#039;&#039;Base&#039;&#039; Reports. || Shapes || Create, modify, and insert shapes in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate &#039;&#039;Calc&#039;&#039; document sheets. || SQLStatement || Create, modify and execute SQL Statements in &#039;&#039;Base&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate &#039;&#039;Base&#039;&#039; Tables and &#039;&#039;Writer&#039;&#039; Text-Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Perform a Find and Replace operation in a Calc Document || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Helper.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Range.au3&amp;lt;br&amp;gt;&#039;&#039;&#039;Or simply&#039;&#039;&#039; #Include LibreOfficeCalc.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Functions - Naming Scheme&lt;br /&gt;
|- &lt;br /&gt;
|| Functions Naming Scheme: || _LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Example: || _LOWriter_ParObjCopy (&amp;quot;Copies&amp;quot; data selected by the ViewCursor) &lt;br /&gt;
|-&lt;br /&gt;
|| Where to find: || LibreOfficeWriter_Par.au3&lt;br /&gt;
|- &lt;br /&gt;
|| Description: || &amp;lt;Module&amp;gt; and &amp;lt;Object&amp;gt; can be found in the tables above. &amp;lt;Function&amp;gt; describes the manipulation to be done (read, modify, copy ...)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15257</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15257"/>
		<updated>2026-02-23T14:04:19Z</updated>

		<summary type="html">&lt;p&gt;Water: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is in most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. On top of this, each respective style name retrieval function also lists any styles that have names differing from their internal names in the Remarks section of the header.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Example&#039;&#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                       ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)               ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello World&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                                ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
These optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Char || Manipulate character styles in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in &#039;&#039;Calc&#039;&#039; documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Database || Manipulate &#039;&#039;Base&#039;&#039; Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in &#039;&#039;Writer&#039;&#039;. || Doc || Manipulate documents in &#039;&#039;Base&#039;&#039;, &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039; document fields. || FootEndNotes || Manipulate &#039;&#039;Writer&#039;&#039; Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate &#039;&#039;Base&#039;&#039; Forms and &#039;&#039;Writer&#039;&#039; Forms and Form Controls. || Frame || Manipulate &#039;&#039;Writer&#039;&#039; Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters! || Num || Manipulate &#039;&#039;Writer&#039;&#039; Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate &#039;&#039;Writer&#039;&#039; and &#039;&#039;Calc&#039;&#039; Page Styles. || Par || Manipulate &#039;&#039;Writer&#039;&#039; Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate &#039;&#039;Base&#039;&#039; Queries. || Range || Create, modify, apply &#039;&#039;Calc&#039;&#039; Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate &#039;&#039;Base&#039;&#039; Reports. || Shapes || Create, modify, and insert shapes in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate &#039;&#039;Calc&#039;&#039; document sheets. || SQLStatement || Create, modify and execute SQL Statements in &#039;&#039;Base&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate &#039;&#039;Base&#039;&#039; Tables and &#039;&#039;Writer&#039;&#039; Text-Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Perform a Find and Replace operation in a Calc Document || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Helper.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Range.au3&amp;lt;br&amp;gt;&#039;&#039;&#039;Or simply&#039;&#039;&#039; #Include LibreOfficeCalc.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Functions - Naming Scheme&lt;br /&gt;
|- &lt;br /&gt;
|| Functions Naming Scheme: || _LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Example: || _LOWriter_ParObjCopy (&amp;quot;Copies&amp;quot; data selected by the ViewCursor) &lt;br /&gt;
|-&lt;br /&gt;
|| Where to find: || LibreOfficeWriter_Par.au3&lt;br /&gt;
|- &lt;br /&gt;
|| Description: || &amp;lt;Module&amp;gt; and &amp;lt;Object&amp;gt; can be found in the tables above. &amp;lt;Function&amp;gt; describes the manipulation to be done (read, modify, copy ...)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. In order to obtain a Document Object, the beginning step is to either open an existing file by providing the file path to the appropriate function, for example an odt or docx file would be opened with Writer, or an ods or xlsx file would be opened by Calc, etc. Alternatively you could also connect to an already opened document instance using one of the “Connect” functions. Or, finally, you may just want to create an entirely new Document using the appropriate “Create” function. The actual process on how to do this will be discussed in more detail for each element in another section.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do. We will touch on this shortly, but first it is important to deal with the most probable question on any newcomer&#039;s mind,&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15256</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15256"/>
		<updated>2026-02-23T08:58:46Z</updated>

		<summary type="html">&lt;p&gt;Water: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice??]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is in most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. On top of this, each respective style name retrieval function also lists any styles that have names differing from their internal names in the Remarks section of the header.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Example&#039;&#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                       ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)               ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello World&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                                ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
These optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Char || Manipulate character styles in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in &#039;&#039;Calc&#039;&#039; documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Database || Manipulate &#039;&#039;Base&#039;&#039; Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in &#039;&#039;Writer&#039;&#039;. || Doc || Manipulate documents in &#039;&#039;Base&#039;&#039;, &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039; document fields. || FootEndNotes || Manipulate &#039;&#039;Writer&#039;&#039; Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate &#039;&#039;Base&#039;&#039; Forms and &#039;&#039;Writer&#039;&#039; Forms and Form Controls. || Frame || Manipulate &#039;&#039;Writer&#039;&#039; Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters! || Num || Manipulate &#039;&#039;Writer&#039;&#039; Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate &#039;&#039;Writer&#039;&#039; and &#039;&#039;Calc&#039;&#039; Page Styles. || Par || Manipulate &#039;&#039;Writer&#039;&#039; Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate &#039;&#039;Base&#039;&#039; Queries. || Range || Create, modify, apply &#039;&#039;Calc&#039;&#039; Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate &#039;&#039;Base&#039;&#039; Reports. || Shapes || Create, modify, and insert shapes in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate &#039;&#039;Calc&#039;&#039; document sheets. || SQLStatement || Create, modify and execute SQL Statements in &#039;&#039;Base&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate &#039;&#039;Base&#039;&#039; Tables and &#039;&#039;Writer&#039;&#039; Text-Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Perform a Find and Replace operation in a Calc Document || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Helper.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Range.au3&amp;lt;br&amp;gt;&#039;&#039;&#039;Or simply&#039;&#039;&#039; #Include LibreOfficeCalc.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Functions - Naming Scheme&lt;br /&gt;
|- &lt;br /&gt;
|| Functions Naming Scheme: || _LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Example: || _LOWriter_ParObjCopy (&amp;quot;Copies&amp;quot; data selected by the ViewCursor) &lt;br /&gt;
|-&lt;br /&gt;
|| Where to find: || LibreOfficeWriter_Par.au3&lt;br /&gt;
|- &lt;br /&gt;
|| Description: || &amp;lt;Module&amp;gt; and &amp;lt;Object&amp;gt; can be found in the tables above. &amp;lt;Function&amp;gt; describes the manipulation to be done (read, modify, copy ...)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This chart illustrates part of the hierarchy, the file “LibreOffice.au3” has Includes in it for all sub-components. (Note: Some components in the chart aren&#039;t supported yet.). If you include this file, you can use any of the functions in all other sub-component files, all those listed in the chart. However, if you don&#039;t want such a large number of files included in your Script. You can include any sub-component you may need, such as LibreOfficeCalc.au3, or LibreOfficeBase.au3. Whichever component(s) you intend to automate.&amp;lt;br&amp;gt;&lt;br /&gt;
Going a step further, consider this chart:&lt;br /&gt;
&lt;br /&gt;
[[File:Chart_2.jpg|800px|||Sub level LibreOffice file]&lt;br /&gt;
&lt;br /&gt;
This chart considers only one component, in this case Writer. LibreOfficeWriter.au3 has many sub-files for the various tasks that can be done in Writer; Cell, Cursor, Doc, etc. More detail about these sub-files will be touched a little later. If you include LibreOfficeWriter.au3 in your script, you can use any of the functions in all the sub-files for Writer. You can identify a sub-file because the name will contain the Component&#039;s name, followed by an underscore, in this case, LibreOfficeWriter_*.au3., where “*” is a sub-file category of some type, i.e. Table, Doc or Page.&amp;lt;br&amp;gt;&lt;br /&gt;
Lastly, you also have the option to include in your script only some of the sub-files themselves. This may be a better approach depending on how much you need to do. For example, if you only need to Export a document, one could potentially only include LibreOfficeWriter_Doc.au3, which would include all the needed functions for the task, such as *_DocOpen, *_DocExport, etc.&amp;lt;br&amp;gt; &lt;br /&gt;
One small tip, you will never need to deal with the files named “*_Internal.au3”, i.e. LibreOfficeWriter_Internal.au3, they contain only functions needed by the various sub-files and are already included in the sub-files where needed.&lt;br /&gt;
&lt;br /&gt;
===How Do You Find What is Needed?===&lt;br /&gt;
Now we have reached the more interesting part, and also the more difficult. Most likely you have a certain task you need to accomplish, but how do you know what files you need for the job? Part of this problem we solved above, you (should) know already what component(s) of LibreOffice you want to automate, be it Calc, Base, or Writer, etc.Thus you know if you&#039;ll need to include LibreOfficeCalc.au3, LibreOfficeBase.au3 or LibreOfficeWriter.au3.&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is finding the right functions. This is admittedly the harder part to do, especially when you first begin with this UDF. We have attempted to logically sort functions according to their usage as best as possible. The naming of the sub-files is the first clue. Functions dealing with Document related actions, such as opening, closing, saving, maximize, minimize, visible/invisible, undo/redo, are found in the “*_Doc.au3” file. Taking Calc as an example, The LibreOfficeCalc_Sheet.au3 file has functions for adding or deleting Sheets from the document, setting and retrieving which Sheet is currently active, as well as retrieving the Object for the Sheets to use in further operations. There are also files for dealing with Ranges, as well as Cursors and Fields. This should help narrow down which file you will need to look through.&amp;lt;br&amp;gt;&lt;br /&gt;
Next, open each sub-file that seems to be related and look at the “; #CURRENT#” header near the top of the script. This will have a list of all the functions contained in the file. With each function we have tried to include in the name a hint of the corresponding tab or section in the LibreOffice UI, if applicable, as well as, of course, the attributes the function will affect or the action it will perform. For example when setting background color or background gradient in L.O., these settings are found under the “Area” tab in most UI pages. The corresponding functions are some of the following: _LOCalc_CommentAreaColor and _LOCalc_CommentAreaGradient. In this case the functions all have to do with modifying a Calc Comment, Area is the Tab name when setting some of these properties, (Background Color or Gradient).&amp;lt;br&amp;gt;&lt;br /&gt;
While these tips are generally correct, they aren&#039;t a solid rule yet. This UDF has attempted to adhere to this as best as possible, but LibreOffice has a wide variety of similar settings, not always located in identical settings. For example, for Cell background, there is no “Area” tab, thus the background color functions are simply _LOCalc_CellStyleBackColor and _LOCalc_CellBackColor.&amp;lt;br&amp;gt;&lt;br /&gt;
Once you find the function you need to use, always check the parameters section in the header, it will aid in indicatating where to find what you need to use to call each parameter, or what kind or where to obtain the kind of Object you need. As an example, consider the following Parameter entries from &#039;&#039;_LOCalc_CellUnderline&#039;&#039;,&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$oCell               - [in/out] an object. A Cell Range or Cell object returned by a previous _LOCalc_RangeGetCellByName, _LOCalc_RangeGetCellByPosition, _LOCalc_RangeColumnGetObjByPosition, _LOCalc_RangeColumnGetObjByName, _LOcalc_RangeRowGetObjByPosition, _LOCalc_SheetGetObjByName, or _LOCalc_SheetGetActive function.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This contains a few important details. First: The parameter &#039;&#039;$oCell&#039;&#039; accepts either a Calc Cell Range Object (i.e. a range Object covering A1:B3), Or a single Cell Object (i.e. Cell Object for Cell C3). Then follows a list of functions that would return such Objects that would be acceptable, this list is not always exhaustive when there are many functions that would return a similar acceptable Object or value. However the Object or value will either be named the same, or a note will be in the remarks section of the header indicating what else would be acceptable. Another example from &#039;&#039;_LOCalc_CellUnderline&#039;&#039;,&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iUnderLineStyle     - [optional] an integer value (0-18). Default is Null. The Underline line style, see constants, $LOC_UNDERLINE_* as defined in LibreOfficeCalc_Constants.au3.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This parameter has a few different and important details. First you will see some numerical values inside of parenthesis, 0-18, I will explain these shortly, you will also see it mentions a certain Constant name, in this case “$LOC_UNDERLINE_*”, this means, of course, that this parameter accepts the Constants of this name as values, the constants will be found in the file LibreOfficeCalc_Constants.au3. If you went to the Constants file, you would see 19 separate Constants to choose from. The values inside of the parenthesis means that this parameter accepts any of those constants that have values between 0 and 18.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iULColor            - [optional] an integer value (-1-16777215). Default is Null. The color of the underline, set in Long integer format. Can be a custom value, or one of the constants, $LO_COLOR_* as defined in LibreOffice_Constants.au3. Set to $LO_COLOR_OFF(-1) for automatic color mode.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This parameter is similar, again some values are found in parenthesis, -1 to 16,777,215. However if you went to the constants indicated, you would see that they only have a few options to choose from, but not an exhaustive list ranging from -1 to 16,777,215. That is why the parameter description indicates you can choose any custom value between -1 and 16,777,215, you can make up your own value as desired as long as it falls between those two values. We will touch another Parameter from another function as a final example.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iDistance           - [optional] an integer value. Default is Null. The distance of the Shadow from the Comment box, set in 1/100th MM.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Considering this Parameter, you will see that there are no parenthesis in this one, this generally means there are no limits, or perhaps only a minimum. If there is a minimum, and it is not mentioned in the parameter, it can be found by looking at the documented Input errors in the header. In this case, $iDistance has the following Input error:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;@Error 1 @Extended 4 = $iDistance not an Integer, or less than 0.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
That means $iDistance must be an integer, and cannot be less than 0. But there is seemingly no maximum. Or perhaps the maximum varied, which would be noted in the Remarks section, but generally it means it is not present.&lt;br /&gt;
&lt;br /&gt;
===A Few More Notes===&lt;br /&gt;
Throughout this UDF you will encounter functions that are for setting properties, whether it is Styles, Tables, Cells, etc. Usually, you will see that nearly all the parameters will be optional, except for the required Object parameter(s). The optional parameters will have an assigned value of “Null”, which will tell you that, unless indicted otherwise, this function can be used to both set AND retrieve the current property values. You can confirm if this is the case by looking at the Remarks section of the header for a statement similar to the following:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Call this function with only the required parameters (or by calling all other parameters with the Null keyword), to get the current settings.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
If you call this function with all optional parameters to Null the return will be an array (except when there is only one optional parameter, in which case the return will be of what ever type the Parameter is, an Integer, a String etc.) If there is more than one optional parameter, the returned array will be a single dimension (unless indicated otherwise), with each element of the array in the order of the optional parameters. For example:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;_LOWriter_ParStyleBorderColor(ByRef $oParStyle, $iTop = Null, $iBottom = Null, $iLeft = Null, $iRight = Null)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
In this function you have the non-optional parameter, &#039;&#039;$oParStyle&#039;&#039;, and four optional parameters, &#039;&#039;$iTop&#039;&#039;, &#039;&#039;$iBottom&#039;&#039;, &#039;&#039;$iLeft&#039;&#039;, and &#039;&#039;$iRight&#039;&#039;. If I called this function with only a Paragraph Style Object, it would return the current Paragraph Style Border color values, the returned array would contain the following values: $aArray[0] = $iTop, $aArray[1] = $iBottom, $aArray[2] = $iLeft, and $aArray[3] = $iRight.&amp;lt;br&amp;gt;&lt;br /&gt;
Furthermore, any functions that have optional parameters with the “Null” value assigned to them, means that you can also skip any parameters you do not want to set a value for by calling “Null” in the position, nothing will be modified for that property.&lt;br /&gt;
&lt;br /&gt;
===Some of the other files===&lt;br /&gt;
There are some files I have not yet touched upon in these explanations, which we will now examine. Each separate component has a file named *_Helper.au3, there is also a general file called LibreOffice_Helper.au3. These files contain functions that either don&#039;t fit under the other categories, or are purely for aiding in other work. For example there is in LibreOffice_Helper.au3 functions such as _LO_UnitConvert, and _LO_VersionGet. _LO_UnitConvert can be used for converting from common units of measurement to the measurement unit used by LibreOffice internally (100th MM). VersionGet is used to determine the current LibreOffice/OpenOffice version being automated. This is beneficial when certain functions or parameters are only available for certain L.O. versions (These limitations will be indicated in any applicable functions, either in the parameter, or the description of the function itself if the whole function is restricted to a certain version.).&amp;lt;br&amp;gt;&lt;br /&gt;
Taking a look at LibreOfficeWriter_Helper.au3, we find some functions like the following: &#039;&#039;_LOWriter_FontsGetNames&#039;&#039;, and &#039;&#039;_LOWriter_SearchDescriptorCreate&#039;&#039;. _LOWriter_FontsGetNames, obviously, retrieves an array of all available Fonts for use in the Document. _LOWriter_SearchDescriptorCreate creates a Search descriptor Object for usage in the Writer Find and Replace functions found in the LibreOfficeWriter_Doc.au3 file. &lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. In order to obtain a Document Object, the beginning step is to either open an existing file by providing the file path to the appropriate function, for example an odt or docx file would be opened with Writer, or an ods or xlsx file would be opened by Calc, etc. Alternatively you could also connect to an already opened document instance using one of the “Connect” functions. Or, finally, you may just want to create an entirely new Document using the appropriate “Create” function. The actual process on how to do this will be discussed in more detail for each element in another section.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do. We will touch on this shortly, but first it is important to deal with the most probable question on any newcomer&#039;s mind,&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15255</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15255"/>
		<updated>2026-02-23T08:45:41Z</updated>

		<summary type="html">&lt;p&gt;Water: /* What do I do with all of these files? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice??]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. Further than this, as stated above, each respective style name retrieval function also lists any styles that have names differing from their internal names.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Example&#039;&#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                       ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)               ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello World&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                                ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
These optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Char || Manipulate character styles in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in &#039;&#039;Calc&#039;&#039; documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Database || Manipulate &#039;&#039;Base&#039;&#039; Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in &#039;&#039;Writer&#039;&#039;. || Doc || Manipulate documents in &#039;&#039;Base&#039;&#039;, &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039; document fields. || FootEndNotes || Manipulate &#039;&#039;Writer&#039;&#039; Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate &#039;&#039;Base&#039;&#039; Forms and &#039;&#039;Writer&#039;&#039; Forms and Form Controls. || Frame || Manipulate &#039;&#039;Writer&#039;&#039; Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters! || Num || Manipulate &#039;&#039;Writer&#039;&#039; Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate &#039;&#039;Writer&#039;&#039; and &#039;&#039;Calc&#039;&#039; Page Styles. || Par || Manipulate &#039;&#039;Writer&#039;&#039; Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate &#039;&#039;Base&#039;&#039; Queries. || Range || Create, modify, apply &#039;&#039;Calc&#039;&#039; Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate &#039;&#039;Base&#039;&#039; Reports. || Shapes || Create, modify, and insert shapes in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate &#039;&#039;Calc&#039;&#039; document sheets. || SQLStatement || Create, modify and execute SQL Statements in &#039;&#039;Base&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate &#039;&#039;Base&#039;&#039; Tables and &#039;&#039;Writer&#039;&#039; Text-Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Perform a Find and Replace operation in a Calc Document || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Helper.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Range.au3&amp;lt;br&amp;gt;&#039;&#039;&#039;Or simply&#039;&#039;&#039; #Include LibreOfficeCalc.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Functions - Naming Scheme&lt;br /&gt;
|- &lt;br /&gt;
|| Functions Naming Scheme: || _LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Example: || _LOWriter_ParObjCopy (&amp;quot;Copies&amp;quot; data selected by the ViewCursor) &lt;br /&gt;
|-&lt;br /&gt;
|| Where to find: || LibreOfficeWriter_Par.au3&lt;br /&gt;
|- &lt;br /&gt;
|| Description: || &amp;lt;Module&amp;gt; and &amp;lt;Object&amp;gt; can be found in the tables above. &amp;lt;Function&amp;gt; describes the manipulation to be done (read, modify, copy ...)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This chart illustrates part of the hierarchy, the file “LibreOffice.au3” has Includes in it for all sub-components. (Note: Some components in the chart aren&#039;t supported yet.). If you include this file, you can use any of the functions in all other sub-component files, all those listed in the chart. However, if you don&#039;t want such a large number of files included in your Script. You can include any sub-component you may need, such as LibreOfficeCalc.au3, or LibreOfficeBase.au3. Whichever component(s) you intend to automate.&amp;lt;br&amp;gt;&lt;br /&gt;
Going a step further, consider this chart:&lt;br /&gt;
&lt;br /&gt;
[[File:Chart_2.jpg|800px|||Sub level LibreOffice file]&lt;br /&gt;
&lt;br /&gt;
This chart considers only one component, in this case Writer. LibreOfficeWriter.au3 has many sub-files for the various tasks that can be done in Writer; Cell, Cursor, Doc, etc. More detail about these sub-files will be touched a little later. If you include LibreOfficeWriter.au3 in your script, you can use any of the functions in all the sub-files for Writer. You can identify a sub-file because the name will contain the Component&#039;s name, followed by an underscore, in this case, LibreOfficeWriter_*.au3., where “*” is a sub-file category of some type, i.e. Table, Doc or Page.&amp;lt;br&amp;gt;&lt;br /&gt;
Lastly, you also have the option to include in your script only some of the sub-files themselves. This may be a better approach depending on how much you need to do. For example, if you only need to Export a document, one could potentially only include LibreOfficeWriter_Doc.au3, which would include all the needed functions for the task, such as *_DocOpen, *_DocExport, etc.&amp;lt;br&amp;gt; &lt;br /&gt;
One small tip, you will never need to deal with the files named “*_Internal.au3”, i.e. LibreOfficeWriter_Internal.au3, they contain only functions needed by the various sub-files and are already included in the sub-files where needed.&lt;br /&gt;
&lt;br /&gt;
===How Do You Find What is Needed?===&lt;br /&gt;
Now we have reached the more interesting part, and also the more difficult. Most likely you have a certain task you need to accomplish, but how do you know what files you need for the job? Part of this problem we solved above, you (should) know already what component(s) of LibreOffice you want to automate, be it Calc, Base, or Writer, etc.Thus you know if you&#039;ll need to include LibreOfficeCalc.au3, LibreOfficeBase.au3 or LibreOfficeWriter.au3.&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is finding the right functions. This is admittedly the harder part to do, especially when you first begin with this UDF. We have attempted to logically sort functions according to their usage as best as possible. The naming of the sub-files is the first clue. Functions dealing with Document related actions, such as opening, closing, saving, maximize, minimize, visible/invisible, undo/redo, are found in the “*_Doc.au3” file. Taking Calc as an example, The LibreOfficeCalc_Sheet.au3 file has functions for adding or deleting Sheets from the document, setting and retrieving which Sheet is currently active, as well as retrieving the Object for the Sheets to use in further operations. There are also files for dealing with Ranges, as well as Cursors and Fields. This should help narrow down which file you will need to look through.&amp;lt;br&amp;gt;&lt;br /&gt;
Next, open each sub-file that seems to be related and look at the “; #CURRENT#” header near the top of the script. This will have a list of all the functions contained in the file. With each function we have tried to include in the name a hint of the corresponding tab or section in the LibreOffice UI, if applicable, as well as, of course, the attributes the function will affect or the action it will perform. For example when setting background color or background gradient in L.O., these settings are found under the “Area” tab in most UI pages. The corresponding functions are some of the following: _LOCalc_CommentAreaColor and _LOCalc_CommentAreaGradient. In this case the functions all have to do with modifying a Calc Comment, Area is the Tab name when setting some of these properties, (Background Color or Gradient).&amp;lt;br&amp;gt;&lt;br /&gt;
While these tips are generally correct, they aren&#039;t a solid rule yet. This UDF has attempted to adhere to this as best as possible, but LibreOffice has a wide variety of similar settings, not always located in identical settings. For example, for Cell background, there is no “Area” tab, thus the background color functions are simply _LOCalc_CellStyleBackColor and _LOCalc_CellBackColor.&amp;lt;br&amp;gt;&lt;br /&gt;
Once you find the function you need to use, always check the parameters section in the header, it will aid in indicatating where to find what you need to use to call each parameter, or what kind or where to obtain the kind of Object you need. As an example, consider the following Parameter entries from &#039;&#039;_LOCalc_CellUnderline&#039;&#039;,&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$oCell               - [in/out] an object. A Cell Range or Cell object returned by a previous _LOCalc_RangeGetCellByName, _LOCalc_RangeGetCellByPosition, _LOCalc_RangeColumnGetObjByPosition, _LOCalc_RangeColumnGetObjByName, _LOcalc_RangeRowGetObjByPosition, _LOCalc_SheetGetObjByName, or _LOCalc_SheetGetActive function.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This contains a few important details. First: The parameter &#039;&#039;$oCell&#039;&#039; accepts either a Calc Cell Range Object (i.e. a range Object covering A1:B3), Or a single Cell Object (i.e. Cell Object for Cell C3). Then follows a list of functions that would return such Objects that would be acceptable, this list is not always exhaustive when there are many functions that would return a similar acceptable Object or value. However the Object or value will either be named the same, or a note will be in the remarks section of the header indicating what else would be acceptable. Another example from &#039;&#039;_LOCalc_CellUnderline&#039;&#039;,&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iUnderLineStyle     - [optional] an integer value (0-18). Default is Null. The Underline line style, see constants, $LOC_UNDERLINE_* as defined in LibreOfficeCalc_Constants.au3.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This parameter has a few different and important details. First you will see some numerical values inside of parenthesis, 0-18, I will explain these shortly, you will also see it mentions a certain Constant name, in this case “$LOC_UNDERLINE_*”, this means, of course, that this parameter accepts the Constants of this name as values, the constants will be found in the file LibreOfficeCalc_Constants.au3. If you went to the Constants file, you would see 19 separate Constants to choose from. The values inside of the parenthesis means that this parameter accepts any of those constants that have values between 0 and 18.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iULColor            - [optional] an integer value (-1-16777215). Default is Null. The color of the underline, set in Long integer format. Can be a custom value, or one of the constants, $LO_COLOR_* as defined in LibreOffice_Constants.au3. Set to $LO_COLOR_OFF(-1) for automatic color mode.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This parameter is similar, again some values are found in parenthesis, -1 to 16,777,215. However if you went to the constants indicated, you would see that they only have a few options to choose from, but not an exhaustive list ranging from -1 to 16,777,215. That is why the parameter description indicates you can choose any custom value between -1 and 16,777,215, you can make up your own value as desired as long as it falls between those two values. We will touch another Parameter from another function as a final example.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iDistance           - [optional] an integer value. Default is Null. The distance of the Shadow from the Comment box, set in 1/100th MM.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Considering this Parameter, you will see that there are no parenthesis in this one, this generally means there are no limits, or perhaps only a minimum. If there is a minimum, and it is not mentioned in the parameter, it can be found by looking at the documented Input errors in the header. In this case, $iDistance has the following Input error:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;@Error 1 @Extended 4 = $iDistance not an Integer, or less than 0.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
That means $iDistance must be an integer, and cannot be less than 0. But there is seemingly no maximum. Or perhaps the maximum varied, which would be noted in the Remarks section, but generally it means it is not present.&lt;br /&gt;
&lt;br /&gt;
===A Few More Notes===&lt;br /&gt;
Throughout this UDF you will encounter functions that are for setting properties, whether it is Styles, Tables, Cells, etc. Usually, you will see that nearly all the parameters will be optional, except for the required Object parameter(s). The optional parameters will have an assigned value of “Null”, which will tell you that, unless indicted otherwise, this function can be used to both set AND retrieve the current property values. You can confirm if this is the case by looking at the Remarks section of the header for a statement similar to the following:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Call this function with only the required parameters (or by calling all other parameters with the Null keyword), to get the current settings.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
If you call this function with all optional parameters to Null the return will be an array (except when there is only one optional parameter, in which case the return will be of what ever type the Parameter is, an Integer, a String etc.) If there is more than one optional parameter, the returned array will be a single dimension (unless indicated otherwise), with each element of the array in the order of the optional parameters. For example:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;_LOWriter_ParStyleBorderColor(ByRef $oParStyle, $iTop = Null, $iBottom = Null, $iLeft = Null, $iRight = Null)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
In this function you have the non-optional parameter, &#039;&#039;$oParStyle&#039;&#039;, and four optional parameters, &#039;&#039;$iTop&#039;&#039;, &#039;&#039;$iBottom&#039;&#039;, &#039;&#039;$iLeft&#039;&#039;, and &#039;&#039;$iRight&#039;&#039;. If I called this function with only a Paragraph Style Object, it would return the current Paragraph Style Border color values, the returned array would contain the following values: $aArray[0] = $iTop, $aArray[1] = $iBottom, $aArray[2] = $iLeft, and $aArray[3] = $iRight.&amp;lt;br&amp;gt;&lt;br /&gt;
Furthermore, any functions that have optional parameters with the “Null” value assigned to them, means that you can also skip any parameters you do not want to set a value for by calling “Null” in the position, nothing will be modified for that property.&lt;br /&gt;
&lt;br /&gt;
===Some of the other files===&lt;br /&gt;
There are some files I have not yet touched upon in these explanations, which we will now examine. Each separate component has a file named *_Helper.au3, there is also a general file called LibreOffice_Helper.au3. These files contain functions that either don&#039;t fit under the other categories, or are purely for aiding in other work. For example there is in LibreOffice_Helper.au3 functions such as _LO_UnitConvert, and _LO_VersionGet. _LO_UnitConvert can be used for converting from common units of measurement to the measurement unit used by LibreOffice internally (100th MM). VersionGet is used to determine the current LibreOffice/OpenOffice version being automated. This is beneficial when certain functions or parameters are only available for certain L.O. versions (These limitations will be indicated in any applicable functions, either in the parameter, or the description of the function itself if the whole function is restricted to a certain version.).&amp;lt;br&amp;gt;&lt;br /&gt;
Taking a look at LibreOfficeWriter_Helper.au3, we find some functions like the following: &#039;&#039;_LOWriter_FontsGetNames&#039;&#039;, and &#039;&#039;_LOWriter_SearchDescriptorCreate&#039;&#039;. _LOWriter_FontsGetNames, obviously, retrieves an array of all available Fonts for use in the Document. _LOWriter_SearchDescriptorCreate creates a Search descriptor Object for usage in the Writer Find and Replace functions found in the LibreOfficeWriter_Doc.au3 file. &lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. In order to obtain a Document Object, the beginning step is to either open an existing file by providing the file path to the appropriate function, for example an odt or docx file would be opened with Writer, or an ods or xlsx file would be opened by Calc, etc. Alternatively you could also connect to an already opened document instance using one of the “Connect” functions. Or, finally, you may just want to create an entirely new Document using the appropriate “Create” function. The actual process on how to do this will be discussed in more detail for each element in another section.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do. We will touch on this shortly, but first it is important to deal with the most probable question on any newcomer&#039;s mind,&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15254</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15254"/>
		<updated>2026-02-23T08:26:57Z</updated>

		<summary type="html">&lt;p&gt;Water: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice??]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. Further than this, as stated above, each respective style name retrieval function also lists any styles that have names differing from their internal names.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Example&#039;&#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                       ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)               ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello World&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                                ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
These optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Char || Manipulate character styles in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in &#039;&#039;Calc&#039;&#039; documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;. || Database || Manipulate &#039;&#039;Base&#039;&#039; Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in &#039;&#039;Writer&#039;&#039;. || Doc || Manipulate documents in &#039;&#039;Base&#039;&#039;, &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate &#039;&#039;Calc&#039;&#039; and &#039;&#039;Writer&#039;&#039; document fields. || FootEndNotes || Manipulate &#039;&#039;Writer&#039;&#039; Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate &#039;&#039;Base&#039;&#039; Forms and &#039;&#039;Writer&#039;&#039; Forms and Form Controls. || Frame || Manipulate &#039;&#039;Writer&#039;&#039; Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters! || Num || Manipulate &#039;&#039;Writer&#039;&#039; Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate &#039;&#039;Writer&#039;&#039; and &#039;&#039;Calc&#039;&#039; Page Styles. || Par || Manipulate &#039;&#039;Writer&#039;&#039; Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate &#039;&#039;Base&#039;&#039; Queries. || Range || Create, modify, apply &#039;&#039;Calc&#039;&#039; Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate &#039;&#039;Base&#039;&#039; Reports. || Shapes || Create, modify, and insert shapes in &#039;&#039;Writer&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate &#039;&#039;Calc&#039;&#039; document sheets. || SQLStatement || Create, modify and execute SQL Statements in &#039;&#039;Base&#039;&#039;.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate &#039;&#039;Base&#039;&#039; Tables and &#039;&#039;Writer&#039;&#039; Text-Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Functions - Naming Scheme&lt;br /&gt;
|- &lt;br /&gt;
|| Functions Naming Scheme: || _LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Example: || _LOWriter_ParObjCopy (&amp;quot;Copies&amp;quot; data selected by the ViewCursor) &lt;br /&gt;
|-&lt;br /&gt;
|| Where to find: || LibreOfficeWriter_Par.au3&lt;br /&gt;
|- &lt;br /&gt;
|| Description: || &amp;lt;Module&amp;gt; and &amp;lt;Object&amp;gt; can be found in the tables above. &amp;lt;Function&amp;gt; describes the manipulation to be done (read, modify, copy ...)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This chart illustrates part of the hierarchy, the file “LibreOffice.au3” has Includes in it for all sub-components. (Note: Some components in the chart aren&#039;t supported yet.). If you include this file, you can use any of the functions in all other sub-component files, all those listed in the chart. However, if you don&#039;t want such a large number of files included in your Script. You can include any sub-component you may need, such as LibreOfficeCalc.au3, or LibreOfficeBase.au3. Whichever component(s) you intend to automate.&amp;lt;br&amp;gt;&lt;br /&gt;
Going a step further, consider this chart:&lt;br /&gt;
&lt;br /&gt;
[[File:Chart_2.jpg|800px|||Sub level LibreOffice file]&lt;br /&gt;
&lt;br /&gt;
This chart considers only one component, in this case Writer. LibreOfficeWriter.au3 has many sub-files for the various tasks that can be done in Writer; Cell, Cursor, Doc, etc. More detail about these sub-files will be touched a little later. If you include LibreOfficeWriter.au3 in your script, you can use any of the functions in all the sub-files for Writer. You can identify a sub-file because the name will contain the Component&#039;s name, followed by an underscore, in this case, LibreOfficeWriter_*.au3., where “*” is a sub-file category of some type, i.e. Table, Doc or Page.&amp;lt;br&amp;gt;&lt;br /&gt;
Lastly, you also have the option to include in your script only some of the sub-files themselves. This may be a better approach depending on how much you need to do. For example, if you only need to Export a document, one could potentially only include LibreOfficeWriter_Doc.au3, which would include all the needed functions for the task, such as *_DocOpen, *_DocExport, etc.&amp;lt;br&amp;gt; &lt;br /&gt;
One small tip, you will never need to deal with the files named “*_Internal.au3”, i.e. LibreOfficeWriter_Internal.au3, they contain only functions needed by the various sub-files and are already included in the sub-files where needed.&lt;br /&gt;
&lt;br /&gt;
===How Do You Find What is Needed?===&lt;br /&gt;
Now we have reached the more interesting part, and also the more difficult. Most likely you have a certain task you need to accomplish, but how do you know what files you need for the job? Part of this problem we solved above, you (should) know already what component(s) of LibreOffice you want to automate, be it Calc, Base, or Writer, etc.Thus you know if you&#039;ll need to include LibreOfficeCalc.au3, LibreOfficeBase.au3 or LibreOfficeWriter.au3.&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is finding the right functions. This is admittedly the harder part to do, especially when you first begin with this UDF. We have attempted to logically sort functions according to their usage as best as possible. The naming of the sub-files is the first clue. Functions dealing with Document related actions, such as opening, closing, saving, maximize, minimize, visible/invisible, undo/redo, are found in the “*_Doc.au3” file. Taking Calc as an example, The LibreOfficeCalc_Sheet.au3 file has functions for adding or deleting Sheets from the document, setting and retrieving which Sheet is currently active, as well as retrieving the Object for the Sheets to use in further operations. There are also files for dealing with Ranges, as well as Cursors and Fields. This should help narrow down which file you will need to look through.&amp;lt;br&amp;gt;&lt;br /&gt;
Next, open each sub-file that seems to be related and look at the “; #CURRENT#” header near the top of the script. This will have a list of all the functions contained in the file. With each function we have tried to include in the name a hint of the corresponding tab or section in the LibreOffice UI, if applicable, as well as, of course, the attributes the function will affect or the action it will perform. For example when setting background color or background gradient in L.O., these settings are found under the “Area” tab in most UI pages. The corresponding functions are some of the following: _LOCalc_CommentAreaColor and _LOCalc_CommentAreaGradient. In this case the functions all have to do with modifying a Calc Comment, Area is the Tab name when setting some of these properties, (Background Color or Gradient).&amp;lt;br&amp;gt;&lt;br /&gt;
While these tips are generally correct, they aren&#039;t a solid rule yet. This UDF has attempted to adhere to this as best as possible, but LibreOffice has a wide variety of similar settings, not always located in identical settings. For example, for Cell background, there is no “Area” tab, thus the background color functions are simply _LOCalc_CellStyleBackColor and _LOCalc_CellBackColor.&amp;lt;br&amp;gt;&lt;br /&gt;
Once you find the function you need to use, always check the parameters section in the header, it will aid in indicatating where to find what you need to use to call each parameter, or what kind or where to obtain the kind of Object you need. As an example, consider the following Parameter entries from &#039;&#039;_LOCalc_CellUnderline&#039;&#039;,&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$oCell               - [in/out] an object. A Cell Range or Cell object returned by a previous _LOCalc_RangeGetCellByName, _LOCalc_RangeGetCellByPosition, _LOCalc_RangeColumnGetObjByPosition, _LOCalc_RangeColumnGetObjByName, _LOcalc_RangeRowGetObjByPosition, _LOCalc_SheetGetObjByName, or _LOCalc_SheetGetActive function.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This contains a few important details. First: The parameter &#039;&#039;$oCell&#039;&#039; accepts either a Calc Cell Range Object (i.e. a range Object covering A1:B3), Or a single Cell Object (i.e. Cell Object for Cell C3). Then follows a list of functions that would return such Objects that would be acceptable, this list is not always exhaustive when there are many functions that would return a similar acceptable Object or value. However the Object or value will either be named the same, or a note will be in the remarks section of the header indicating what else would be acceptable. Another example from &#039;&#039;_LOCalc_CellUnderline&#039;&#039;,&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iUnderLineStyle     - [optional] an integer value (0-18). Default is Null. The Underline line style, see constants, $LOC_UNDERLINE_* as defined in LibreOfficeCalc_Constants.au3.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This parameter has a few different and important details. First you will see some numerical values inside of parenthesis, 0-18, I will explain these shortly, you will also see it mentions a certain Constant name, in this case “$LOC_UNDERLINE_*”, this means, of course, that this parameter accepts the Constants of this name as values, the constants will be found in the file LibreOfficeCalc_Constants.au3. If you went to the Constants file, you would see 19 separate Constants to choose from. The values inside of the parenthesis means that this parameter accepts any of those constants that have values between 0 and 18.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iULColor            - [optional] an integer value (-1-16777215). Default is Null. The color of the underline, set in Long integer format. Can be a custom value, or one of the constants, $LO_COLOR_* as defined in LibreOffice_Constants.au3. Set to $LO_COLOR_OFF(-1) for automatic color mode.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This parameter is similar, again some values are found in parenthesis, -1 to 16,777,215. However if you went to the constants indicated, you would see that they only have a few options to choose from, but not an exhaustive list ranging from -1 to 16,777,215. That is why the parameter description indicates you can choose any custom value between -1 and 16,777,215, you can make up your own value as desired as long as it falls between those two values. We will touch another Parameter from another function as a final example.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iDistance           - [optional] an integer value. Default is Null. The distance of the Shadow from the Comment box, set in 1/100th MM.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Considering this Parameter, you will see that there are no parenthesis in this one, this generally means there are no limits, or perhaps only a minimum. If there is a minimum, and it is not mentioned in the parameter, it can be found by looking at the documented Input errors in the header. In this case, $iDistance has the following Input error:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;@Error 1 @Extended 4 = $iDistance not an Integer, or less than 0.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
That means $iDistance must be an integer, and cannot be less than 0. But there is seemingly no maximum. Or perhaps the maximum varied, which would be noted in the Remarks section, but generally it means it is not present.&lt;br /&gt;
&lt;br /&gt;
===A Few More Notes===&lt;br /&gt;
Throughout this UDF you will encounter functions that are for setting properties, whether it is Styles, Tables, Cells, etc. Usually, you will see that nearly all the parameters will be optional, except for the required Object parameter(s). The optional parameters will have an assigned value of “Null”, which will tell you that, unless indicted otherwise, this function can be used to both set AND retrieve the current property values. You can confirm if this is the case by looking at the Remarks section of the header for a statement similar to the following:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Call this function with only the required parameters (or by calling all other parameters with the Null keyword), to get the current settings.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
If you call this function with all optional parameters to Null the return will be an array (except when there is only one optional parameter, in which case the return will be of what ever type the Parameter is, an Integer, a String etc.) If there is more than one optional parameter, the returned array will be a single dimension (unless indicated otherwise), with each element of the array in the order of the optional parameters. For example:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;_LOWriter_ParStyleBorderColor(ByRef $oParStyle, $iTop = Null, $iBottom = Null, $iLeft = Null, $iRight = Null)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
In this function you have the non-optional parameter, &#039;&#039;$oParStyle&#039;&#039;, and four optional parameters, &#039;&#039;$iTop&#039;&#039;, &#039;&#039;$iBottom&#039;&#039;, &#039;&#039;$iLeft&#039;&#039;, and &#039;&#039;$iRight&#039;&#039;. If I called this function with only a Paragraph Style Object, it would return the current Paragraph Style Border color values, the returned array would contain the following values: $aArray[0] = $iTop, $aArray[1] = $iBottom, $aArray[2] = $iLeft, and $aArray[3] = $iRight.&amp;lt;br&amp;gt;&lt;br /&gt;
Furthermore, any functions that have optional parameters with the “Null” value assigned to them, means that you can also skip any parameters you do not want to set a value for by calling “Null” in the position, nothing will be modified for that property.&lt;br /&gt;
&lt;br /&gt;
===Some of the other files===&lt;br /&gt;
There are some files I have not yet touched upon in these explanations, which we will now examine. Each separate component has a file named *_Helper.au3, there is also a general file called LibreOffice_Helper.au3. These files contain functions that either don&#039;t fit under the other categories, or are purely for aiding in other work. For example there is in LibreOffice_Helper.au3 functions such as _LO_UnitConvert, and _LO_VersionGet. _LO_UnitConvert can be used for converting from common units of measurement to the measurement unit used by LibreOffice internally (100th MM). VersionGet is used to determine the current LibreOffice/OpenOffice version being automated. This is beneficial when certain functions or parameters are only available for certain L.O. versions (These limitations will be indicated in any applicable functions, either in the parameter, or the description of the function itself if the whole function is restricted to a certain version.).&amp;lt;br&amp;gt;&lt;br /&gt;
Taking a look at LibreOfficeWriter_Helper.au3, we find some functions like the following: &#039;&#039;_LOWriter_FontsGetNames&#039;&#039;, and &#039;&#039;_LOWriter_SearchDescriptorCreate&#039;&#039;. _LOWriter_FontsGetNames, obviously, retrieves an array of all available Fonts for use in the Document. _LOWriter_SearchDescriptorCreate creates a Search descriptor Object for usage in the Writer Find and Replace functions found in the LibreOfficeWriter_Doc.au3 file. &lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. In order to obtain a Document Object, the beginning step is to either open an existing file by providing the file path to the appropriate function, for example an odt or docx file would be opened with Writer, or an ods or xlsx file would be opened by Calc, etc. Alternatively you could also connect to an already opened document instance using one of the “Connect” functions. Or, finally, you may just want to create an entirely new Document using the appropriate “Create” function. The actual process on how to do this will be discussed in more detail for each element in another section.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do. We will touch on this shortly, but first it is important to deal with the most probable question on any newcomer&#039;s mind,&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15253</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15253"/>
		<updated>2026-02-22T22:08:01Z</updated>

		<summary type="html">&lt;p&gt;Water: /* What do I do with all of these files? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice??]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. Further than this, as stated above, each respective style name retrieval function also lists any styles that have names differing from their internal names.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Example&#039;&#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                       ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)               ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello World&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                                ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
This optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in Calc and Writer. || Char || Manipulate character styles in Writer.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in Calc documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in Calc and Writer. || Database || Manipulate Base Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in Writer. || Doc || Manipulate documents in Base, Calc and Writer.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate Calc document fields. || FootEndNotes || Manipulate Writer Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate Base Forms and Writer Forms and Form Controls. || Frame || Manipulate Writer Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in Writer.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters. || Num || Manipulate Writer Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate Writer and Calc Page Styles. || Par || Manipulate Writer Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate Base Queries. || Range || Create, modify, apply Calc Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate Base Reports. || Shapes || Create, modify, and insert shapes in Writer.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate Calc document sheets. || SQLStatement || Create, modify and execute SQL Statements in Base.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate Base Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Functions - Naming Scheme&lt;br /&gt;
|- &lt;br /&gt;
|| Functions Naming Scheme: || _LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Example: || _LOWriter_ParObjCopy (&amp;quot;Copies&amp;quot; data selected by the ViewCursor) &lt;br /&gt;
|-&lt;br /&gt;
|| Where to find: || LibreOfficeWriter_Par.au3&lt;br /&gt;
|- &lt;br /&gt;
|| Description: || &amp;lt;Module&amp;gt; and &amp;lt;Object&amp;gt; can be found in the tables above. &amp;lt;Function&amp;gt; describes the manipulation to be done (read, modify, copy ...)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This chart illustrates part of the hierarchy, the file “LibreOffice.au3” has Includes in it for all sub-components. (Note: Some components in the chart aren&#039;t supported yet.). If you include this file, you can use any of the functions in all other sub-component files, all those listed in the chart. However, if you don&#039;t want such a large number of files included in your Script. You can include any sub-component you may need, such as LibreOfficeCalc.au3, or LibreOfficeBase.au3. Whichever component(s) you intend to automate.&amp;lt;br&amp;gt;&lt;br /&gt;
Going a step further, consider this chart:&lt;br /&gt;
&lt;br /&gt;
[[File:Chart_2.jpg|800px|||Sub level LibreOffice file]&lt;br /&gt;
&lt;br /&gt;
This chart considers only one component, in this case Writer. LibreOfficeWriter.au3 has many sub-files for the various tasks that can be done in Writer; Cell, Cursor, Doc, etc. More detail about these sub-files will be touched a little later. If you include LibreOfficeWriter.au3 in your script, you can use any of the functions in all the sub-files for Writer. You can identify a sub-file because the name will contain the Component&#039;s name, followed by an underscore, in this case, LibreOfficeWriter_*.au3., where “*” is a sub-file category of some type, i.e. Table, Doc or Page.&amp;lt;br&amp;gt;&lt;br /&gt;
Lastly, you also have the option to include in your script only some of the sub-files themselves. This may be a better approach depending on how much you need to do. For example, if you only need to Export a document, one could potentially only include LibreOfficeWriter_Doc.au3, which would include all the needed functions for the task, such as *_DocOpen, *_DocExport, etc.&amp;lt;br&amp;gt; &lt;br /&gt;
One small tip, you will never need to deal with the files named “*_Internal.au3”, i.e. LibreOfficeWriter_Internal.au3, they contain only functions needed by the various sub-files and are already included in the sub-files where needed.&lt;br /&gt;
&lt;br /&gt;
===How Do You Find What is Needed?===&lt;br /&gt;
Now we have reached the more interesting part, and also the more difficult. Most likely you have a certain task you need to accomplish, but how do you know what files you need for the job? Part of this problem we solved above, you (should) know already what component(s) of LibreOffice you want to automate, be it Calc, Base, or Writer, etc.Thus you know if you&#039;ll need to include LibreOfficeCalc.au3, LibreOfficeBase.au3 or LibreOfficeWriter.au3.&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is finding the right functions. This is admittedly the harder part to do, especially when you first begin with this UDF. We have attempted to logically sort functions according to their usage as best as possible. The naming of the sub-files is the first clue. Functions dealing with Document related actions, such as opening, closing, saving, maximize, minimize, visible/invisible, undo/redo, are found in the “*_Doc.au3” file. Taking Calc as an example, The LibreOfficeCalc_Sheet.au3 file has functions for adding or deleting Sheets from the document, setting and retrieving which Sheet is currently active, as well as retrieving the Object for the Sheets to use in further operations. There are also files for dealing with Ranges, as well as Cursors and Fields. This should help narrow down which file you will need to look through.&amp;lt;br&amp;gt;&lt;br /&gt;
Next, open each sub-file that seems to be related and look at the “; #CURRENT#” header near the top of the script. This will have a list of all the functions contained in the file. With each function we have tried to include in the name a hint of the corresponding tab or section in the LibreOffice UI, if applicable, as well as, of course, the attributes the function will affect or the action it will perform. For example when setting background color or background gradient in L.O., these settings are found under the “Area” tab in most UI pages. The corresponding functions are some of the following: _LOCalc_CommentAreaColor and _LOCalc_CommentAreaGradient. In this case the functions all have to do with modifying a Calc Comment, Area is the Tab name when setting some of these properties, (Background Color or Gradient).&amp;lt;br&amp;gt;&lt;br /&gt;
While these tips are generally correct, they aren&#039;t a solid rule yet. This UDF has attempted to adhere to this as best as possible, but LibreOffice has a wide variety of similar settings, not always located in identical settings. For example, for Cell background, there is no “Area” tab, thus the background color functions are simply _LOCalc_CellStyleBackColor and _LOCalc_CellBackColor.&amp;lt;br&amp;gt;&lt;br /&gt;
Once you find the function you need to use, always check the parameters section in the header, it will aid in indicatating where to find what you need to use to call each parameter, or what kind or where to obtain the kind of Object you need. As an example, consider the following Parameter entries from &#039;&#039;_LOCalc_CellUnderline&#039;&#039;,&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$oCell               - [in/out] an object. A Cell Range or Cell object returned by a previous _LOCalc_RangeGetCellByName, _LOCalc_RangeGetCellByPosition, _LOCalc_RangeColumnGetObjByPosition, _LOCalc_RangeColumnGetObjByName, _LOcalc_RangeRowGetObjByPosition, _LOCalc_SheetGetObjByName, or _LOCalc_SheetGetActive function.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This contains a few important details. First: The parameter &#039;&#039;$oCell&#039;&#039; accepts either a Calc Cell Range Object (i.e. a range Object covering A1:B3), Or a single Cell Object (i.e. Cell Object for Cell C3). Then follows a list of functions that would return such Objects that would be acceptable, this list is not always exhaustive when there are many functions that would return a similar acceptable Object or value. However the Object or value will either be named the same, or a note will be in the remarks section of the header indicating what else would be acceptable. Another example from &#039;&#039;_LOCalc_CellUnderline&#039;&#039;,&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iUnderLineStyle     - [optional] an integer value (0-18). Default is Null. The Underline line style, see constants, $LOC_UNDERLINE_* as defined in LibreOfficeCalc_Constants.au3.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This parameter has a few different and important details. First you will see some numerical values inside of parenthesis, 0-18, I will explain these shortly, you will also see it mentions a certain Constant name, in this case “$LOC_UNDERLINE_*”, this means, of course, that this parameter accepts the Constants of this name as values, the constants will be found in the file LibreOfficeCalc_Constants.au3. If you went to the Constants file, you would see 19 separate Constants to choose from. The values inside of the parenthesis means that this parameter accepts any of those constants that have values between 0 and 18.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iULColor            - [optional] an integer value (-1-16777215). Default is Null. The color of the underline, set in Long integer format. Can be a custom value, or one of the constants, $LO_COLOR_* as defined in LibreOffice_Constants.au3. Set to $LO_COLOR_OFF(-1) for automatic color mode.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This parameter is similar, again some values are found in parenthesis, -1 to 16,777,215. However if you went to the constants indicated, you would see that they only have a few options to choose from, but not an exhaustive list ranging from -1 to 16,777,215. That is why the parameter description indicates you can choose any custom value between -1 and 16,777,215, you can make up your own value as desired as long as it falls between those two values. We will touch another Parameter from another function as a final example.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iDistance           - [optional] an integer value. Default is Null. The distance of the Shadow from the Comment box, set in 1/100th MM.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Considering this Parameter, you will see that there are no parenthesis in this one, this generally means there are no limits, or perhaps only a minimum. If there is a minimum, and it is not mentioned in the parameter, it can be found by looking at the documented Input errors in the header. In this case, $iDistance has the following Input error:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;@Error 1 @Extended 4 = $iDistance not an Integer, or less than 0.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
That means $iDistance must be an integer, and cannot be less than 0. But there is seemingly no maximum. Or perhaps the maximum varied, which would be noted in the Remarks section, but generally it means it is not present.&lt;br /&gt;
&lt;br /&gt;
===A Few More Notes===&lt;br /&gt;
Throughout this UDF you will encounter functions that are for setting properties, whether it is Styles, Tables, Cells, etc. Usually, you will see that nearly all the parameters will be optional, except for the required Object parameter(s). The optional parameters will have an assigned value of “Null”, which will tell you that, unless indicted otherwise, this function can be used to both set AND retrieve the current property values. You can confirm if this is the case by looking at the Remarks section of the header for a statement similar to the following:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Call this function with only the required parameters (or by calling all other parameters with the Null keyword), to get the current settings.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
If you call this function with all optional parameters to Null the return will be an array (except when there is only one optional parameter, in which case the return will be of what ever type the Parameter is, an Integer, a String etc.) If there is more than one optional parameter, the returned array will be a single dimension (unless indicated otherwise), with each element of the array in the order of the optional parameters. For example:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;_LOWriter_ParStyleBorderColor(ByRef $oParStyle, $iTop = Null, $iBottom = Null, $iLeft = Null, $iRight = Null)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
In this function you have the non-optional parameter, &#039;&#039;$oParStyle&#039;&#039;, and four optional parameters, &#039;&#039;$iTop&#039;&#039;, &#039;&#039;$iBottom&#039;&#039;, &#039;&#039;$iLeft&#039;&#039;, and &#039;&#039;$iRight&#039;&#039;. If I called this function with only a Paragraph Style Object, it would return the current Paragraph Style Border color values, the returned array would contain the following values: $aArray[0] = $iTop, $aArray[1] = $iBottom, $aArray[2] = $iLeft, and $aArray[3] = $iRight.&amp;lt;br&amp;gt;&lt;br /&gt;
Furthermore, any functions that have optional parameters with the “Null” value assigned to them, means that you can also skip any parameters you do not want to set a value for by calling “Null” in the position, nothing will be modified for that property.&lt;br /&gt;
&lt;br /&gt;
===Some of the other files===&lt;br /&gt;
There are some files I have not yet touched upon in these explanations, which we will now examine. Each separate component has a file named *_Helper.au3, there is also a general file called LibreOffice_Helper.au3. These files contain functions that either don&#039;t fit under the other categories, or are purely for aiding in other work. For example there is in LibreOffice_Helper.au3 functions such as _LO_UnitConvert, and _LO_VersionGet. _LO_UnitConvert can be used for converting from common units of measurement to the measurement unit used by LibreOffice internally (100th MM). VersionGet is used to determine the current LibreOffice/OpenOffice version being automated. This is beneficial when certain functions or parameters are only available for certain L.O. versions (These limitations will be indicated in any applicable functions, either in the parameter, or the description of the function itself if the whole function is restricted to a certain version.).&amp;lt;br&amp;gt;&lt;br /&gt;
Taking a look at LibreOfficeWriter_Helper.au3, we find some functions like the following: &#039;&#039;_LOWriter_FontsGetNames&#039;&#039;, and &#039;&#039;_LOWriter_SearchDescriptorCreate&#039;&#039;. _LOWriter_FontsGetNames, obviously, retrieves an array of all available Fonts for use in the Document. _LOWriter_SearchDescriptorCreate creates a Search descriptor Object for usage in the Writer Find and Replace functions found in the LibreOfficeWriter_Doc.au3 file. &lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. In order to obtain a Document Object, the beginning step is to either open an existing file by providing the file path to the appropriate function, for example an odt or docx file would be opened with Writer, or an ods or xlsx file would be opened by Calc, etc. Alternatively you could also connect to an already opened document instance using one of the “Connect” functions. Or, finally, you may just want to create an entirely new Document using the appropriate “Create” function. The actual process on how to do this will be discussed in more detail for each element in another section.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do. We will touch on this shortly, but first it is important to deal with the most probable question on any newcomer&#039;s mind,&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15252</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15252"/>
		<updated>2026-02-22T22:05:28Z</updated>

		<summary type="html">&lt;p&gt;Water: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice??]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. Further than this, as stated above, each respective style name retrieval function also lists any styles that have names differing from their internal names.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Example&#039;&#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                       ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)               ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello World&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                                ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
This optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in Calc and Writer. || Char || Manipulate character styles in Writer.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in Calc documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in Calc and Writer. || Database || Manipulate Base Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in Writer. || Doc || Manipulate documents in Base, Calc and Writer.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate Calc document fields. || FootEndNotes || Manipulate Writer Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate Base Forms and Writer Forms and Form Controls. || Frame || Manipulate Writer Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in Writer.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters. || Num || Manipulate Writer Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate Writer and Calc Page Styles. || Par || Manipulate Writer Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate Base Queries. || Range || Create, modify, apply Calc Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate Base Reports. || Shapes || Create, modify, and insert shapes in Writer.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate Calc document sheets. || SQLStatement || Create, modify and execute SQL Statements in Base.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate Base Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Functions - Naming Scheme&lt;br /&gt;
|- &lt;br /&gt;
|| Functions Naming Scheme: || _LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| Example: || _LOWriter_ParObjCopy (&amp;quot;Copies&amp;quot; data selected by the ViewCursor) &lt;br /&gt;
|-&lt;br /&gt;
|| Where to find: || LibreOfficeWriter_Par.au3&lt;br /&gt;
|- &lt;br /&gt;
|| Description: || &amp;lt;Module&amp;gt; and &amp;lt;Object&amp;gt; can be found in the tables above. &amp;lt;Function&amp;gt; describes the manipulation to be done (read, modify, copy ...)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This chart illustrates part of the hierarchy, the file “LibreOffice.au3” has Includes in it for all sub-components. (Note: Some components in the chart aren&#039;t supported yet.). If you include this file, you can use any of the functions in all other sub-component files, all those listed in the chart. However, if you don&#039;t want such a large number of files included in your Script. You can include any sub-component you may need, such as LibreOfficeCalc.au3, or LibreOfficeBase.au3. Whichever component(s) you intend to automate.&amp;lt;br&amp;gt;&lt;br /&gt;
Going a step further, consider this chart:&lt;br /&gt;
&lt;br /&gt;
[[File:Chart_2.jpg|800px|||Sub level LibreOffice file]&lt;br /&gt;
&lt;br /&gt;
This chart considers only one component, in this case Writer. LibreOfficeWriter.au3 has many sub-files for the various tasks that can be done in Writer; Cell, Cursor, Doc, etc. More detail about these sub-files will be touched a little later. If you include LibreOfficeWriter.au3 in your script, you can use any of the functions in all the sub-files for Writer. You can identify a sub-file because the name will contain the Component&#039;s name, followed by an underscore, in this case, LibreOfficeWriter_*.au3., where “*” is a sub-file category of some type, i.e. Table, Doc or Page.&amp;lt;br&amp;gt;&lt;br /&gt;
Lastly, you also have the option to include in your script only some of the sub-files themselves. This may be a better approach depending on how much you need to do. For example, if you only need to Export a document, one could potentially only include LibreOfficeWriter_Doc.au3, which would include all the needed functions for the task, such as *_DocOpen, *_DocExport, etc.&amp;lt;br&amp;gt; &lt;br /&gt;
One small tip, you will never need to deal with the files named “*_Internal.au3”, i.e. LibreOfficeWriter_Internal.au3, they contain only functions needed by the various sub-files and are already included in the sub-files where needed.&lt;br /&gt;
&lt;br /&gt;
===How Do You Find What is Needed?===&lt;br /&gt;
Now we have reached the more interesting part, and also the more difficult. Most likely you have a certain task you need to accomplish, but how do you know what files you need for the job? Part of this problem we solved above, you (should) know already what component(s) of LibreOffice you want to automate, be it Calc, Base, or Writer, etc.Thus you know if you&#039;ll need to include LibreOfficeCalc.au3, LibreOfficeBase.au3 or LibreOfficeWriter.au3.&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is finding the right functions. This is admittedly the harder part to do, especially when you first begin with this UDF. We have attempted to logically sort functions according to their usage as best as possible. The naming of the sub-files is the first clue. Functions dealing with Document related actions, such as opening, closing, saving, maximize, minimize, visible/invisible, undo/redo, are found in the “*_Doc.au3” file. Taking Calc as an example, The LibreOfficeCalc_Sheet.au3 file has functions for adding or deleting Sheets from the document, setting and retrieving which Sheet is currently active, as well as retrieving the Object for the Sheets to use in further operations. There are also files for dealing with Ranges, as well as Cursors and Fields. This should help narrow down which file you will need to look through.&amp;lt;br&amp;gt;&lt;br /&gt;
Next, open each sub-file that seems to be related and look at the “; #CURRENT#” header near the top of the script. This will have a list of all the functions contained in the file. With each function we have tried to include in the name a hint of the corresponding tab or section in the LibreOffice UI, if applicable, as well as, of course, the attributes the function will affect or the action it will perform. For example when setting background color or background gradient in L.O., these settings are found under the “Area” tab in most UI pages. The corresponding functions are some of the following: _LOCalc_CommentAreaColor and _LOCalc_CommentAreaGradient. In this case the functions all have to do with modifying a Calc Comment, Area is the Tab name when setting some of these properties, (Background Color or Gradient).&amp;lt;br&amp;gt;&lt;br /&gt;
While these tips are generally correct, they aren&#039;t a solid rule yet. This UDF has attempted to adhere to this as best as possible, but LibreOffice has a wide variety of similar settings, not always located in identical settings. For example, for Cell background, there is no “Area” tab, thus the background color functions are simply _LOCalc_CellStyleBackColor and _LOCalc_CellBackColor.&amp;lt;br&amp;gt;&lt;br /&gt;
Once you find the function you need to use, always check the parameters section in the header, it will aid in indicatating where to find what you need to use to call each parameter, or what kind or where to obtain the kind of Object you need. As an example, consider the following Parameter entries from &#039;&#039;_LOCalc_CellUnderline&#039;&#039;,&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$oCell               - [in/out] an object. A Cell Range or Cell object returned by a previous _LOCalc_RangeGetCellByName, _LOCalc_RangeGetCellByPosition, _LOCalc_RangeColumnGetObjByPosition, _LOCalc_RangeColumnGetObjByName, _LOcalc_RangeRowGetObjByPosition, _LOCalc_SheetGetObjByName, or _LOCalc_SheetGetActive function.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This contains a few important details. First: The parameter &#039;&#039;$oCell&#039;&#039; accepts either a Calc Cell Range Object (i.e. a range Object covering A1:B3), Or a single Cell Object (i.e. Cell Object for Cell C3). Then follows a list of functions that would return such Objects that would be acceptable, this list is not always exhaustive when there are many functions that would return a similar acceptable Object or value. However the Object or value will either be named the same, or a note will be in the remarks section of the header indicating what else would be acceptable. Another example from &#039;&#039;_LOCalc_CellUnderline&#039;&#039;,&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iUnderLineStyle     - [optional] an integer value (0-18). Default is Null. The Underline line style, see constants, $LOC_UNDERLINE_* as defined in LibreOfficeCalc_Constants.au3.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This parameter has a few different and important details. First you will see some numerical values inside of parenthesis, 0-18, I will explain these shortly, you will also see it mentions a certain Constant name, in this case “$LOC_UNDERLINE_*”, this means, of course, that this parameter accepts the Constants of this name as values, the constants will be found in the file LibreOfficeCalc_Constants.au3. If you went to the Constants file, you would see 19 separate Constants to choose from. The values inside of the parenthesis means that this parameter accepts any of those constants that have values between 0 and 18.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iULColor            - [optional] an integer value (-1-16777215). Default is Null. The color of the underline, set in Long integer format. Can be a custom value, or one of the constants, $LO_COLOR_* as defined in LibreOffice_Constants.au3. Set to $LO_COLOR_OFF(-1) for automatic color mode.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This parameter is similar, again some values are found in parenthesis, -1 to 16,777,215. However if you went to the constants indicated, you would see that they only have a few options to choose from, but not an exhaustive list ranging from -1 to 16,777,215. That is why the parameter description indicates you can choose any custom value between -1 and 16,777,215, you can make up your own value as desired as long as it falls between those two values. We will touch another Parameter from another function as a final example.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iDistance           - [optional] an integer value. Default is Null. The distance of the Shadow from the Comment box, set in 1/100th MM.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Considering this Parameter, you will see that there are no parenthesis in this one, this generally means there are no limits, or perhaps only a minimum. If there is a minimum, and it is not mentioned in the parameter, it can be found by looking at the documented Input errors in the header. In this case, $iDistance has the following Input error:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;@Error 1 @Extended 4 = $iDistance not an Integer, or less than 0.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
That means $iDistance must be an integer, and cannot be less than 0. But there is seemingly no maximum. Or perhaps the maximum varied, which would be noted in the Remarks section, but generally it means it is not present.&lt;br /&gt;
&lt;br /&gt;
===A Few More Notes===&lt;br /&gt;
Throughout this UDF you will encounter functions that are for setting properties, whether it is Styles, Tables, Cells, etc. Usually, you will see that nearly all the parameters will be optional, except for the required Object parameter(s). The optional parameters will have an assigned value of “Null”, which will tell you that, unless indicted otherwise, this function can be used to both set AND retrieve the current property values. You can confirm if this is the case by looking at the Remarks section of the header for a statement similar to the following:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Call this function with only the required parameters (or by calling all other parameters with the Null keyword), to get the current settings.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
If you call this function with all optional parameters to Null the return will be an array (except when there is only one optional parameter, in which case the return will be of what ever type the Parameter is, an Integer, a String etc.) If there is more than one optional parameter, the returned array will be a single dimension (unless indicated otherwise), with each element of the array in the order of the optional parameters. For example:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;_LOWriter_ParStyleBorderColor(ByRef $oParStyle, $iTop = Null, $iBottom = Null, $iLeft = Null, $iRight = Null)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
In this function you have the non-optional parameter, &#039;&#039;$oParStyle&#039;&#039;, and four optional parameters, &#039;&#039;$iTop&#039;&#039;, &#039;&#039;$iBottom&#039;&#039;, &#039;&#039;$iLeft&#039;&#039;, and &#039;&#039;$iRight&#039;&#039;. If I called this function with only a Paragraph Style Object, it would return the current Paragraph Style Border color values, the returned array would contain the following values: $aArray[0] = $iTop, $aArray[1] = $iBottom, $aArray[2] = $iLeft, and $aArray[3] = $iRight.&amp;lt;br&amp;gt;&lt;br /&gt;
Furthermore, any functions that have optional parameters with the “Null” value assigned to them, means that you can also skip any parameters you do not want to set a value for by calling “Null” in the position, nothing will be modified for that property.&lt;br /&gt;
&lt;br /&gt;
===Some of the other files===&lt;br /&gt;
There are some files I have not yet touched upon in these explanations, which we will now examine. Each separate component has a file named *_Helper.au3, there is also a general file called LibreOffice_Helper.au3. These files contain functions that either don&#039;t fit under the other categories, or are purely for aiding in other work. For example there is in LibreOffice_Helper.au3 functions such as _LO_UnitConvert, and _LO_VersionGet. _LO_UnitConvert can be used for converting from common units of measurement to the measurement unit used by LibreOffice internally (100th MM). VersionGet is used to determine the current LibreOffice/OpenOffice version being automated. This is beneficial when certain functions or parameters are only available for certain L.O. versions (These limitations will be indicated in any applicable functions, either in the parameter, or the description of the function itself if the whole function is restricted to a certain version.).&amp;lt;br&amp;gt;&lt;br /&gt;
Taking a look at LibreOfficeWriter_Helper.au3, we find some functions like the following: &#039;&#039;_LOWriter_FontsGetNames&#039;&#039;, and &#039;&#039;_LOWriter_SearchDescriptorCreate&#039;&#039;. _LOWriter_FontsGetNames, obviously, retrieves an array of all available Fonts for use in the Document. _LOWriter_SearchDescriptorCreate creates a Search descriptor Object for usage in the Writer Find and Replace functions found in the LibreOfficeWriter_Doc.au3 file. &lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. In order to obtain a Document Object, the beginning step is to either open an existing file by providing the file path to the appropriate function, for example an odt or docx file would be opened with Writer, or an ods or xlsx file would be opened by Calc, etc. Alternatively you could also connect to an already opened document instance using one of the “Connect” functions. Or, finally, you may just want to create an entirely new Document using the appropriate “Create” function. The actual process on how to do this will be discussed in more detail for each element in another section.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do. We will touch on this shortly, but first it is important to deal with the most probable question on any newcomer&#039;s mind,&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15251</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15251"/>
		<updated>2026-02-22T19:42:12Z</updated>

		<summary type="html">&lt;p&gt;Water: /* Getting started */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice??]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. Further than this, as stated above, each respective style name retrieval function also lists any styles that have names differing from their internal names.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Example&#039;&#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                       ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)               ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Hello World&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                                ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
This optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in Calc and Writer. || Char || Manipulate character styles in Writer.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in Calc documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in Calc and Writer. || Database || Manipulate Base Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in Writer. || Doc || Manipulate documents in Base, Calc and Writer.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate Calc document fields. || FootEndNotes || Manipulate Writer Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate Base Forms and Writer Forms and Form Controls. || Frame || Manipulate Writer Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in Writer.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters. || Num || Manipulate Writer Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate Writer and Calc Page Styles. || Par || Manipulate Writer Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate Base Queries. || Range || Create, modify, apply Calc Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate Base Reports. || Shapes || Create, modify, and insert shapes in Writer.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate Calc document sheets. || SQLStatement || Create, modify and execute SQL Statements in Base.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate Base Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Functions Naming Scheme&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
_LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Example: _LOWriter_ParObjCopy&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This chart illustrates part of the hierarchy, the file “LibreOffice.au3” has Includes in it for all sub-components. (Note: Some components in the chart aren&#039;t supported yet.). If you include this file, you can use any of the functions in all other sub-component files, all those listed in the chart. However, if you don&#039;t want such a large number of files included in your Script. You can include any sub-component you may need, such as LibreOfficeCalc.au3, or LibreOfficeBase.au3. Whichever component(s) you intend to automate.&amp;lt;br&amp;gt;&lt;br /&gt;
Going a step further, consider this chart:&lt;br /&gt;
&lt;br /&gt;
[[File:Chart_2.jpg|800px|||Sub level LibreOffice file]&lt;br /&gt;
&lt;br /&gt;
This chart considers only one component, in this case Writer. LibreOfficeWriter.au3 has many sub-files for the various tasks that can be done in Writer; Cell, Cursor, Doc, etc. More detail about these sub-files will be touched a little later. If you include LibreOfficeWriter.au3 in your script, you can use any of the functions in all the sub-files for Writer. You can identify a sub-file because the name will contain the Component&#039;s name, followed by an underscore, in this case, LibreOfficeWriter_*.au3., where “*” is a sub-file category of some type, i.e. Table, Doc or Page.&amp;lt;br&amp;gt;&lt;br /&gt;
Lastly, you also have the option to include in your script only some of the sub-files themselves. This may be a better approach depending on how much you need to do. For example, if you only need to Export a document, one could potentially only include LibreOfficeWriter_Doc.au3, which would include all the needed functions for the task, such as *_DocOpen, *_DocExport, etc.&amp;lt;br&amp;gt; &lt;br /&gt;
One small tip, you will never need to deal with the files named “*_Internal.au3”, i.e. LibreOfficeWriter_Internal.au3, they contain only functions needed by the various sub-files and are already included in the sub-files where needed.&lt;br /&gt;
&lt;br /&gt;
===How Do You Find What is Needed?===&lt;br /&gt;
Now we have reached the more interesting part, and also the more difficult. Most likely you have a certain task you need to accomplish, but how do you know what files you need for the job? Part of this problem we solved above, you (should) know already what component(s) of LibreOffice you want to automate, be it Calc, Base, or Writer, etc.Thus you know if you&#039;ll need to include LibreOfficeCalc.au3, LibreOfficeBase.au3 or LibreOfficeWriter.au3.&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is finding the right functions. This is admittedly the harder part to do, especially when you first begin with this UDF. We have attempted to logically sort functions according to their usage as best as possible. The naming of the sub-files is the first clue. Functions dealing with Document related actions, such as opening, closing, saving, maximize, minimize, visible/invisible, undo/redo, are found in the “*_Doc.au3” file. Taking Calc as an example, The LibreOfficeCalc_Sheet.au3 file has functions for adding or deleting Sheets from the document, setting and retrieving which Sheet is currently active, as well as retrieving the Object for the Sheets to use in further operations. There are also files for dealing with Ranges, as well as Cursors and Fields. This should help narrow down which file you will need to look through.&amp;lt;br&amp;gt;&lt;br /&gt;
Next, open each sub-file that seems to be related and look at the “; #CURRENT#” header near the top of the script. This will have a list of all the functions contained in the file. With each function we have tried to include in the name a hint of the corresponding tab or section in the LibreOffice UI, if applicable, as well as, of course, the attributes the function will affect or the action it will perform. For example when setting background color or background gradient in L.O., these settings are found under the “Area” tab in most UI pages. The corresponding functions are some of the following: _LOCalc_CommentAreaColor and _LOCalc_CommentAreaGradient. In this case the functions all have to do with modifying a Calc Comment, Area is the Tab name when setting some of these properties, (Background Color or Gradient).&amp;lt;br&amp;gt;&lt;br /&gt;
While these tips are generally correct, they aren&#039;t a solid rule yet. This UDF has attempted to adhere to this as best as possible, but LibreOffice has a wide variety of similar settings, not always located in identical settings. For example, for Cell background, there is no “Area” tab, thus the background color functions are simply _LOCalc_CellStyleBackColor and _LOCalc_CellBackColor.&amp;lt;br&amp;gt;&lt;br /&gt;
Once you find the function you need to use, always check the parameters section in the header, it will aid in indicatating where to find what you need to use to call each parameter, or what kind or where to obtain the kind of Object you need. As an example, consider the following Parameter entries from &#039;&#039;_LOCalc_CellUnderline&#039;&#039;,&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$oCell               - [in/out] an object. A Cell Range or Cell object returned by a previous _LOCalc_RangeGetCellByName, _LOCalc_RangeGetCellByPosition, _LOCalc_RangeColumnGetObjByPosition, _LOCalc_RangeColumnGetObjByName, _LOcalc_RangeRowGetObjByPosition, _LOCalc_SheetGetObjByName, or _LOCalc_SheetGetActive function.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This contains a few important details. First: The parameter &#039;&#039;$oCell&#039;&#039; accepts either a Calc Cell Range Object (i.e. a range Object covering A1:B3), Or a single Cell Object (i.e. Cell Object for Cell C3). Then follows a list of functions that would return such Objects that would be acceptable, this list is not always exhaustive when there are many functions that would return a similar acceptable Object or value. However the Object or value will either be named the same, or a note will be in the remarks section of the header indicating what else would be acceptable. Another example from &#039;&#039;_LOCalc_CellUnderline&#039;&#039;,&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iUnderLineStyle     - [optional] an integer value (0-18). Default is Null. The Underline line style, see constants, $LOC_UNDERLINE_* as defined in LibreOfficeCalc_Constants.au3.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This parameter has a few different and important details. First you will see some numerical values inside of parenthesis, 0-18, I will explain these shortly, you will also see it mentions a certain Constant name, in this case “$LOC_UNDERLINE_*”, this means, of course, that this parameter accepts the Constants of this name as values, the constants will be found in the file LibreOfficeCalc_Constants.au3. If you went to the Constants file, you would see 19 separate Constants to choose from. The values inside of the parenthesis means that this parameter accepts any of those constants that have values between 0 and 18.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iULColor            - [optional] an integer value (-1-16777215). Default is Null. The color of the underline, set in Long integer format. Can be a custom value, or one of the constants, $LO_COLOR_* as defined in LibreOffice_Constants.au3. Set to $LO_COLOR_OFF(-1) for automatic color mode.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This parameter is similar, again some values are found in parenthesis, -1 to 16,777,215. However if you went to the constants indicated, you would see that they only have a few options to choose from, but not an exhaustive list ranging from -1 to 16,777,215. That is why the parameter description indicates you can choose any custom value between -1 and 16,777,215, you can make up your own value as desired as long as it falls between those two values. We will touch another Parameter from another function as a final example.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iDistance           - [optional] an integer value. Default is Null. The distance of the Shadow from the Comment box, set in 1/100th MM.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Considering this Parameter, you will see that there are no parenthesis in this one, this generally means there are no limits, or perhaps only a minimum. If there is a minimum, and it is not mentioned in the parameter, it can be found by looking at the documented Input errors in the header. In this case, $iDistance has the following Input error:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;@Error 1 @Extended 4 = $iDistance not an Integer, or less than 0.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
That means $iDistance must be an integer, and cannot be less than 0. But there is seemingly no maximum. Or perhaps the maximum varied, which would be noted in the Remarks section, but generally it means it is not present.&lt;br /&gt;
&lt;br /&gt;
===A Few More Notes===&lt;br /&gt;
Throughout this UDF you will encounter functions that are for setting properties, whether it is Styles, Tables, Cells, etc. Usually, you will see that nearly all the parameters will be optional, except for the required Object parameter(s). The optional parameters will have an assigned value of “Null”, which will tell you that, unless indicted otherwise, this function can be used to both set AND retrieve the current property values. You can confirm if this is the case by looking at the Remarks section of the header for a statement similar to the following:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Call this function with only the required parameters (or by calling all other parameters with the Null keyword), to get the current settings.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
If you call this function with all optional parameters to Null the return will be an array (except when there is only one optional parameter, in which case the return will be of what ever type the Parameter is, an Integer, a String etc.) If there is more than one optional parameter, the returned array will be a single dimension (unless indicated otherwise), with each element of the array in the order of the optional parameters. For example:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;_LOWriter_ParStyleBorderColor(ByRef $oParStyle, $iTop = Null, $iBottom = Null, $iLeft = Null, $iRight = Null)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
In this function you have the non-optional parameter, &#039;&#039;$oParStyle&#039;&#039;, and four optional parameters, &#039;&#039;$iTop&#039;&#039;, &#039;&#039;$iBottom&#039;&#039;, &#039;&#039;$iLeft&#039;&#039;, and &#039;&#039;$iRight&#039;&#039;. If I called this function with only a Paragraph Style Object, it would return the current Paragraph Style Border color values, the returned array would contain the following values: $aArray[0] = $iTop, $aArray[1] = $iBottom, $aArray[2] = $iLeft, and $aArray[3] = $iRight.&amp;lt;br&amp;gt;&lt;br /&gt;
Furthermore, any functions that have optional parameters with the “Null” value assigned to them, means that you can also skip any parameters you do not want to set a value for by calling “Null” in the position, nothing will be modified for that property.&lt;br /&gt;
&lt;br /&gt;
===Some of the other files===&lt;br /&gt;
There are some files I have not yet touched upon in these explanations, which we will now examine. Each separate component has a file named *_Helper.au3, there is also a general file called LibreOffice_Helper.au3. These files contain functions that either don&#039;t fit under the other categories, or are purely for aiding in other work. For example there is in LibreOffice_Helper.au3 functions such as _LO_UnitConvert, and _LO_VersionGet. _LO_UnitConvert can be used for converting from common units of measurement to the measurement unit used by LibreOffice internally (100th MM). VersionGet is used to determine the current LibreOffice/OpenOffice version being automated. This is beneficial when certain functions or parameters are only available for certain L.O. versions (These limitations will be indicated in any applicable functions, either in the parameter, or the description of the function itself if the whole function is restricted to a certain version.).&amp;lt;br&amp;gt;&lt;br /&gt;
Taking a look at LibreOfficeWriter_Helper.au3, we find some functions like the following: &#039;&#039;_LOWriter_FontsGetNames&#039;&#039;, and &#039;&#039;_LOWriter_SearchDescriptorCreate&#039;&#039;. _LOWriter_FontsGetNames, obviously, retrieves an array of all available Fonts for use in the Document. _LOWriter_SearchDescriptorCreate creates a Search descriptor Object for usage in the Writer Find and Replace functions found in the LibreOfficeWriter_Doc.au3 file. &lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. In order to obtain a Document Object, the beginning step is to either open an existing file by providing the file path to the appropriate function, for example an odt or docx file would be opened with Writer, or an ods or xlsx file would be opened by Calc, etc. Alternatively you could also connect to an already opened document instance using one of the “Connect” functions. Or, finally, you may just want to create an entirely new Document using the appropriate “Create” function. The actual process on how to do this will be discussed in more detail for each element in another section.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do. We will touch on this shortly, but first it is important to deal with the most probable question on any newcomer&#039;s mind,&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15250</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15250"/>
		<updated>2026-02-22T16:55:07Z</updated>

		<summary type="html">&lt;p&gt;Water: /* What do I do with all of these files? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice??]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. Further than this, as stated above, each respective style name retrieval function also lists any styles that have names differing from their internal names.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Example&#039;&#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                     ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)             ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Some text&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                              ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
This optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in Calc and Writer. || Char || Manipulate character styles in Writer.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in Calc documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in Calc and Writer. || Database || Manipulate Base Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in Writer. || Doc || Manipulate documents in Base, Calc and Writer.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate Calc document fields. || FootEndNotes || Manipulate Writer Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate Base Forms and Writer Forms and Form Controls. || Frame || Manipulate Writer Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in Writer.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters. || Num || Manipulate Writer Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate Writer and Calc Page Styles. || Par || Manipulate Writer Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate Base Queries. || Range || Create, modify, apply Calc Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate Base Reports. || Shapes || Create, modify, and insert shapes in Writer.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate Calc document sheets. || SQLStatement || Create, modify and execute SQL Statements in Base.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate Base Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Functions Naming Scheme&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
_LO&amp;lt;Module&amp;gt;_&amp;lt;Object&amp;gt;&amp;lt;Function&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
Example: _LOWriter_ParObjCopy&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This chart illustrates part of the hierarchy, the file “LibreOffice.au3” has Includes in it for all sub-components. (Note: Some components in the chart aren&#039;t supported yet.). If you include this file, you can use any of the functions in all other sub-component files, all those listed in the chart. However, if you don&#039;t want such a large number of files included in your Script. You can include any sub-component you may need, such as LibreOfficeCalc.au3, or LibreOfficeBase.au3. Whichever component(s) you intend to automate.&amp;lt;br&amp;gt;&lt;br /&gt;
Going a step further, consider this chart:&lt;br /&gt;
&lt;br /&gt;
[[File:Chart_2.jpg|800px|||Sub level LibreOffice file]&lt;br /&gt;
&lt;br /&gt;
This chart considers only one component, in this case Writer. LibreOfficeWriter.au3 has many sub-files for the various tasks that can be done in Writer; Cell, Cursor, Doc, etc. More detail about these sub-files will be touched a little later. If you include LibreOfficeWriter.au3 in your script, you can use any of the functions in all the sub-files for Writer. You can identify a sub-file because the name will contain the Component&#039;s name, followed by an underscore, in this case, LibreOfficeWriter_*.au3., where “*” is a sub-file category of some type, i.e. Table, Doc or Page.&amp;lt;br&amp;gt;&lt;br /&gt;
Lastly, you also have the option to include in your script only some of the sub-files themselves. This may be a better approach depending on how much you need to do. For example, if you only need to Export a document, one could potentially only include LibreOfficeWriter_Doc.au3, which would include all the needed functions for the task, such as *_DocOpen, *_DocExport, etc.&amp;lt;br&amp;gt; &lt;br /&gt;
One small tip, you will never need to deal with the files named “*_Internal.au3”, i.e. LibreOfficeWriter_Internal.au3, they contain only functions needed by the various sub-files and are already included in the sub-files where needed.&lt;br /&gt;
&lt;br /&gt;
===How Do You Find What is Needed?===&lt;br /&gt;
Now we have reached the more interesting part, and also the more difficult. Most likely you have a certain task you need to accomplish, but how do you know what files you need for the job? Part of this problem we solved above, you (should) know already what component(s) of LibreOffice you want to automate, be it Calc, Base, or Writer, etc.Thus you know if you&#039;ll need to include LibreOfficeCalc.au3, LibreOfficeBase.au3 or LibreOfficeWriter.au3.&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is finding the right functions. This is admittedly the harder part to do, especially when you first begin with this UDF. We have attempted to logically sort functions according to their usage as best as possible. The naming of the sub-files is the first clue. Functions dealing with Document related actions, such as opening, closing, saving, maximize, minimize, visible/invisible, undo/redo, are found in the “*_Doc.au3” file. Taking Calc as an example, The LibreOfficeCalc_Sheet.au3 file has functions for adding or deleting Sheets from the document, setting and retrieving which Sheet is currently active, as well as retrieving the Object for the Sheets to use in further operations. There are also files for dealing with Ranges, as well as Cursors and Fields. This should help narrow down which file you will need to look through.&amp;lt;br&amp;gt;&lt;br /&gt;
Next, open each sub-file that seems to be related and look at the “; #CURRENT#” header near the top of the script. This will have a list of all the functions contained in the file. With each function we have tried to include in the name a hint of the corresponding tab or section in the LibreOffice UI, if applicable, as well as, of course, the attributes the function will affect or the action it will perform. For example when setting background color or background gradient in L.O., these settings are found under the “Area” tab in most UI pages. The corresponding functions are some of the following: _LOCalc_CommentAreaColor and _LOCalc_CommentAreaGradient. In this case the functions all have to do with modifying a Calc Comment, Area is the Tab name when setting some of these properties, (Background Color or Gradient).&amp;lt;br&amp;gt;&lt;br /&gt;
While these tips are generally correct, they aren&#039;t a solid rule yet. This UDF has attempted to adhere to this as best as possible, but LibreOffice has a wide variety of similar settings, not always located in identical settings. For example, for Cell background, there is no “Area” tab, thus the background color functions are simply _LOCalc_CellStyleBackColor and _LOCalc_CellBackColor.&amp;lt;br&amp;gt;&lt;br /&gt;
Once you find the function you need to use, always check the parameters section in the header, it will aid in indicatating where to find what you need to use to call each parameter, or what kind or where to obtain the kind of Object you need. As an example, consider the following Parameter entries from &#039;&#039;_LOCalc_CellUnderline&#039;&#039;,&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$oCell               - [in/out] an object. A Cell Range or Cell object returned by a previous _LOCalc_RangeGetCellByName, _LOCalc_RangeGetCellByPosition, _LOCalc_RangeColumnGetObjByPosition, _LOCalc_RangeColumnGetObjByName, _LOcalc_RangeRowGetObjByPosition, _LOCalc_SheetGetObjByName, or _LOCalc_SheetGetActive function.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This contains a few important details. First: The parameter &#039;&#039;$oCell&#039;&#039; accepts either a Calc Cell Range Object (i.e. a range Object covering A1:B3), Or a single Cell Object (i.e. Cell Object for Cell C3). Then follows a list of functions that would return such Objects that would be acceptable, this list is not always exhaustive when there are many functions that would return a similar acceptable Object or value. However the Object or value will either be named the same, or a note will be in the remarks section of the header indicating what else would be acceptable. Another example from &#039;&#039;_LOCalc_CellUnderline&#039;&#039;,&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iUnderLineStyle     - [optional] an integer value (0-18). Default is Null. The Underline line style, see constants, $LOC_UNDERLINE_* as defined in LibreOfficeCalc_Constants.au3.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This parameter has a few different and important details. First you will see some numerical values inside of parenthesis, 0-18, I will explain these shortly, you will also see it mentions a certain Constant name, in this case “$LOC_UNDERLINE_*”, this means, of course, that this parameter accepts the Constants of this name as values, the constants will be found in the file LibreOfficeCalc_Constants.au3. If you went to the Constants file, you would see 19 separate Constants to choose from. The values inside of the parenthesis means that this parameter accepts any of those constants that have values between 0 and 18.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iULColor            - [optional] an integer value (-1-16777215). Default is Null. The color of the underline, set in Long integer format. Can be a custom value, or one of the constants, $LO_COLOR_* as defined in LibreOffice_Constants.au3. Set to $LO_COLOR_OFF(-1) for automatic color mode.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This parameter is similar, again some values are found in parenthesis, -1 to 16,777,215. However if you went to the constants indicated, you would see that they only have a few options to choose from, but not an exhaustive list ranging from -1 to 16,777,215. That is why the parameter description indicates you can choose any custom value between -1 and 16,777,215, you can make up your own value as desired as long as it falls between those two values. We will touch another Parameter from another function as a final example.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iDistance           - [optional] an integer value. Default is Null. The distance of the Shadow from the Comment box, set in 1/100th MM.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Considering this Parameter, you will see that there are no parenthesis in this one, this generally means there are no limits, or perhaps only a minimum. If there is a minimum, and it is not mentioned in the parameter, it can be found by looking at the documented Input errors in the header. In this case, $iDistance has the following Input error:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;@Error 1 @Extended 4 = $iDistance not an Integer, or less than 0.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
That means $iDistance must be an integer, and cannot be less than 0. But there is seemingly no maximum. Or perhaps the maximum varied, which would be noted in the Remarks section, but generally it means it is not present.&lt;br /&gt;
&lt;br /&gt;
===A Few More Notes===&lt;br /&gt;
Throughout this UDF you will encounter functions that are for setting properties, whether it is Styles, Tables, Cells, etc. Usually, you will see that nearly all the parameters will be optional, except for the required Object parameter(s). The optional parameters will have an assigned value of “Null”, which will tell you that, unless indicted otherwise, this function can be used to both set AND retrieve the current property values. You can confirm if this is the case by looking at the Remarks section of the header for a statement similar to the following:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Call this function with only the required parameters (or by calling all other parameters with the Null keyword), to get the current settings.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
If you call this function with all optional parameters to Null the return will be an array (except when there is only one optional parameter, in which case the return will be of what ever type the Parameter is, an Integer, a String etc.) If there is more than one optional parameter, the returned array will be a single dimension (unless indicated otherwise), with each element of the array in the order of the optional parameters. For example:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;_LOWriter_ParStyleBorderColor(ByRef $oParStyle, $iTop = Null, $iBottom = Null, $iLeft = Null, $iRight = Null)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
In this function you have the non-optional parameter, &#039;&#039;$oParStyle&#039;&#039;, and four optional parameters, &#039;&#039;$iTop&#039;&#039;, &#039;&#039;$iBottom&#039;&#039;, &#039;&#039;$iLeft&#039;&#039;, and &#039;&#039;$iRight&#039;&#039;. If I called this function with only a Paragraph Style Object, it would return the current Paragraph Style Border color values, the returned array would contain the following values: $aArray[0] = $iTop, $aArray[1] = $iBottom, $aArray[2] = $iLeft, and $aArray[3] = $iRight.&amp;lt;br&amp;gt;&lt;br /&gt;
Furthermore, any functions that have optional parameters with the “Null” value assigned to them, means that you can also skip any parameters you do not want to set a value for by calling “Null” in the position, nothing will be modified for that property.&lt;br /&gt;
&lt;br /&gt;
===Some of the other files===&lt;br /&gt;
There are some files I have not yet touched upon in these explanations, which we will now examine. Each separate component has a file named *_Helper.au3, there is also a general file called LibreOffice_Helper.au3. These files contain functions that either don&#039;t fit under the other categories, or are purely for aiding in other work. For example there is in LibreOffice_Helper.au3 functions such as _LO_UnitConvert, and _LO_VersionGet. _LO_UnitConvert can be used for converting from common units of measurement to the measurement unit used by LibreOffice internally (100th MM). VersionGet is used to determine the current LibreOffice/OpenOffice version being automated. This is beneficial when certain functions or parameters are only available for certain L.O. versions (These limitations will be indicated in any applicable functions, either in the parameter, or the description of the function itself if the whole function is restricted to a certain version.).&amp;lt;br&amp;gt;&lt;br /&gt;
Taking a look at LibreOfficeWriter_Helper.au3, we find some functions like the following: &#039;&#039;_LOWriter_FontsGetNames&#039;&#039;, and &#039;&#039;_LOWriter_SearchDescriptorCreate&#039;&#039;. _LOWriter_FontsGetNames, obviously, retrieves an array of all available Fonts for use in the Document. _LOWriter_SearchDescriptorCreate creates a Search descriptor Object for usage in the Writer Find and Replace functions found in the LibreOfficeWriter_Doc.au3 file. &lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. In order to obtain a Document Object, the beginning step is to either open an existing file by providing the file path to the appropriate function, for example an odt or docx file would be opened with Writer, or an ods or xlsx file would be opened by Calc, etc. Alternatively you could also connect to an already opened document instance using one of the “Connect” functions. Or, finally, you may just want to create an entirely new Document using the appropriate “Create” function. The actual process on how to do this will be discussed in more detail for each element in another section.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do. We will touch on this shortly, but first it is important to deal with the most probable question on any newcomer&#039;s mind,&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15249</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15249"/>
		<updated>2026-02-22T09:59:59Z</updated>

		<summary type="html">&lt;p&gt;Water: /* What do I do with all of these files? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice??]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. Further than this, as stated above, each respective style name retrieval function also lists any styles that have names differing from their internal names.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Example&#039;&#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                     ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)             ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Some text&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                              ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script? &amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form (3 levels: suite, module and object).&lt;br /&gt;
&amp;lt;p&amp;gt;Each filename consists of the string &amp;quot;&#039;&#039;&#039;LibreOffice&#039;&#039;&#039;&amp;quot; the optional &#039;&#039;&#039;module name&#039;&#039;&#039; and the optional &#039;&#039;&#039;object name&#039;&#039;&#039;. &amp;lt;br&amp;gt;&lt;br /&gt;
This optional parts of the file name (including description) are listed in the following tables. &amp;lt;br&amp;gt;&lt;br /&gt;
To help you decide which files to include in your script, examples are provided in the last table.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on this level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in Calc and Writer. || Char || Manipulate character styles in Writer.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in Calc documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform cursor movements in Calc and Writer. || Database || Manipulate Base Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Manipulate Direct Character and Paragraph formatting in Writer. || Doc || Manipulate documents in Base, Calc and Writer.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Manipulate Calc document fields. || FootEndNotes || Manipulate Writer Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Manipulate Base Forms and Writer Forms and Form Controls. || Frame || Manipulate Writer Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Manipulate data for use in various functions of the UDF. || Images || Insert and modify Images in Writer.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters. || Num || Manipulate Writer Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Manipulate Writer and Calc Page Styles. || Par || Manipulate Writer Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Manipulate Base Queries. || Range || Create, modify, apply Calc Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Manipulate Base Reports. || Shapes || Create, modify, and insert shapes in Writer.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Manipulate Calc document sheets. || SQLStatement || Create, modify and execute SQL Statements in Base.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Manipulate Base Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Still missing Naming Scheme of function names&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&lt;br /&gt;
&lt;br /&gt;
This chart illustrates part of the hierarchy, the file “LibreOffice.au3” has Includes in it for all sub-components. (Note: Some components in the chart aren&#039;t supported yet.). If you include this file, you can use any of the functions in all other sub-component files, all those listed in the chart. However, if you don&#039;t want such a large number of files included in your Script. You can include any sub-component you may need, such as LibreOfficeCalc.au3, or LibreOfficeBase.au3. Whichever component(s) you intend to automate.&amp;lt;br&amp;gt;&lt;br /&gt;
Going a step further, consider this chart:&lt;br /&gt;
&lt;br /&gt;
[[File:Chart_2.jpg|800px|||Sub level LibreOffice file]&lt;br /&gt;
&lt;br /&gt;
This chart considers only one component, in this case Writer. LibreOfficeWriter.au3 has many sub-files for the various tasks that can be done in Writer; Cell, Cursor, Doc, etc. More detail about these sub-files will be touched a little later. If you include LibreOfficeWriter.au3 in your script, you can use any of the functions in all the sub-files for Writer. You can identify a sub-file because the name will contain the Component&#039;s name, followed by an underscore, in this case, LibreOfficeWriter_*.au3., where “*” is a sub-file category of some type, i.e. Table, Doc or Page.&amp;lt;br&amp;gt;&lt;br /&gt;
Lastly, you also have the option to include in your script only some of the sub-files themselves. This may be a better approach depending on how much you need to do. For example, if you only need to Export a document, one could potentially only include LibreOfficeWriter_Doc.au3, which would include all the needed functions for the task, such as *_DocOpen, *_DocExport, etc.&amp;lt;br&amp;gt; &lt;br /&gt;
One small tip, you will never need to deal with the files named “*_Internal.au3”, i.e. LibreOfficeWriter_Internal.au3, they contain only functions needed by the various sub-files and are already included in the sub-files where needed.&lt;br /&gt;
&lt;br /&gt;
===How Do You Find What is Needed?===&lt;br /&gt;
Now we have reached the more interesting part, and also the more difficult. Most likely you have a certain task you need to accomplish, but how do you know what files you need for the job? Part of this problem we solved above, you (should) know already what component(s) of LibreOffice you want to automate, be it Calc, Base, or Writer, etc.Thus you know if you&#039;ll need to include LibreOfficeCalc.au3, LibreOfficeBase.au3 or LibreOfficeWriter.au3.&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is finding the right functions. This is admittedly the harder part to do, especially when you first begin with this UDF. We have attempted to logically sort functions according to their usage as best as possible. The naming of the sub-files is the first clue. Functions dealing with Document related actions, such as opening, closing, saving, maximize, minimize, visible/invisible, undo/redo, are found in the “*_Doc.au3” file. Taking Calc as an example, The LibreOfficeCalc_Sheet.au3 file has functions for adding or deleting Sheets from the document, setting and retrieving which Sheet is currently active, as well as retrieving the Object for the Sheets to use in further operations. There are also files for dealing with Ranges, as well as Cursors and Fields. This should help narrow down which file you will need to look through.&amp;lt;br&amp;gt;&lt;br /&gt;
Next, open each sub-file that seems to be related and look at the “; #CURRENT#” header near the top of the script. This will have a list of all the functions contained in the file. With each function we have tried to include in the name a hint of the corresponding tab or section in the LibreOffice UI, if applicable, as well as, of course, the attributes the function will affect or the action it will perform. For example when setting background color or background gradient in L.O., these settings are found under the “Area” tab in most UI pages. The corresponding functions are some of the following: _LOCalc_CommentAreaColor and _LOCalc_CommentAreaGradient. In this case the functions all have to do with modifying a Calc Comment, Area is the Tab name when setting some of these properties, (Background Color or Gradient).&amp;lt;br&amp;gt;&lt;br /&gt;
While these tips are generally correct, they aren&#039;t a solid rule yet. This UDF has attempted to adhere to this as best as possible, but LibreOffice has a wide variety of similar settings, not always located in identical settings. For example, for Cell background, there is no “Area” tab, thus the background color functions are simply _LOCalc_CellStyleBackColor and _LOCalc_CellBackColor.&amp;lt;br&amp;gt;&lt;br /&gt;
Once you find the function you need to use, always check the parameters section in the header, it will aid in indicatating where to find what you need to use to call each parameter, or what kind or where to obtain the kind of Object you need. As an example, consider the following Parameter entries from &#039;&#039;_LOCalc_CellUnderline&#039;&#039;,&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$oCell               - [in/out] an object. A Cell Range or Cell object returned by a previous _LOCalc_RangeGetCellByName, _LOCalc_RangeGetCellByPosition, _LOCalc_RangeColumnGetObjByPosition, _LOCalc_RangeColumnGetObjByName, _LOcalc_RangeRowGetObjByPosition, _LOCalc_SheetGetObjByName, or _LOCalc_SheetGetActive function.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This contains a few important details. First: The parameter &#039;&#039;$oCell&#039;&#039; accepts either a Calc Cell Range Object (i.e. a range Object covering A1:B3), Or a single Cell Object (i.e. Cell Object for Cell C3). Then follows a list of functions that would return such Objects that would be acceptable, this list is not always exhaustive when there are many functions that would return a similar acceptable Object or value. However the Object or value will either be named the same, or a note will be in the remarks section of the header indicating what else would be acceptable. Another example from &#039;&#039;_LOCalc_CellUnderline&#039;&#039;,&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iUnderLineStyle     - [optional] an integer value (0-18). Default is Null. The Underline line style, see constants, $LOC_UNDERLINE_* as defined in LibreOfficeCalc_Constants.au3.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This parameter has a few different and important details. First you will see some numerical values inside of parenthesis, 0-18, I will explain these shortly, you will also see it mentions a certain Constant name, in this case “$LOC_UNDERLINE_*”, this means, of course, that this parameter accepts the Constants of this name as values, the constants will be found in the file LibreOfficeCalc_Constants.au3. If you went to the Constants file, you would see 19 separate Constants to choose from. The values inside of the parenthesis means that this parameter accepts any of those constants that have values between 0 and 18.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iULColor            - [optional] an integer value (-1-16777215). Default is Null. The color of the underline, set in Long integer format. Can be a custom value, or one of the constants, $LO_COLOR_* as defined in LibreOffice_Constants.au3. Set to $LO_COLOR_OFF(-1) for automatic color mode.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This parameter is similar, again some values are found in parenthesis, -1 to 16,777,215. However if you went to the constants indicated, you would see that they only have a few options to choose from, but not an exhaustive list ranging from -1 to 16,777,215. That is why the parameter description indicates you can choose any custom value between -1 and 16,777,215, you can make up your own value as desired as long as it falls between those two values. We will touch another Parameter from another function as a final example.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iDistance           - [optional] an integer value. Default is Null. The distance of the Shadow from the Comment box, set in 1/100th MM.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Considering this Parameter, you will see that there are no parenthesis in this one, this generally means there are no limits, or perhaps only a minimum. If there is a minimum, and it is not mentioned in the parameter, it can be found by looking at the documented Input errors in the header. In this case, $iDistance has the following Input error:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;@Error 1 @Extended 4 = $iDistance not an Integer, or less than 0.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
That means $iDistance must be an integer, and cannot be less than 0. But there is seemingly no maximum. Or perhaps the maximum varied, which would be noted in the Remarks section, but generally it means it is not present.&lt;br /&gt;
&lt;br /&gt;
===A Few More Notes===&lt;br /&gt;
Throughout this UDF you will encounter functions that are for setting properties, whether it is Styles, Tables, Cells, etc. Usually, you will see that nearly all the parameters will be optional, except for the required Object parameter(s). The optional parameters will have an assigned value of “Null”, which will tell you that, unless indicted otherwise, this function can be used to both set AND retrieve the current property values. You can confirm if this is the case by looking at the Remarks section of the header for a statement similar to the following:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Call this function with only the required parameters (or by calling all other parameters with the Null keyword), to get the current settings.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
If you call this function with all optional parameters to Null the return will be an array (except when there is only one optional parameter, in which case the return will be of what ever type the Parameter is, an Integer, a String etc.) If there is more than one optional parameter, the returned array will be a single dimension (unless indicated otherwise), with each element of the array in the order of the optional parameters. For example:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;_LOWriter_ParStyleBorderColor(ByRef $oParStyle, $iTop = Null, $iBottom = Null, $iLeft = Null, $iRight = Null)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
In this function you have the non-optional parameter, &#039;&#039;$oParStyle&#039;&#039;, and four optional parameters, &#039;&#039;$iTop&#039;&#039;, &#039;&#039;$iBottom&#039;&#039;, &#039;&#039;$iLeft&#039;&#039;, and &#039;&#039;$iRight&#039;&#039;. If I called this function with only a Paragraph Style Object, it would return the current Paragraph Style Border color values, the returned array would contain the following values: $aArray[0] = $iTop, $aArray[1] = $iBottom, $aArray[2] = $iLeft, and $aArray[3] = $iRight.&amp;lt;br&amp;gt;&lt;br /&gt;
Furthermore, any functions that have optional parameters with the “Null” value assigned to them, means that you can also skip any parameters you do not want to set a value for by calling “Null” in the position, nothing will be modified for that property.&lt;br /&gt;
&lt;br /&gt;
===Some of the other files===&lt;br /&gt;
There are some files I have not yet touched upon in these explanations, which we will now examine. Each separate component has a file named *_Helper.au3, there is also a general file called LibreOffice_Helper.au3. These files contain functions that either don&#039;t fit under the other categories, or are purely for aiding in other work. For example there is in LibreOffice_Helper.au3 functions such as _LO_UnitConvert, and _LO_VersionGet. _LO_UnitConvert can be used for converting from common units of measurement to the measurement unit used by LibreOffice internally (100th MM). VersionGet is used to determine the current LibreOffice/OpenOffice version being automated. This is beneficial when certain functions or parameters are only available for certain L.O. versions (These limitations will be indicated in any applicable functions, either in the parameter, or the description of the function itself if the whole function is restricted to a certain version.).&amp;lt;br&amp;gt;&lt;br /&gt;
Taking a look at LibreOfficeWriter_Helper.au3, we find some functions like the following: &#039;&#039;_LOWriter_FontsGetNames&#039;&#039;, and &#039;&#039;_LOWriter_SearchDescriptorCreate&#039;&#039;. _LOWriter_FontsGetNames, obviously, retrieves an array of all available Fonts for use in the Document. _LOWriter_SearchDescriptorCreate creates a Search descriptor Object for usage in the Writer Find and Replace functions found in the LibreOfficeWriter_Doc.au3 file. &lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. In order to obtain a Document Object, the beginning step is to either open an existing file by providing the file path to the appropriate function, for example an odt or docx file would be opened with Writer, or an ods or xlsx file would be opened by Calc, etc. Alternatively you could also connect to an already opened document instance using one of the “Connect” functions. Or, finally, you may just want to create an entirely new Document using the appropriate “Create” function. The actual process on how to do this will be discussed in more detail for each element in another section.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do. We will touch on this shortly, but first it is important to deal with the most probable question on any newcomer&#039;s mind,&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15248</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15248"/>
		<updated>2026-02-21T19:22:43Z</updated>

		<summary type="html">&lt;p&gt;Water: /* What do I do with all of these files? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice??]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. Further than this, as stated above, each respective style name retrieval function also lists any styles that have names differing from their internal names.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Example&#039;&#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                     ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)             ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Some text&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                              ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script?&amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice&amp;lt;_Object&amp;gt;.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on the suite level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the &#039;&#039;&#039;recommended approach&#039;&#039;&#039; for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in Calc and Writer. || Char || Manipulate character styles in Writer.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in Calc documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform various cursor movements in Calc and Writer. || Database || Provides basic functionality to register, unregister, connect to, etc. Base Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Provides basic functionality to manipulate Direct Character and Paragraph formatting in Writer. || Doc || Provides basic functionality to manipulate documents in Base, Calc and Writer.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Provides basic functionality to create, modify, remove, etc. Calc document fields. || FootEndNotes || Provides basic functionality to manipulate Writer Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Provides basic functionality to manipulate Base Forms and Writer Forms and Form Controls. || Frame || Provides basic functionality to manipulate Writer Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Functions to manipulate data for use in various functions of the UDF. || Images || Provides basic functionality to insert and modify Images in Writer.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters. || Num || Provides basic functionality to manipulate Writer Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Provides basic functionality to manipulate Writer and Calc Page Styles. || Par || Provides basic functionality to manipulate Writer Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Provides basic functionality to manipulate Base Queries. || Range || Provides basic functionality to create, modify, apply Calc Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Provides basic functionality to manipulate Base Reports. || Shapes || Provides basic functionality to create, modify, and insert shapes in Writer.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Provides basic functionality to manipulate Calc document sheets. || SQLStatement || Functions used to create, modify and execute SQL Statements in Base.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Provides basic functionality to manipulate Base Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| Manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| Remove a Sheet from an existing Calc document. || #Include LibreOfficeCalc_Doc.au3&amp;lt;br&amp;gt;#Include LibreOfficeCalc_Sheet.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. || #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Still missing Naming Scheme of function names&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&lt;br /&gt;
&lt;br /&gt;
This chart illustrates part of the hierarchy, the file “LibreOffice.au3” has Includes in it for all sub-components. (Note: Some components in the chart aren&#039;t supported yet.). If you include this file, you can use any of the functions in all other sub-component files, all those listed in the chart. However, if you don&#039;t want such a large number of files included in your Script. You can include any sub-component you may need, such as LibreOfficeCalc.au3, or LibreOfficeBase.au3. Whichever component(s) you intend to automate.&amp;lt;br&amp;gt;&lt;br /&gt;
Going a step further, consider this chart:&lt;br /&gt;
&lt;br /&gt;
[[File:Chart_2.jpg|800px|||Sub level LibreOffice file]&lt;br /&gt;
&lt;br /&gt;
This chart considers only one component, in this case Writer. LibreOfficeWriter.au3 has many sub-files for the various tasks that can be done in Writer; Cell, Cursor, Doc, etc. More detail about these sub-files will be touched a little later. If you include LibreOfficeWriter.au3 in your script, you can use any of the functions in all the sub-files for Writer. You can identify a sub-file because the name will contain the Component&#039;s name, followed by an underscore, in this case, LibreOfficeWriter_*.au3., where “*” is a sub-file category of some type, i.e. Table, Doc or Page.&amp;lt;br&amp;gt;&lt;br /&gt;
Lastly, you also have the option to include in your script only some of the sub-files themselves. This may be a better approach depending on how much you need to do. For example, if you only need to Export a document, one could potentially only include LibreOfficeWriter_Doc.au3, which would include all the needed functions for the task, such as *_DocOpen, *_DocExport, etc.&amp;lt;br&amp;gt; &lt;br /&gt;
One small tip, you will never need to deal with the files named “*_Internal.au3”, i.e. LibreOfficeWriter_Internal.au3, they contain only functions needed by the various sub-files and are already included in the sub-files where needed.&lt;br /&gt;
&lt;br /&gt;
===How Do You Find What is Needed?===&lt;br /&gt;
Now we have reached the more interesting part, and also the more difficult. Most likely you have a certain task you need to accomplish, but how do you know what files you need for the job? Part of this problem we solved above, you (should) know already what component(s) of LibreOffice you want to automate, be it Calc, Base, or Writer, etc.Thus you know if you&#039;ll need to include LibreOfficeCalc.au3, LibreOfficeBase.au3 or LibreOfficeWriter.au3.&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is finding the right functions. This is admittedly the harder part to do, especially when you first begin with this UDF. We have attempted to logically sort functions according to their usage as best as possible. The naming of the sub-files is the first clue. Functions dealing with Document related actions, such as opening, closing, saving, maximize, minimize, visible/invisible, undo/redo, are found in the “*_Doc.au3” file. Taking Calc as an example, The LibreOfficeCalc_Sheet.au3 file has functions for adding or deleting Sheets from the document, setting and retrieving which Sheet is currently active, as well as retrieving the Object for the Sheets to use in further operations. There are also files for dealing with Ranges, as well as Cursors and Fields. This should help narrow down which file you will need to look through.&amp;lt;br&amp;gt;&lt;br /&gt;
Next, open each sub-file that seems to be related and look at the “; #CURRENT#” header near the top of the script. This will have a list of all the functions contained in the file. With each function we have tried to include in the name a hint of the corresponding tab or section in the LibreOffice UI, if applicable, as well as, of course, the attributes the function will affect or the action it will perform. For example when setting background color or background gradient in L.O., these settings are found under the “Area” tab in most UI pages. The corresponding functions are some of the following: _LOCalc_CommentAreaColor and _LOCalc_CommentAreaGradient. In this case the functions all have to do with modifying a Calc Comment, Area is the Tab name when setting some of these properties, (Background Color or Gradient).&amp;lt;br&amp;gt;&lt;br /&gt;
While these tips are generally correct, they aren&#039;t a solid rule yet. This UDF has attempted to adhere to this as best as possible, but LibreOffice has a wide variety of similar settings, not always located in identical settings. For example, for Cell background, there is no “Area” tab, thus the background color functions are simply _LOCalc_CellStyleBackColor and _LOCalc_CellBackColor.&amp;lt;br&amp;gt;&lt;br /&gt;
Once you find the function you need to use, always check the parameters section in the header, it will aid in indicatating where to find what you need to use to call each parameter, or what kind or where to obtain the kind of Object you need. As an example, consider the following Parameter entries from &#039;&#039;_LOCalc_CellUnderline&#039;&#039;,&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$oCell               - [in/out] an object. A Cell Range or Cell object returned by a previous _LOCalc_RangeGetCellByName, _LOCalc_RangeGetCellByPosition, _LOCalc_RangeColumnGetObjByPosition, _LOCalc_RangeColumnGetObjByName, _LOcalc_RangeRowGetObjByPosition, _LOCalc_SheetGetObjByName, or _LOCalc_SheetGetActive function.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This contains a few important details. First: The parameter &#039;&#039;$oCell&#039;&#039; accepts either a Calc Cell Range Object (i.e. a range Object covering A1:B3), Or a single Cell Object (i.e. Cell Object for Cell C3). Then follows a list of functions that would return such Objects that would be acceptable, this list is not always exhaustive when there are many functions that would return a similar acceptable Object or value. However the Object or value will either be named the same, or a note will be in the remarks section of the header indicating what else would be acceptable. Another example from &#039;&#039;_LOCalc_CellUnderline&#039;&#039;,&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iUnderLineStyle     - [optional] an integer value (0-18). Default is Null. The Underline line style, see constants, $LOC_UNDERLINE_* as defined in LibreOfficeCalc_Constants.au3.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This parameter has a few different and important details. First you will see some numerical values inside of parenthesis, 0-18, I will explain these shortly, you will also see it mentions a certain Constant name, in this case “$LOC_UNDERLINE_*”, this means, of course, that this parameter accepts the Constants of this name as values, the constants will be found in the file LibreOfficeCalc_Constants.au3. If you went to the Constants file, you would see 19 separate Constants to choose from. The values inside of the parenthesis means that this parameter accepts any of those constants that have values between 0 and 18.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iULColor            - [optional] an integer value (-1-16777215). Default is Null. The color of the underline, set in Long integer format. Can be a custom value, or one of the constants, $LO_COLOR_* as defined in LibreOffice_Constants.au3. Set to $LO_COLOR_OFF(-1) for automatic color mode.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This parameter is similar, again some values are found in parenthesis, -1 to 16,777,215. However if you went to the constants indicated, you would see that they only have a few options to choose from, but not an exhaustive list ranging from -1 to 16,777,215. That is why the parameter description indicates you can choose any custom value between -1 and 16,777,215, you can make up your own value as desired as long as it falls between those two values. We will touch another Parameter from another function as a final example.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iDistance           - [optional] an integer value. Default is Null. The distance of the Shadow from the Comment box, set in 1/100th MM.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Considering this Parameter, you will see that there are no parenthesis in this one, this generally means there are no limits, or perhaps only a minimum. If there is a minimum, and it is not mentioned in the parameter, it can be found by looking at the documented Input errors in the header. In this case, $iDistance has the following Input error:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;@Error 1 @Extended 4 = $iDistance not an Integer, or less than 0.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
That means $iDistance must be an integer, and cannot be less than 0. But there is seemingly no maximum. Or perhaps the maximum varied, which would be noted in the Remarks section, but generally it means it is not present.&lt;br /&gt;
&lt;br /&gt;
===A Few More Notes===&lt;br /&gt;
Throughout this UDF you will encounter functions that are for setting properties, whether it is Styles, Tables, Cells, etc. Usually, you will see that nearly all the parameters will be optional, except for the required Object parameter(s). The optional parameters will have an assigned value of “Null”, which will tell you that, unless indicted otherwise, this function can be used to both set AND retrieve the current property values. You can confirm if this is the case by looking at the Remarks section of the header for a statement similar to the following:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Call this function with only the required parameters (or by calling all other parameters with the Null keyword), to get the current settings.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
If you call this function with all optional parameters to Null the return will be an array (except when there is only one optional parameter, in which case the return will be of what ever type the Parameter is, an Integer, a String etc.) If there is more than one optional parameter, the returned array will be a single dimension (unless indicated otherwise), with each element of the array in the order of the optional parameters. For example:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;_LOWriter_ParStyleBorderColor(ByRef $oParStyle, $iTop = Null, $iBottom = Null, $iLeft = Null, $iRight = Null)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
In this function you have the non-optional parameter, &#039;&#039;$oParStyle&#039;&#039;, and four optional parameters, &#039;&#039;$iTop&#039;&#039;, &#039;&#039;$iBottom&#039;&#039;, &#039;&#039;$iLeft&#039;&#039;, and &#039;&#039;$iRight&#039;&#039;. If I called this function with only a Paragraph Style Object, it would return the current Paragraph Style Border color values, the returned array would contain the following values: $aArray[0] = $iTop, $aArray[1] = $iBottom, $aArray[2] = $iLeft, and $aArray[3] = $iRight.&amp;lt;br&amp;gt;&lt;br /&gt;
Furthermore, any functions that have optional parameters with the “Null” value assigned to them, means that you can also skip any parameters you do not want to set a value for by calling “Null” in the position, nothing will be modified for that property.&lt;br /&gt;
&lt;br /&gt;
===Some of the other files===&lt;br /&gt;
There are some files I have not yet touched upon in these explanations, which we will now examine. Each separate component has a file named *_Helper.au3, there is also a general file called LibreOffice_Helper.au3. These files contain functions that either don&#039;t fit under the other categories, or are purely for aiding in other work. For example there is in LibreOffice_Helper.au3 functions such as _LO_UnitConvert, and _LO_VersionGet. _LO_UnitConvert can be used for converting from common units of measurement to the measurement unit used by LibreOffice internally (100th MM). VersionGet is used to determine the current LibreOffice/OpenOffice version being automated. This is beneficial when certain functions or parameters are only available for certain L.O. versions (These limitations will be indicated in any applicable functions, either in the parameter, or the description of the function itself if the whole function is restricted to a certain version.).&amp;lt;br&amp;gt;&lt;br /&gt;
Taking a look at LibreOfficeWriter_Helper.au3, we find some functions like the following: &#039;&#039;_LOWriter_FontsGetNames&#039;&#039;, and &#039;&#039;_LOWriter_SearchDescriptorCreate&#039;&#039;. _LOWriter_FontsGetNames, obviously, retrieves an array of all available Fonts for use in the Document. _LOWriter_SearchDescriptorCreate creates a Search descriptor Object for usage in the Writer Find and Replace functions found in the LibreOfficeWriter_Doc.au3 file. &lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. In order to obtain a Document Object, the beginning step is to either open an existing file by providing the file path to the appropriate function, for example an odt or docx file would be opened with Writer, or an ods or xlsx file would be opened by Calc, etc. Alternatively you could also connect to an already opened document instance using one of the “Connect” functions. Or, finally, you may just want to create an entirely new Document using the appropriate “Create” function. The actual process on how to do this will be discussed in more detail for each element in another section.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do. We will touch on this shortly, but first it is important to deal with the most probable question on any newcomer&#039;s mind,&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15247</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15247"/>
		<updated>2026-02-21T19:12:11Z</updated>

		<summary type="html">&lt;p&gt;Water: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice??]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. Further than this, as stated above, each respective style name retrieval function also lists any styles that have names differing from their internal names.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Example&#039;&#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                     ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)             ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Some text&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                              ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script?&amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice&amp;lt;_Object&amp;gt;.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on the suite level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the recommended approach for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in Calc and Writer. || Char || Manipulate character styles in Writer.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in Calc documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform various cursor movements in Calc and Writer. || Database || Provides basic functionality to register, unregister, connect to, etc. Base Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Provides basic functionality to manipulate Direct Character and Paragraph formatting in Writer. || Doc || Provides basic functionality to manipulate documents in Base, Calc and Writer.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Provides basic functionality to create, modify, remove, etc. Calc document fields. || FootEndNotes || Provides basic functionality to manipulate Writer Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || Provides basic functionality to manipulate Base Forms and Writer Forms and Form Controls. || Frame || Provides basic functionality to manipulate Writer Frames and Frame Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Helper || Functions to manipulate data for use in various functions of the UDF. || Images || Provides basic functionality to insert and modify Images in Writer.&lt;br /&gt;
|- &lt;br /&gt;
|| Internal || Internal functions not to be used by Scripters. || Num || Provides basic functionality to manipulate Writer Numbering Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Page || Provides basic functionality to manipulate Writer and Calc Page Styles. || Par || Provides basic functionality to manipulate Writer Paragraph Styles.&lt;br /&gt;
|- &lt;br /&gt;
|| Query || Provides basic functionality to manipulate Base Queries. || Range || Provides basic functionality to create, modify, apply Calc Cell Ranges. &lt;br /&gt;
|- &lt;br /&gt;
|| Report || Provides basic functionality to manipulate Base Reports. || Shapes || Provides basic functionality to create, modify, and insert shapes in Writer.&lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || Provides basic functionality to manipulate Calc document sheets. || SQLStatement || Functions used to create, modify and execute SQL Statements in Base.&lt;br /&gt;
|- &lt;br /&gt;
|| Table || Provides basic functionality to manipulate Base Tables.|| ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ Which files to include - Examples&lt;br /&gt;
|-&lt;br /&gt;
! Task !! Recommendation&lt;br /&gt;
|- &lt;br /&gt;
|| You want to manipulate an existing Writer document.&amp;lt;br&amp;gt;The script should add some text, modify some formatting. || #Include LibreOfficeWriter.au3&lt;br /&gt;
|-&lt;br /&gt;
|| You want to extract data from Calc and insert into a Writer document. || #Include LibreOfficeCalc.au3&amp;lt;br&amp;gt;#Include LibreOfficeWriter.au3&lt;br /&gt;
|- &lt;br /&gt;
|| I don&#039;t care. I want a single include file that makes sure all functions are available. ||  #Include LibreOffice.au3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Still missing Naming Scheme of function names&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&lt;br /&gt;
&lt;br /&gt;
This chart illustrates part of the hierarchy, the file “LibreOffice.au3” has Includes in it for all sub-components. (Note: Some components in the chart aren&#039;t supported yet.). If you include this file, you can use any of the functions in all other sub-component files, all those listed in the chart. However, if you don&#039;t want such a large number of files included in your Script. You can include any sub-component you may need, such as LibreOfficeCalc.au3, or LibreOfficeBase.au3. Whichever component(s) you intend to automate.&amp;lt;br&amp;gt;&lt;br /&gt;
Going a step further, consider this chart:&lt;br /&gt;
&lt;br /&gt;
[[File:Chart_2.jpg|800px|||Sub level LibreOffice file]&lt;br /&gt;
&lt;br /&gt;
This chart considers only one component, in this case Writer. LibreOfficeWriter.au3 has many sub-files for the various tasks that can be done in Writer; Cell, Cursor, Doc, etc. More detail about these sub-files will be touched a little later. If you include LibreOfficeWriter.au3 in your script, you can use any of the functions in all the sub-files for Writer. You can identify a sub-file because the name will contain the Component&#039;s name, followed by an underscore, in this case, LibreOfficeWriter_*.au3., where “*” is a sub-file category of some type, i.e. Table, Doc or Page.&amp;lt;br&amp;gt;&lt;br /&gt;
Lastly, you also have the option to include in your script only some of the sub-files themselves. This may be a better approach depending on how much you need to do. For example, if you only need to Export a document, one could potentially only include LibreOfficeWriter_Doc.au3, which would include all the needed functions for the task, such as *_DocOpen, *_DocExport, etc.&amp;lt;br&amp;gt; &lt;br /&gt;
One small tip, you will never need to deal with the files named “*_Internal.au3”, i.e. LibreOfficeWriter_Internal.au3, they contain only functions needed by the various sub-files and are already included in the sub-files where needed.&lt;br /&gt;
&lt;br /&gt;
===How Do You Find What is Needed?===&lt;br /&gt;
Now we have reached the more interesting part, and also the more difficult. Most likely you have a certain task you need to accomplish, but how do you know what files you need for the job? Part of this problem we solved above, you (should) know already what component(s) of LibreOffice you want to automate, be it Calc, Base, or Writer, etc.Thus you know if you&#039;ll need to include LibreOfficeCalc.au3, LibreOfficeBase.au3 or LibreOfficeWriter.au3.&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is finding the right functions. This is admittedly the harder part to do, especially when you first begin with this UDF. We have attempted to logically sort functions according to their usage as best as possible. The naming of the sub-files is the first clue. Functions dealing with Document related actions, such as opening, closing, saving, maximize, minimize, visible/invisible, undo/redo, are found in the “*_Doc.au3” file. Taking Calc as an example, The LibreOfficeCalc_Sheet.au3 file has functions for adding or deleting Sheets from the document, setting and retrieving which Sheet is currently active, as well as retrieving the Object for the Sheets to use in further operations. There are also files for dealing with Ranges, as well as Cursors and Fields. This should help narrow down which file you will need to look through.&amp;lt;br&amp;gt;&lt;br /&gt;
Next, open each sub-file that seems to be related and look at the “; #CURRENT#” header near the top of the script. This will have a list of all the functions contained in the file. With each function we have tried to include in the name a hint of the corresponding tab or section in the LibreOffice UI, if applicable, as well as, of course, the attributes the function will affect or the action it will perform. For example when setting background color or background gradient in L.O., these settings are found under the “Area” tab in most UI pages. The corresponding functions are some of the following: _LOCalc_CommentAreaColor and _LOCalc_CommentAreaGradient. In this case the functions all have to do with modifying a Calc Comment, Area is the Tab name when setting some of these properties, (Background Color or Gradient).&amp;lt;br&amp;gt;&lt;br /&gt;
While these tips are generally correct, they aren&#039;t a solid rule yet. This UDF has attempted to adhere to this as best as possible, but LibreOffice has a wide variety of similar settings, not always located in identical settings. For example, for Cell background, there is no “Area” tab, thus the background color functions are simply _LOCalc_CellStyleBackColor and _LOCalc_CellBackColor.&amp;lt;br&amp;gt;&lt;br /&gt;
Once you find the function you need to use, always check the parameters section in the header, it will aid in indicatating where to find what you need to use to call each parameter, or what kind or where to obtain the kind of Object you need. As an example, consider the following Parameter entries from &#039;&#039;_LOCalc_CellUnderline&#039;&#039;,&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$oCell               - [in/out] an object. A Cell Range or Cell object returned by a previous _LOCalc_RangeGetCellByName, _LOCalc_RangeGetCellByPosition, _LOCalc_RangeColumnGetObjByPosition, _LOCalc_RangeColumnGetObjByName, _LOcalc_RangeRowGetObjByPosition, _LOCalc_SheetGetObjByName, or _LOCalc_SheetGetActive function.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This contains a few important details. First: The parameter &#039;&#039;$oCell&#039;&#039; accepts either a Calc Cell Range Object (i.e. a range Object covering A1:B3), Or a single Cell Object (i.e. Cell Object for Cell C3). Then follows a list of functions that would return such Objects that would be acceptable, this list is not always exhaustive when there are many functions that would return a similar acceptable Object or value. However the Object or value will either be named the same, or a note will be in the remarks section of the header indicating what else would be acceptable. Another example from &#039;&#039;_LOCalc_CellUnderline&#039;&#039;,&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iUnderLineStyle     - [optional] an integer value (0-18). Default is Null. The Underline line style, see constants, $LOC_UNDERLINE_* as defined in LibreOfficeCalc_Constants.au3.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This parameter has a few different and important details. First you will see some numerical values inside of parenthesis, 0-18, I will explain these shortly, you will also see it mentions a certain Constant name, in this case “$LOC_UNDERLINE_*”, this means, of course, that this parameter accepts the Constants of this name as values, the constants will be found in the file LibreOfficeCalc_Constants.au3. If you went to the Constants file, you would see 19 separate Constants to choose from. The values inside of the parenthesis means that this parameter accepts any of those constants that have values between 0 and 18.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iULColor            - [optional] an integer value (-1-16777215). Default is Null. The color of the underline, set in Long integer format. Can be a custom value, or one of the constants, $LO_COLOR_* as defined in LibreOffice_Constants.au3. Set to $LO_COLOR_OFF(-1) for automatic color mode.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This parameter is similar, again some values are found in parenthesis, -1 to 16,777,215. However if you went to the constants indicated, you would see that they only have a few options to choose from, but not an exhaustive list ranging from -1 to 16,777,215. That is why the parameter description indicates you can choose any custom value between -1 and 16,777,215, you can make up your own value as desired as long as it falls between those two values. We will touch another Parameter from another function as a final example.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iDistance           - [optional] an integer value. Default is Null. The distance of the Shadow from the Comment box, set in 1/100th MM.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Considering this Parameter, you will see that there are no parenthesis in this one, this generally means there are no limits, or perhaps only a minimum. If there is a minimum, and it is not mentioned in the parameter, it can be found by looking at the documented Input errors in the header. In this case, $iDistance has the following Input error:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;@Error 1 @Extended 4 = $iDistance not an Integer, or less than 0.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
That means $iDistance must be an integer, and cannot be less than 0. But there is seemingly no maximum. Or perhaps the maximum varied, which would be noted in the Remarks section, but generally it means it is not present.&lt;br /&gt;
&lt;br /&gt;
===A Few More Notes===&lt;br /&gt;
Throughout this UDF you will encounter functions that are for setting properties, whether it is Styles, Tables, Cells, etc. Usually, you will see that nearly all the parameters will be optional, except for the required Object parameter(s). The optional parameters will have an assigned value of “Null”, which will tell you that, unless indicted otherwise, this function can be used to both set AND retrieve the current property values. You can confirm if this is the case by looking at the Remarks section of the header for a statement similar to the following:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Call this function with only the required parameters (or by calling all other parameters with the Null keyword), to get the current settings.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
If you call this function with all optional parameters to Null the return will be an array (except when there is only one optional parameter, in which case the return will be of what ever type the Parameter is, an Integer, a String etc.) If there is more than one optional parameter, the returned array will be a single dimension (unless indicated otherwise), with each element of the array in the order of the optional parameters. For example:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;_LOWriter_ParStyleBorderColor(ByRef $oParStyle, $iTop = Null, $iBottom = Null, $iLeft = Null, $iRight = Null)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
In this function you have the non-optional parameter, &#039;&#039;$oParStyle&#039;&#039;, and four optional parameters, &#039;&#039;$iTop&#039;&#039;, &#039;&#039;$iBottom&#039;&#039;, &#039;&#039;$iLeft&#039;&#039;, and &#039;&#039;$iRight&#039;&#039;. If I called this function with only a Paragraph Style Object, it would return the current Paragraph Style Border color values, the returned array would contain the following values: $aArray[0] = $iTop, $aArray[1] = $iBottom, $aArray[2] = $iLeft, and $aArray[3] = $iRight.&amp;lt;br&amp;gt;&lt;br /&gt;
Furthermore, any functions that have optional parameters with the “Null” value assigned to them, means that you can also skip any parameters you do not want to set a value for by calling “Null” in the position, nothing will be modified for that property.&lt;br /&gt;
&lt;br /&gt;
===Some of the other files===&lt;br /&gt;
There are some files I have not yet touched upon in these explanations, which we will now examine. Each separate component has a file named *_Helper.au3, there is also a general file called LibreOffice_Helper.au3. These files contain functions that either don&#039;t fit under the other categories, or are purely for aiding in other work. For example there is in LibreOffice_Helper.au3 functions such as _LO_UnitConvert, and _LO_VersionGet. _LO_UnitConvert can be used for converting from common units of measurement to the measurement unit used by LibreOffice internally (100th MM). VersionGet is used to determine the current LibreOffice/OpenOffice version being automated. This is beneficial when certain functions or parameters are only available for certain L.O. versions (These limitations will be indicated in any applicable functions, either in the parameter, or the description of the function itself if the whole function is restricted to a certain version.).&amp;lt;br&amp;gt;&lt;br /&gt;
Taking a look at LibreOfficeWriter_Helper.au3, we find some functions like the following: &#039;&#039;_LOWriter_FontsGetNames&#039;&#039;, and &#039;&#039;_LOWriter_SearchDescriptorCreate&#039;&#039;. _LOWriter_FontsGetNames, obviously, retrieves an array of all available Fonts for use in the Document. _LOWriter_SearchDescriptorCreate creates a Search descriptor Object for usage in the Writer Find and Replace functions found in the LibreOfficeWriter_Doc.au3 file. &lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. In order to obtain a Document Object, the beginning step is to either open an existing file by providing the file path to the appropriate function, for example an odt or docx file would be opened with Writer, or an ods or xlsx file would be opened by Calc, etc. Alternatively you could also connect to an already opened document instance using one of the “Connect” functions. Or, finally, you may just want to create an entirely new Document using the appropriate “Create” function. The actual process on how to do this will be discussed in more detail for each element in another section.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do. We will touch on this shortly, but first it is important to deal with the most probable question on any newcomer&#039;s mind,&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15246</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15246"/>
		<updated>2026-02-21T17:46:19Z</updated>

		<summary type="html">&lt;p&gt;Water: /* What do I do with all of these files? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice??]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. Further than this, as stated above, each respective style name retrieval function also lists any styles that have names differing from their internal names.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Example&#039;&#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                     ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)             ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Some text&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                              ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script?&amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice&amp;lt;_Object&amp;gt;.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on the suite level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the recommended approach for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || Database management program, similar to Microsoft Access. || Calc || Spreadsheet program, similar to Microsoft Excel.&lt;br /&gt;
|-&lt;br /&gt;
| Draw || Vector graphics editor, similar to Microsoft Visio. || Impress || Presentation program, similar to Microsoft PowerPoint.&lt;br /&gt;
|-&lt;br /&gt;
| Math || Formula editor for mathematical expressions. || Writer || Word processor program, similar to Microsoft Word.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || Manipulate cells in Calc and Writer. || Char || Manipulate character styles in Writer.&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || Manipulate cell comments in Calc documents. || Constants || Constants for the respective module. &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || Perform various cursor movements in Calc and Writer. || Database || Provides basic functionality to register, unregister, connect to, etc. Base Databases. &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || Provides basic functionality to manipulate Direct Character and Paragraph formatting in Writer. || Doc || Provides basic functionality to manipulate documents in Base, Calc and Writer.&lt;br /&gt;
|-&lt;br /&gt;
|| Field || Provides basic functionality to create, modify, remove, etc. Calc document fields. || FootEndNotes || Provides basic functionality to manipulate Writer Foot/End notes.&lt;br /&gt;
|- &lt;br /&gt;
|| Form || d || Frame || d &lt;br /&gt;
|- &lt;br /&gt;
|| Helper || d || Images || d &lt;br /&gt;
|- &lt;br /&gt;
|| Internal || d || Num || d &lt;br /&gt;
|- &lt;br /&gt;
|| Page || d || Par || d &lt;br /&gt;
|- &lt;br /&gt;
|| Query || d || Range || d &lt;br /&gt;
|- &lt;br /&gt;
|| Report || d || Shapes || d &lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || d || SQLStatement || d &lt;br /&gt;
|- &lt;br /&gt;
|| Table || d || ||&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Naming Scheme of files and function names&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&lt;br /&gt;
&lt;br /&gt;
This chart illustrates part of the hierarchy, the file “LibreOffice.au3” has Includes in it for all sub-components. (Note: Some components in the chart aren&#039;t supported yet.). If you include this file, you can use any of the functions in all other sub-component files, all those listed in the chart. However, if you don&#039;t want such a large number of files included in your Script. You can include any sub-component you may need, such as LibreOfficeCalc.au3, or LibreOfficeBase.au3. Whichever component(s) you intend to automate.&amp;lt;br&amp;gt;&lt;br /&gt;
Going a step further, consider this chart:&lt;br /&gt;
&lt;br /&gt;
[[File:Chart_2.jpg|800px|||Sub level LibreOffice file]]&lt;br /&gt;
&lt;br /&gt;
This chart considers only one component, in this case Writer. LibreOfficeWriter.au3 has many sub-files for the various tasks that can be done in Writer; Cell, Cursor, Doc, etc. More detail about these sub-files will be touched a little later. If you include LibreOfficeWriter.au3 in your script, you can use any of the functions in all the sub-files for Writer. You can identify a sub-file because the name will contain the Component&#039;s name, followed by an underscore, in this case, LibreOfficeWriter_*.au3., where “*” is a sub-file category of some type, i.e. Table, Doc or Page.&amp;lt;br&amp;gt;&lt;br /&gt;
Lastly, you also have the option to include in your script only some of the sub-files themselves. This may be a better approach depending on how much you need to do. For example, if you only need to Export a document, one could potentially only include LibreOfficeWriter_Doc.au3, which would include all the needed functions for the task, such as *_DocOpen, *_DocExport, etc.&amp;lt;br&amp;gt; &lt;br /&gt;
One small tip, you will never need to deal with the files named “*_Internal.au3”, i.e. LibreOfficeWriter_Internal.au3, they contain only functions needed by the various sub-files and are already included in the sub-files where needed.&lt;br /&gt;
&lt;br /&gt;
===How Do You Find What is Needed?===&lt;br /&gt;
Now we have reached the more interesting part, and also the more difficult. Most likely you have a certain task you need to accomplish, but how do you know what files you need for the job? Part of this problem we solved above, you (should) know already what component(s) of LibreOffice you want to automate, be it Calc, Base, or Writer, etc.Thus you know if you&#039;ll need to include LibreOfficeCalc.au3, LibreOfficeBase.au3 or LibreOfficeWriter.au3.&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is finding the right functions. This is admittedly the harder part to do, especially when you first begin with this UDF. We have attempted to logically sort functions according to their usage as best as possible. The naming of the sub-files is the first clue. Functions dealing with Document related actions, such as opening, closing, saving, maximize, minimize, visible/invisible, undo/redo, are found in the “*_Doc.au3” file. Taking Calc as an example, The LibreOfficeCalc_Sheet.au3 file has functions for adding or deleting Sheets from the document, setting and retrieving which Sheet is currently active, as well as retrieving the Object for the Sheets to use in further operations. There are also files for dealing with Ranges, as well as Cursors and Fields. This should help narrow down which file you will need to look through.&amp;lt;br&amp;gt;&lt;br /&gt;
Next, open each sub-file that seems to be related and look at the “; #CURRENT#” header near the top of the script. This will have a list of all the functions contained in the file. With each function we have tried to include in the name a hint of the corresponding tab or section in the LibreOffice UI, if applicable, as well as, of course, the attributes the function will affect or the action it will perform. For example when setting background color or background gradient in L.O., these settings are found under the “Area” tab in most UI pages. The corresponding functions are some of the following: _LOCalc_CommentAreaColor and _LOCalc_CommentAreaGradient. In this case the functions all have to do with modifying a Calc Comment, Area is the Tab name when setting some of these properties, (Background Color or Gradient).&amp;lt;br&amp;gt;&lt;br /&gt;
While these tips are generally correct, they aren&#039;t a solid rule yet. This UDF has attempted to adhere to this as best as possible, but LibreOffice has a wide variety of similar settings, not always located in identical settings. For example, for Cell background, there is no “Area” tab, thus the background color functions are simply _LOCalc_CellStyleBackColor and _LOCalc_CellBackColor.&amp;lt;br&amp;gt;&lt;br /&gt;
Once you find the function you need to use, always check the parameters section in the header, it will aid in indicatating where to find what you need to use to call each parameter, or what kind or where to obtain the kind of Object you need. As an example, consider the following Parameter entries from &#039;&#039;_LOCalc_CellUnderline&#039;&#039;,&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$oCell               - [in/out] an object. A Cell Range or Cell object returned by a previous _LOCalc_RangeGetCellByName, _LOCalc_RangeGetCellByPosition, _LOCalc_RangeColumnGetObjByPosition, _LOCalc_RangeColumnGetObjByName, _LOcalc_RangeRowGetObjByPosition, _LOCalc_SheetGetObjByName, or _LOCalc_SheetGetActive function.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This contains a few important details. First: The parameter &#039;&#039;$oCell&#039;&#039; accepts either a Calc Cell Range Object (i.e. a range Object covering A1:B3), Or a single Cell Object (i.e. Cell Object for Cell C3). Then follows a list of functions that would return such Objects that would be acceptable, this list is not always exhaustive when there are many functions that would return a similar acceptable Object or value. However the Object or value will either be named the same, or a note will be in the remarks section of the header indicating what else would be acceptable. Another example from &#039;&#039;_LOCalc_CellUnderline&#039;&#039;,&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iUnderLineStyle     - [optional] an integer value (0-18). Default is Null. The Underline line style, see constants, $LOC_UNDERLINE_* as defined in LibreOfficeCalc_Constants.au3.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This parameter has a few different and important details. First you will see some numerical values inside of parenthesis, 0-18, I will explain these shortly, you will also see it mentions a certain Constant name, in this case “$LOC_UNDERLINE_*”, this means, of course, that this parameter accepts the Constants of this name as values, the constants will be found in the file LibreOfficeCalc_Constants.au3. If you went to the Constants file, you would see 19 separate Constants to choose from. The values inside of the parenthesis means that this parameter accepts any of those constants that have values between 0 and 18.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iULColor            - [optional] an integer value (-1-16777215). Default is Null. The color of the underline, set in Long integer format. Can be a custom value, or one of the constants, $LO_COLOR_* as defined in LibreOffice_Constants.au3. Set to $LO_COLOR_OFF(-1) for automatic color mode.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This parameter is similar, again some values are found in parenthesis, -1 to 16,777,215. However if you went to the constants indicated, you would see that they only have a few options to choose from, but not an exhaustive list ranging from -1 to 16,777,215. That is why the parameter description indicates you can choose any custom value between -1 and 16,777,215, you can make up your own value as desired as long as it falls between those two values. We will touch another Parameter from another function as a final example.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iDistance           - [optional] an integer value. Default is Null. The distance of the Shadow from the Comment box, set in 1/100th MM.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Considering this Parameter, you will see that there are no parenthesis in this one, this generally means there are no limits, or perhaps only a minimum. If there is a minimum, and it is not mentioned in the parameter, it can be found by looking at the documented Input errors in the header. In this case, $iDistance has the following Input error:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;@Error 1 @Extended 4 = $iDistance not an Integer, or less than 0.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
That means $iDistance must be an integer, and cannot be less than 0. But there is seemingly no maximum. Or perhaps the maximum varied, which would be noted in the Remarks section, but generally it means it is not present.&lt;br /&gt;
&lt;br /&gt;
===A Few More Notes===&lt;br /&gt;
Throughout this UDF you will encounter functions that are for setting properties, whether it is Styles, Tables, Cells, etc. Usually, you will see that nearly all the parameters will be optional, except for the required Object parameter(s). The optional parameters will have an assigned value of “Null”, which will tell you that, unless indicted otherwise, this function can be used to both set AND retrieve the current property values. You can confirm if this is the case by looking at the Remarks section of the header for a statement similar to the following:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Call this function with only the required parameters (or by calling all other parameters with the Null keyword), to get the current settings.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
If you call this function with all optional parameters to Null the return will be an array (except when there is only one optional parameter, in which case the return will be of what ever type the Parameter is, an Integer, a String etc.) If there is more than one optional parameter, the returned array will be a single dimension (unless indicated otherwise), with each element of the array in the order of the optional parameters. For example:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;_LOWriter_ParStyleBorderColor(ByRef $oParStyle, $iTop = Null, $iBottom = Null, $iLeft = Null, $iRight = Null)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
In this function you have the non-optional parameter, &#039;&#039;$oParStyle&#039;&#039;, and four optional parameters, &#039;&#039;$iTop&#039;&#039;, &#039;&#039;$iBottom&#039;&#039;, &#039;&#039;$iLeft&#039;&#039;, and &#039;&#039;$iRight&#039;&#039;. If I called this function with only a Paragraph Style Object, it would return the current Paragraph Style Border color values, the returned array would contain the following values: $aArray[0] = $iTop, $aArray[1] = $iBottom, $aArray[2] = $iLeft, and $aArray[3] = $iRight.&amp;lt;br&amp;gt;&lt;br /&gt;
Furthermore, any functions that have optional parameters with the “Null” value assigned to them, means that you can also skip any parameters you do not want to set a value for by calling “Null” in the position, nothing will be modified for that property.&lt;br /&gt;
&lt;br /&gt;
===Some of the other files===&lt;br /&gt;
There are some files I have not yet touched upon in these explanations, which we will now examine. Each separate component has a file named *_Helper.au3, there is also a general file called LibreOffice_Helper.au3. These files contain functions that either don&#039;t fit under the other categories, or are purely for aiding in other work. For example there is in LibreOffice_Helper.au3 functions such as _LO_UnitConvert, and _LO_VersionGet. _LO_UnitConvert can be used for converting from common units of measurement to the measurement unit used by LibreOffice internally (100th MM). VersionGet is used to determine the current LibreOffice/OpenOffice version being automated. This is beneficial when certain functions or parameters are only available for certain L.O. versions (These limitations will be indicated in any applicable functions, either in the parameter, or the description of the function itself if the whole function is restricted to a certain version.).&amp;lt;br&amp;gt;&lt;br /&gt;
Taking a look at LibreOfficeWriter_Helper.au3, we find some functions like the following: &#039;&#039;_LOWriter_FontsGetNames&#039;&#039;, and &#039;&#039;_LOWriter_SearchDescriptorCreate&#039;&#039;. _LOWriter_FontsGetNames, obviously, retrieves an array of all available Fonts for use in the Document. _LOWriter_SearchDescriptorCreate creates a Search descriptor Object for usage in the Writer Find and Replace functions found in the LibreOfficeWriter_Doc.au3 file. &lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
------------&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. In order to obtain a Document Object, the beginning step is to either open an existing file by providing the file path to the appropriate function, for example an odt or docx file would be opened with Writer, or an ods or xlsx file would be opened by Calc, etc. Alternatively you could also connect to an already opened document instance using one of the “Connect” functions. Or, finally, you may just want to create an entirely new Document using the appropriate “Create” function. The actual process on how to do this will be discussed in more detail for each element in another section.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do. We will touch on this shortly, but first it is important to deal with the most probable question on any newcomer&#039;s mind,&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
	<entry>
		<id>https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15245</id>
		<title>LibreOffice</title>
		<link rel="alternate" type="text/html" href="https://www.autoitscript.com/w/index.php?title=LibreOffice&amp;diff=15245"/>
		<updated>2026-02-21T14:55:06Z</updated>

		<summary type="html">&lt;p&gt;Water: /* What do I do with all of these files? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{WIP}}&lt;br /&gt;
This article uses material from the Wikipedia article &amp;quot;[https://en.wikipedia.org/wiki/LibreOffice LibreOffice]&amp;quot; and other Wikipedia articles, which are released under the [https://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-Share-Alike License 4.0].&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
This UDF ([https://www.autoitscript.com/forum/index.php?showtopic=210514 AU3LibreOffice]) aids the user in creating and manipulating LibreOffice Documents.&amp;lt;br&amp;gt; &lt;br /&gt;
This wiki article tries to explain basic principles of the UDF and offers tips on how to get started with automating LibreOffice. It also points out some differences between automating the Microsoft Office and LibreOffice suites. &amp;lt;br&amp;gt;&lt;br /&gt;
It is not intended to explain LibreOffice&#039;s API.&amp;lt;br&amp;gt;&lt;br /&gt;
To work with this UDF, you should be familiar with both AutoIt and LibreOffice.&lt;br /&gt;
&lt;br /&gt;
===What is LibreOffice?===&lt;br /&gt;
[https://en.wikipedia.org/wiki/LibreOffice LibreOffice] is a free and open-source office productivity software suite developed by [https://en.wikipedia.org/wiki/The_Document_Foundation The Document Foundation (TDF)]. &amp;lt;br&amp;gt;&lt;br /&gt;
It was created in 2010 as a fork of [https://en.wikipedia.org/wiki/OpenOffice.org OpenOffice.org], itself a successor to [https://en.wikipedia.org/wiki/StarOffice StarOffice]. &amp;lt;br&amp;gt;&lt;br /&gt;
The suite includes applications for &lt;br /&gt;
* word processing ([https://en.wikipedia.org/wiki/LibreOffice_Writer Writer]), &lt;br /&gt;
* spreadsheets ([https://en.wikipedia.org/wiki/LibreOffice_Calc Calc]), &lt;br /&gt;
* presentations (Impress), &lt;br /&gt;
* vector graphics ([https://en.wikipedia.org/wiki/LibreOffice_Draw Draw]), &lt;br /&gt;
* database management ([https://en.wikipedia.org/wiki/LibreOffice_Base Base]), and &lt;br /&gt;
* formula editing (Math). &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It supports the OpenDocument format and is compatible with other major formats, including those used by Microsoft Office. &amp;lt;br&amp;gt;&lt;br /&gt;
Generally speaking, OpenOffice and LibreOffice have the same foundational features, but given the fact that LibreOffice is more actively developed, LibreOffice has more, and newer features available. &lt;br /&gt;
&lt;br /&gt;
===Feature comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
[https://wiki.documentfoundation.org/Feature%20Comparison:%20LibreOffice%20-%20Microsoft%20Office This page] compares the features of LibreOffice and Microsoft Office in several form factors. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparisons separate major and minor feature differences and also includes notes on LibreOffice extensions. &amp;lt;br&amp;gt;&lt;br /&gt;
The comparison highlights differences and therefore does not display any features which are present in both office suites. &lt;br /&gt;
&lt;br /&gt;
==LibreOffice UDF==&lt;br /&gt;
Since LibreOffice is a fork of OpenOffice, this UDF also works with OpenOffice in many places. However, you should not rely on this, as this UDF was developed with a focus on LibreOffice. &amp;lt;br&amp;gt;&lt;br /&gt;
All functions for which a minimum version of LibreOffice is specified are most likely NOT compatible with OpenOffice.&lt;br /&gt;
&lt;br /&gt;
===LibreOffice Object Model===&lt;br /&gt;
The LibreOffice UDF is a wrapper for the complex LibreOffice object model (details can be found on this [[LibreOffice-Technical Comparison#COM_vs_UNO|wiki page]]).&lt;br /&gt;
It hides the complexity of the object model and replaces it with a few AutoIt function calls.&amp;lt;br&amp;gt;&lt;br /&gt;
The functions provided by the UDF cover most of the functionality that is typically required.&lt;br /&gt;
However, if you need more complex functions, you will have to write them yourself. &amp;lt;br&amp;gt;&lt;br /&gt;
First, you need to familiarize yourself with the [https://api.libreoffice.org/ LibreOffice API].&amp;lt;br&amp;gt;&lt;br /&gt;
The following books will be a valuable help also in this line.&lt;br /&gt;
* [https://www.pitonyak.org/OOME_4_1.odt OpenOffice.org Macros Explained — OOME Fourth Edition]&lt;br /&gt;
* [https://www.pitonyak.org/AndrewMacro.pdf Useful Macro Information For OpenOffice.org]&lt;br /&gt;
&lt;br /&gt;
===Technical comparison: LibreOffice vs Microsoft Office===&lt;br /&gt;
For those users familiar with Microsoft Office and its automation API, we have included some comparisons between the two suites&#039; APIs and internal behaviour on the [[LibreOffice-Technical_Comparison|following page]].&lt;br /&gt;
&lt;br /&gt;
===Requirements===&lt;br /&gt;
Currently there are no external requirements needed to run this UDF. You are able to work with both the &#039;&#039;&#039;Installed&#039;&#039;&#039; and also the &#039;&#039;&#039;Portable&#039;&#039;&#039; version of LibreOffice. However do take note of the methods followed to work with [[#How LibreOffice Portable is Initialized|Portable LibreOffice??]] to make sure it will fit your requirements.&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* The ability to automate LibreOffice Portable (and OpenOffice) has been added, and &#039;&#039;should&#039;&#039; work correctly. However to achieve this, it currently adds some temporary Registry entries to &#039;&#039;HKEY_CURRENT_USER&#039;&#039;, unless there is an installed version of LibreOffice or OpenOffice present. See &#039;&#039;&#039;_LO_InitializePortable&#039;&#039;&#039; for more detail.&lt;br /&gt;
* This UDF has been written using the English version of LibreOffice, and some aspects may only work for the English version of LibreOffice installations without errors. &lt;br /&gt;
* Many functions in this UDF may or may not work with OpenOffice, and some are definitely for LibreOffice only. These unfortunately have not been documented.&lt;br /&gt;
* For those using AutoIt versions older than &#039;&#039;&#039;3.3.16.1&#039;&#039;&#039; some functions in this UDF use Maps, which will not be recognized as proper syntax in older AutoIt versions.&lt;br /&gt;
&lt;br /&gt;
===Special Terminology===&lt;br /&gt;
Some terminology you will encounter frequently in the UDF, and sometimes in these articles, are the following (in alphabetical order):&lt;br /&gt;
&lt;br /&gt;
; Component&lt;br /&gt;
: Any component or module of LibreOffice. They are: Base, Calc, Draw, Impress, Math, and Writer.&lt;br /&gt;
&lt;br /&gt;
; Hundredths of a MM (HMM)&lt;br /&gt;
: As implied by the name itself, Hundredths of a MM is a hundredth part of a Millimeter, and is the measurement unit used by LibreOffice internally for nearly all widths, heights, distances, etc. For simplicity, this is the unit type used in this UDF as well, unless otherwise stated in the Parameters. A converter function has been supplied with this UDF, found in the “LibreOffice_Helper.au3&amp;quot; file, called &#039;&#039;&#039;_LO_UnitConvert&#039;&#039;&#039;. This function can convert from millimeters, centimeters or inches to HMM, and back again, depending on the flag called. &lt;br /&gt;
&lt;br /&gt;
; RGB color Integer&lt;br /&gt;
: A color unit you will find frequently in this UDF. LibreOffice nearly always uses this type of color value when setting or retrieving a color property. The RGB color integer is a number from 0 to 16,777,215, where each separate number represents a color. The relationship between RGB and a RGB Integer is based on a simple calculation: RGB Integer = Blue x (256 x 256) + Green x 256 + Red, or in Hexadecimal, 0x00RRGGBB, where RR = Red component (0-255), GG = Green component (0-255), BB = Blue component (0-255), and the highest byte (alpha) is unused and usually 0.&lt;br /&gt;
&lt;br /&gt;
; Style Names&lt;br /&gt;
: LibreOffice uses Styles for various things, such as Paragraph or Character styling. LibreOffice automatically translates these style names according to the user&#039;s default language currently set, these are called the “Display Name”. To enable Macros, as well as LibreOffice itself to work on any language system these style names are also internally named so that they can remain constant. In the English version of LibreOffice the Display Name and the Internal name, or “Programmatic Name” of every style is most cases the same. There are a handful of exceptions to this however, for example “Default Paragraph Style” is internally named “Standard”, “No Character Style” is also internally called “Standard”, (but is classed as a Character Style, not a Paragraph Style).&amp;lt;p&amp;gt;To aid the user in recognizing what Styles are which, each respective style name retrieval function (e.g. _LOWriter_ParStylesGetNames) offers the ability to still retrieve the Display name, which will be returned in the &#039;&#039;&#039;same&#039;&#039;&#039; order as the Internal names are returned, allowing the user to easily have a list of each name and see which belong to which. Further than this, as stated above, each respective style name retrieval function also lists any styles that have names differing from their internal names.&lt;br /&gt;
&lt;br /&gt;
; UI&lt;br /&gt;
: User Interface, the visual windows and buttons and tabs the user sees and is used to work with LibreOffice manually.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
Place the entire set of .au3 files of this UDF into a directory searched by SciTE (details can be found in the AutoIt help file for keyword &#039;&#039;#include&#039;&#039;). &amp;lt;br&amp;gt;&lt;br /&gt;
No further installation or files are required.&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. &amp;lt;br&amp;gt;&lt;br /&gt;
Simply open an existing file, connect to an already opened document or create an entirely new document.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;Example&#039;&#039;:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;autoit&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;quot;..\LibreOfficeWriter.au3&amp;quot;&lt;br /&gt;
Global $oDoc, $oViewCursor&lt;br /&gt;
$oDoc = _LOWriter_DocCreate(True, False)                     ; Create a New, visible, Blank Libre Office Document.&lt;br /&gt;
$oViewCursor = _LOWriter_DocGetViewCursor($oDoc)             ; Retrieve the document view cursor to insert text with.&lt;br /&gt;
_LOWriter_DocInsertString($oDoc, $oViewCursor, &amp;quot;Some text&amp;quot;)  ; Insert some text at the ViewCursor.&lt;br /&gt;
_LOWriter_DocClose($oDoc, True)                              ; Close and Save the document as .odt document to the desktop&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===What do I do with all of these files?===&lt;br /&gt;
The LibreOffice UDF consists of a large number of files. How do you know which to include in your script?&amp;lt;br&amp;gt;&lt;br /&gt;
To begin with, the files are arranged in a semi-hierarchical form.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Hierarchy of files&lt;br /&gt;
|-&lt;br /&gt;
! Level !! Naming Scheme !! Example filename !! What do you get with this example? !! Comment&lt;br /&gt;
|-&lt;br /&gt;
| suite level || LibreOffice&amp;lt;_Object&amp;gt;.au3 || LibreOffice.au3 || All functions of all modules of the LibreOffice suite. || Use include files on the suite level only when you need &#039;&#039;&#039;ALL&#039;&#039;&#039; LibreOffice modules in your script.&lt;br /&gt;
|-&lt;br /&gt;
| module level || LibreOffice&amp;lt;Module&amp;gt;.au3 || LibreOfficeWriter.au3 || All functions of the LibreOffice Writer module. || That&#039;s the recommended approach for 99.99% of the scripts.&lt;br /&gt;
|-&lt;br /&gt;
| object level  || LibreOffice&amp;lt;Module&amp;gt;&amp;lt;_Object&amp;gt;.au3 || LibreOfficeWriter_Doc.au3 || All functions related to a document object of the Writer module. || Use this level if you need to process a single object of a LibreOffice module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Modules&lt;br /&gt;
|-&lt;br /&gt;
! Module !! Description !! Module !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Base || D Base || Calc || D Calc&lt;br /&gt;
|-&lt;br /&gt;
| Draw || D Draw || Impress || D Impress&lt;br /&gt;
|-&lt;br /&gt;
| Math || D Math || Writer || D Writer&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+  Valid Objects&lt;br /&gt;
|-&lt;br /&gt;
! Object !! Description !! Object !! Description&lt;br /&gt;
|- &lt;br /&gt;
|| Cell || d || Char || d&lt;br /&gt;
|- &lt;br /&gt;
|| Comments || d || Constants || d &lt;br /&gt;
|- &lt;br /&gt;
|| Cursor || d || Database || d &lt;br /&gt;
|- &lt;br /&gt;
|| DirectFormatting || d || Doc || d &lt;br /&gt;
|-&lt;br /&gt;
|| Field || d || FootEndNotes || d &lt;br /&gt;
|- &lt;br /&gt;
|| Form || d || Frame || d &lt;br /&gt;
|- &lt;br /&gt;
|| Helper || d || Images || d &lt;br /&gt;
|- &lt;br /&gt;
|| Internal || d || Num || d &lt;br /&gt;
|- &lt;br /&gt;
|| Page || d || Par || d &lt;br /&gt;
|- &lt;br /&gt;
|| Query || d || Range || d &lt;br /&gt;
|- &lt;br /&gt;
|| Report || d || Shapes || d &lt;br /&gt;
|- &lt;br /&gt;
|| Sheet || d || SQLStatement || d &lt;br /&gt;
|- &lt;br /&gt;
|| Table || d || ||&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Naming Scheme of files and function names&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; **************************************&lt;br /&gt;
&lt;br /&gt;
This chart illustrates part of the hierarchy, the file “LibreOffice.au3” has Includes in it for all sub-components. (Note: Some components in the chart aren&#039;t supported yet.). If you include this file, you can use any of the functions in all other sub-component files, all those listed in the chart. However, if you don&#039;t want such a large number of files included in your Script. You can include any sub-component you may need, such as LibreOfficeCalc.au3, or LibreOfficeBase.au3. Whichever component(s) you intend to automate.&amp;lt;br&amp;gt;&lt;br /&gt;
Going a step further, consider this chart:&lt;br /&gt;
&lt;br /&gt;
[[File:Chart_2.jpg|800px|||Sub level LibreOffice file]]&lt;br /&gt;
&lt;br /&gt;
This chart considers only one component, in this case Writer. LibreOfficeWriter.au3 has many sub-files for the various tasks that can be done in Writer; Cell, Cursor, Doc, etc. More detail about these sub-files will be touched a little later. If you include LibreOfficeWriter.au3 in your script, you can use any of the functions in all the sub-files for Writer. You can identify a sub-file because the name will contain the Component&#039;s name, followed by an underscore, in this case, LibreOfficeWriter_*.au3., where “*” is a sub-file category of some type, i.e. Table, Doc or Page.&amp;lt;br&amp;gt;&lt;br /&gt;
Lastly, you also have the option to include in your script only some of the sub-files themselves. This may be a better approach depending on how much you need to do. For example, if you only need to Export a document, one could potentially only include LibreOfficeWriter_Doc.au3, which would include all the needed functions for the task, such as *_DocOpen, *_DocExport, etc.&amp;lt;br&amp;gt; &lt;br /&gt;
One small tip, you will never need to deal with the files named “*_Internal.au3”, i.e. LibreOfficeWriter_Internal.au3, they contain only functions needed by the various sub-files and are already included in the sub-files where needed.&lt;br /&gt;
&lt;br /&gt;
===How Do You Find What is Needed?===&lt;br /&gt;
Now we have reached the more interesting part, and also the more difficult. Most likely you have a certain task you need to accomplish, but how do you know what files you need for the job? Part of this problem we solved above, you (should) know already what component(s) of LibreOffice you want to automate, be it Calc, Base, or Writer, etc.Thus you know if you&#039;ll need to include LibreOfficeCalc.au3, LibreOfficeBase.au3 or LibreOfficeWriter.au3.&amp;lt;br&amp;gt;&lt;br /&gt;
The next step is finding the right functions. This is admittedly the harder part to do, especially when you first begin with this UDF. We have attempted to logically sort functions according to their usage as best as possible. The naming of the sub-files is the first clue. Functions dealing with Document related actions, such as opening, closing, saving, maximize, minimize, visible/invisible, undo/redo, are found in the “*_Doc.au3” file. Taking Calc as an example, The LibreOfficeCalc_Sheet.au3 file has functions for adding or deleting Sheets from the document, setting and retrieving which Sheet is currently active, as well as retrieving the Object for the Sheets to use in further operations. There are also files for dealing with Ranges, as well as Cursors and Fields. This should help narrow down which file you will need to look through.&amp;lt;br&amp;gt;&lt;br /&gt;
Next, open each sub-file that seems to be related and look at the “; #CURRENT#” header near the top of the script. This will have a list of all the functions contained in the file. With each function we have tried to include in the name a hint of the corresponding tab or section in the LibreOffice UI, if applicable, as well as, of course, the attributes the function will affect or the action it will perform. For example when setting background color or background gradient in L.O., these settings are found under the “Area” tab in most UI pages. The corresponding functions are some of the following: _LOCalc_CommentAreaColor and _LOCalc_CommentAreaGradient. In this case the functions all have to do with modifying a Calc Comment, Area is the Tab name when setting some of these properties, (Background Color or Gradient).&amp;lt;br&amp;gt;&lt;br /&gt;
While these tips are generally correct, they aren&#039;t a solid rule yet. This UDF has attempted to adhere to this as best as possible, but LibreOffice has a wide variety of similar settings, not always located in identical settings. For example, for Cell background, there is no “Area” tab, thus the background color functions are simply _LOCalc_CellStyleBackColor and _LOCalc_CellBackColor.&amp;lt;br&amp;gt;&lt;br /&gt;
Once you find the function you need to use, always check the parameters section in the header, it will aid in indicatating where to find what you need to use to call each parameter, or what kind or where to obtain the kind of Object you need. As an example, consider the following Parameter entries from &#039;&#039;_LOCalc_CellUnderline&#039;&#039;,&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$oCell               - [in/out] an object. A Cell Range or Cell object returned by a previous _LOCalc_RangeGetCellByName, _LOCalc_RangeGetCellByPosition, _LOCalc_RangeColumnGetObjByPosition, _LOCalc_RangeColumnGetObjByName, _LOcalc_RangeRowGetObjByPosition, _LOCalc_SheetGetObjByName, or _LOCalc_SheetGetActive function.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This contains a few important details. First: The parameter &#039;&#039;$oCell&#039;&#039; accepts either a Calc Cell Range Object (i.e. a range Object covering A1:B3), Or a single Cell Object (i.e. Cell Object for Cell C3). Then follows a list of functions that would return such Objects that would be acceptable, this list is not always exhaustive when there are many functions that would return a similar acceptable Object or value. However the Object or value will either be named the same, or a note will be in the remarks section of the header indicating what else would be acceptable. Another example from &#039;&#039;_LOCalc_CellUnderline&#039;&#039;,&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iUnderLineStyle     - [optional] an integer value (0-18). Default is Null. The Underline line style, see constants, $LOC_UNDERLINE_* as defined in LibreOfficeCalc_Constants.au3.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This parameter has a few different and important details. First you will see some numerical values inside of parenthesis, 0-18, I will explain these shortly, you will also see it mentions a certain Constant name, in this case “$LOC_UNDERLINE_*”, this means, of course, that this parameter accepts the Constants of this name as values, the constants will be found in the file LibreOfficeCalc_Constants.au3. If you went to the Constants file, you would see 19 separate Constants to choose from. The values inside of the parenthesis means that this parameter accepts any of those constants that have values between 0 and 18.&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iULColor            - [optional] an integer value (-1-16777215). Default is Null. The color of the underline, set in Long integer format. Can be a custom value, or one of the constants, $LO_COLOR_* as defined in LibreOffice_Constants.au3. Set to $LO_COLOR_OFF(-1) for automatic color mode.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This parameter is similar, again some values are found in parenthesis, -1 to 16,777,215. However if you went to the constants indicated, you would see that they only have a few options to choose from, but not an exhaustive list ranging from -1 to 16,777,215. That is why the parameter description indicates you can choose any custom value between -1 and 16,777,215, you can make up your own value as desired as long as it falls between those two values. We will touch another Parameter from another function as a final example.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;$iDistance           - [optional] an integer value. Default is Null. The distance of the Shadow from the Comment box, set in 1/100th MM.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
Considering this Parameter, you will see that there are no parenthesis in this one, this generally means there are no limits, or perhaps only a minimum. If there is a minimum, and it is not mentioned in the parameter, it can be found by looking at the documented Input errors in the header. In this case, $iDistance has the following Input error:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;@Error 1 @Extended 4 = $iDistance not an Integer, or less than 0.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
That means $iDistance must be an integer, and cannot be less than 0. But there is seemingly no maximum. Or perhaps the maximum varied, which would be noted in the Remarks section, but generally it means it is not present.&lt;br /&gt;
&lt;br /&gt;
===A Few More Notes===&lt;br /&gt;
Throughout this UDF you will encounter functions that are for setting properties, whether it is Styles, Tables, Cells, etc. Usually, you will see that nearly all the parameters will be optional, except for the required Object parameter(s). The optional parameters will have an assigned value of “Null”, which will tell you that, unless indicted otherwise, this function can be used to both set AND retrieve the current property values. You can confirm if this is the case by looking at the Remarks section of the header for a statement similar to the following:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Call this function with only the required parameters (or by calling all other parameters with the Null keyword), to get the current settings.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
If you call this function with all optional parameters to Null the return will be an array (except when there is only one optional parameter, in which case the return will be of what ever type the Parameter is, an Integer, a String etc.) If there is more than one optional parameter, the returned array will be a single dimension (unless indicated otherwise), with each element of the array in the order of the optional parameters. For example:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;_LOWriter_ParStyleBorderColor(ByRef $oParStyle, $iTop = Null, $iBottom = Null, $iLeft = Null, $iRight = Null)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
In this function you have the non-optional parameter, &#039;&#039;$oParStyle&#039;&#039;, and four optional parameters, &#039;&#039;$iTop&#039;&#039;, &#039;&#039;$iBottom&#039;&#039;, &#039;&#039;$iLeft&#039;&#039;, and &#039;&#039;$iRight&#039;&#039;. If I called this function with only a Paragraph Style Object, it would return the current Paragraph Style Border color values, the returned array would contain the following values: $aArray[0] = $iTop, $aArray[1] = $iBottom, $aArray[2] = $iLeft, and $aArray[3] = $iRight.&amp;lt;br&amp;gt;&lt;br /&gt;
Furthermore, any functions that have optional parameters with the “Null” value assigned to them, means that you can also skip any parameters you do not want to set a value for by calling “Null” in the position, nothing will be modified for that property.&lt;br /&gt;
&lt;br /&gt;
===Some of the other files===&lt;br /&gt;
There are some files I have not yet touched upon in these explanations, which we will now examine. Each separate component has a file named *_Helper.au3, there is also a general file called LibreOffice_Helper.au3. These files contain functions that either don&#039;t fit under the other categories, or are purely for aiding in other work. For example there is in LibreOffice_Helper.au3 functions such as _LO_UnitConvert, and _LO_VersionGet. _LO_UnitConvert can be used for converting from common units of measurement to the measurement unit used by LibreOffice internally (100th MM). VersionGet is used to determine the current LibreOffice/OpenOffice version being automated. This is beneficial when certain functions or parameters are only available for certain L.O. versions (These limitations will be indicated in any applicable functions, either in the parameter, or the description of the function itself if the whole function is restricted to a certain version.).&amp;lt;br&amp;gt;&lt;br /&gt;
Taking a look at LibreOfficeWriter_Helper.au3, we find some functions like the following: &#039;&#039;_LOWriter_FontsGetNames&#039;&#039;, and &#039;&#039;_LOWriter_SearchDescriptorCreate&#039;&#039;. _LOWriter_FontsGetNames, obviously, retrieves an array of all available Fonts for use in the Document. _LOWriter_SearchDescriptorCreate creates a Search descriptor Object for usage in the Writer Find and Replace functions found in the LibreOfficeWriter_Doc.au3 file. &lt;br /&gt;
&lt;br /&gt;
===How LibreOffice Portable is Initialized===&lt;br /&gt;
Keeping in mind the information mentioned in the [[#Applications vs the ServiceManager|differences section]], particularly the difference between Microsoft Office using Applications, and LibreOffice using a ServiceManager for Document management. Also how this UDF has chosen to spare the user from having to create the ServiceManager themselves for this UDF, instead creating the ServiceManager in the background, and storing it as a static variable. The exception to this method is when working with LibreOffice Portable. Obviously, the behind the scenes method of using ObjCreate for creating the ServiceManager wont work with portable LibreOffice because the COM server is not registered in the registry, which AutoIt relies upon to create COM Objects.&amp;lt;br&amp;gt;&lt;br /&gt;
To work around this, and allow the user to work with Portable LibreOffice, this UDF has a single function found in the &#039;&#039;LibreOffice_Helper.au3&#039;&#039; file, named &#039;&#039;_LO_InitializePortable&#039;&#039;. This function is used to point the UDF to the location of the Portable LibreOffice folder. Depending on whether there is an existing installation of LibreOffice or OpenOffice, one of two things occurs:&lt;br /&gt;
&lt;br /&gt;
# If there currently is not an installed version of either LibreOffice or OpenOffice, and if the path called is valid, a temporary registry entry is added to the HKEY_CURRENT_USER Registry key (See &#039;&#039;__LO_SetPortableServiceManager&#039;&#039; for all keys created) mirroring the installed version&#039;s entries to allow AutoIt to create an instance of the ServiceManager. Once a ServiceManager has been created, the entries are deleted. &lt;br /&gt;
# If there is already an installed version of LibreOffice or OpenOffice, the ServiceManager is created using the already existing entry, and the registry remains unmodified.The reason this still works for the Portable version will be described next. &lt;br /&gt;
&lt;br /&gt;
From this point, whether the ServiceManager was created using the Portable version or the installed version, the portable instance of LibreOffice found at the called path is started invisibly using some special flags (See __LO_SetPortableServiceManager), causing it to begin listening on a certain port and localhost IP Address. Certain languages, such as C++, and Java are able to create a local instance of the ServiceManager object, and using this local version, are able to connect to this local IP and Port to obtain the COM reference to the started Libreoffice Portable service. Because AutoIt is not able to do this, the above process has been adopted. Using the created ServiceManager, either from an existing install, or by temporarily registering the Portable Version of LibreOffice in the User Registry, I can now use that ServiceManager to connect to the running Portable Version of LibreOffice, and obtain the Portable LibreOffice ServiceManager object from that instance of LO. Once this is obtained, it is then stored as a static variable for future use, eliminating the need to re-create it each time a ServiceManager is needed.&lt;br /&gt;
&lt;br /&gt;
------------&lt;br /&gt;
&lt;br /&gt;
==Getting started==&lt;br /&gt;
With the exception of working with Portable LibreOffice (see the [[#How LibreOffice Portable is Initialized|Portable LibreOffice]] section regarding this), the first step will always be to acquire a Document object. In order to obtain a Document Object, the beginning step is to either open an existing file by providing the file path to the appropriate function, for example an odt or docx file would be opened with Writer, or an ods or xlsx file would be opened by Calc, etc. Alternatively you could also connect to an already opened document instance using one of the “Connect” functions. Or, finally, you may just want to create an entirely new Document using the appropriate “Create” function. The actual process on how to do this will be discussed in more detail for each element in another section.&amp;lt;br&amp;gt;&lt;br /&gt;
Once a Document object is acquired, you then go forward from there to accomplish the task you desire to do. We will touch on this shortly, but first it is important to deal with the most probable question on any newcomer&#039;s mind,&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [https://wiki.documentfoundation.org/Documentation/DevGuide/Glossary LibreOffice Developer&#039;s Guide: Glossary]&lt;br /&gt;
* [https://api.libreoffice.org/docs/idl/ref/index.html LibreOffice 24.2 SDK API Reference]&lt;/div&gt;</summary>
		<author><name>Water</name></author>
	</entry>
</feed>