Jump to content

AutoIt Snippets


Chimaera
 Share

Recommended Posts

I was trying to make a downloader similar to Youtube Downloader and wanted to be able to grab urls from the clip board when I move my mouse inside the edit control (If you've used Youtube downloader you know what I'm talking about). I came up with this and it's a pretty nifty little snippit

#include <GUIConstants.au3>
#include <Memory.au3>
#include <WinAPIShellEx.au3>
#include <GuiEdit.au3>

Global Enum $idProcEdit = 9999

Global $hMain = GUICreate("Capture clipboard in edit", 400, 400)
GUICtrlCreateLabel("Move mouse over the edit control", 10, 10, 380, 20)
Global $edtEdit = GUICtrlCreateEdit("Move mouse into edit", 10, 35, 380, 360)
Global $hEdtEdit = GUICtrlGetHandle($edtEdit)
Global $tPData = DllStructCreate("struct;char func[9];int iControl;endstruct")
Global $hNewWindowProc = DllCallbackRegister(NewWindowProc, "lresult", "hwnd;uint;wparam;lparam;uint_ptr;dword_ptr")
Global $pNewWindowProc = DllCallbackGetPtr($hNewWindowProc)
$tPData.func = "Example"
$tPData.iControl = $edtEdit

_WinAPI_SetWindowSubclass($hEdtEdit, $pNewWindowProc, $idProcEdit, DllStructGetPtr($tPData))

GUISetState(@SW_SHOW, $hMain)

While (True)
    Switch (GUIGetMsg())
        Case $GUI_EVENT_CLOSE
            _WinAPI_RemoveWindowSubclass($hEdtEdit, $pNewWindowProc, $idProcEdit)
            Exit 0
    EndSwitch
WEnd

Func Example($idControl)
    Return GUICtrlSetData($idControl, GUICtrlRead($idControl) & @CRLF & ClipGet())
EndFunc

Func NewWindowProc($hWnd, $iMsg, $wParam, $lParam, $uIdSubclass, $dwRefData)
    #forceref $hWnd, $iMsg, $wParam, $lParam, $uIdSubclass, $dwRefData
    Local Static $bInserted = False

    Switch ($uIdSubclass)
        Case $idProcEdit
            Switch ($iMsg)
                Case $WM_CHAR
                    ; Ctrl + A, highlight all of the control that has focus
                    If ($wParam = 1) Then Return _GUICtrlEdit_SetSel($hWnd, 0, -1)

                ; Mouse moved in the control or user did Ctrl + V
                Case $WM_MOUSEMOVE, $WM_PASTE
                    If ($hWnd = $hEdtEdit And $bInserted = False) Then
                        $bInserted = True
                        Local $pData = DllStructCreate("struct;char func[64];int iControl;endstruct", $dwRefData)
                        Return Call($pData.func, $pData.iControl)
                    EndIf

                Case $WM_NCMOUSEMOVE
                    $bInserted = False
            EndSwitch
    EndSwitch

    Return _WinAPI_DefSubclassProc($hWnd, $iMsg, $wParam, $lParam)
EndFunc   ;==>NewWindowProc

In my example I put a function to call associated with the edit control id in a struct and passed it to my window proc. This would let you call a specific function per control if you had multiple edit (or input boxes) that needed to do different things

Link to comment
Share on other sites

  • 2 weeks later...

A function to convert an array into AutoIt code to include it into scripts.

Maybe this still exists, or maybe nobody ever used it. But I didn't find it and I want to see the chat, so I wrote something to get another post ;)

Local $aArray[2][1] = [["1"], ["2"]]
; Call the function with an array as first parameter ($aArray)
Local $sWriteArray = _CreateCodeArray($aArray, Default, Default, 0, 3) ; in this example the GUI will appear
If @error Then MsgBox(0, "", $sWriteArray)


; #FUNCTION# =========================================================================================================
; Name...........: _CreateCodeArray
; Description ...: Convert an array to an array in AutoIt code to include it in scripts.
; Syntax.........: _CreateCodeArray($WA_ARRAY, [$WA_ARRAYNAME], [$WA_QUOTATIONS_MARKS], [$WA_GLOBAL], [$WA_OUTPUT], [$WA_FILEPATH])
; Parameters ....: $WA_ARRAY                -> The array
;                  $WA_ARRAYNAME            -> The declaration name of the array
;                  $WA_QUOTATIONS_MARKS     -> The Quotation Marks " or '. Default is "
;                  $WA_GLOBAL               -> Defines the declaration of the array: Default or 0 = Local, 1 = Global
;                  $WA_OUTPUT               -> Default or 0 = return array as value of the variable, 1 = return array into clipboard, 2 = write array into a file, 3 = show array in an edit control
;                  $WA_FILEPATH             -> If the array is to be written to a file: Default or "" = @ScriptDir & "AutoIt_Array.txt"
; Requirement(s).:
; Return values .: Fehler: @error = 1, @extended = 0, error text
; Remarks .......;
; Author ........: nobbitry
; Example........;
;=====================================================================================================================


Func _CreateCodeArray($WA_ARRAY, $WA_ARRAYNAME = "$aArray", $WA_QUOTATIONS_MARKS = '"', $WA_GLOBAL = 0, $WA_OUTPUT = 0, $WA_FILEPATH = @ScriptDir & "\AutoIt_Array.txt")

    If Not IsArray($WA_ARRAY) Then Return SetError(1, 0, "Variable is no array!")
    If $WA_ARRAYNAME = Default Then $WA_ARRAYNAME = "$WA_ARRAY"
    If $WA_QUOTATIONS_MARKS = Default Then $WA_QUOTATIONS_MARKS = '"'
    If $WA_QUOTATIONS_MARKS <> '"' And $WA_QUOTATIONS_MARKS <> "'" Then Return SetError(1, 0, "No valid quotation marks!")
    If $WA_GLOBAL = Default Then $WA_GLOBAL = 0
    If $WA_GLOBAL = 1 Then
        $WA_GLOBAL = "Global"
    ElseIf $WA_GLOBAL = 0 Then
        $WA_GLOBAL = "Local"
    ElseIf $WA_GLOBAL <> 0 And $WA_GLOBAL <> 1 Then
        Return SetError(1, 0, "No valid declaration!")
    EndIf
    If $WA_OUTPUT = Default Then $WA_OUTPUT = 0
    If $WA_FILEPATH = Default Then $WA_FILEPATH = @ScriptDir & "AutoIt_Array.txt"

    Local $iRows = UBound($WA_ARRAY, $UBOUND_ROWS)
    Local $iCols = UBound($WA_ARRAY, $UBOUND_COLUMNS)
    Local $sString = $WA_GLOBAL & " " & $WA_ARRAYNAME & "[" & $iRows & "]" & "[" & $iCols & "]" & " = [ _" & @CRLF
    For $i = 0 To $iRows - 1
        $sString &= "["
        For $j = 0 To $iCols - 1
            $sString &= $WA_QUOTATIONS_MARKS & $WA_ARRAY[$i][$j] & $WA_QUOTATIONS_MARKS & ", "
        Next
        $sString = StringTrimRight($sString, 2) & "], _" & @CRLF
    Next
    $sString = StringTrimRight($sString, 5) & "]"

    If $WA_OUTPUT = 0 Then
        Return $sString
    ElseIf $WA_OUTPUT = 1 Then
        Local $WA_ARRAYTOCLIP = ClipPut($sString)
        If $WA_ARRAYTOCLIP = 0 Then Return SetError(1, 0, "ClipPut not successful!")
    ElseIf $WA_OUTPUT = 2 Then
        Local $hFileOpen = FileOpen($WA_FILEPATH, 138)
        FileWrite($hFileOpen, $sString)
        FileClose($hFileOpen)
    ElseIf $WA_OUTPUT = 3 Then
        Local $hGUI = GUICreate("")
        Local $idCOPY = GUICtrlCreateButton("Copy to clipboard and exit", 250, 370, 145, 25)
        Local $idEDIT = GUICtrlCreateEdit($sString, 5, 5, 390, 360)
        GUISetState(@SW_SHOW, $hGUI)
        While 1
            Switch GUIGetMsg()
                Case -3
                    ExitLoop
                Case $idCOPY
                    Local $ArrayToClip = ClipPut(GUICtrlRead($idEDIT))
                    If $ArrayToClip = 0 Then Return SetError(1, 0, "ClipPut not successful!")
                    ExitLoop
            EndSwitch
        WEnd
        GUIDelete($hGUI)
    EndIf

EndFunc   ;==>_CreateCodeArray

 

Edited by nobbitry
Link to comment
Share on other sites

  • 2 weeks later...

-snip-

Edited by rcmaehl

My UDFs are generally for me. If they aren't updated for a while, it means I'm not using them myself. As soon as I start using them again, they'll get updated.

My Projects

WhyNotWin11
Cisco Finesse, Github, IRC UDF, WindowEx UDF

 

Link to comment
Share on other sites

*ftfy

$Amount = -1
MsgBox(0, "Test", $Amount & " Thing" & StringRight("s", (Abs($Amount) - 1)))

 

snipped out from under me*   above was basically the same thing minus the parentheses around the Abs function making -1 plural

 

Edited by iamtheky

,-. .--. ________ .-. .-. ,---. ,-. .-. .-. .-.
|(| / /\ \ |\ /| |__ __||| | | || .-' | |/ / \ \_/ )/
(_) / /__\ \ |(\ / | )| | | `-' | | `-. | | / __ \ (_)
| | | __ | (_)\/ | (_) | | .-. | | .-' | | \ |__| ) (
| | | | |)| | \ / | | | | | |)| | `--. | |) \ | |
`-' |_| (_) | |\/| | `-' /( (_)/( __.' |((_)-' /(_|
'-' '-' (__) (__) (_) (__)

Link to comment
Share on other sites

  • 2 months later...

2017's first snippet, let me cut the ribbon with an almost useless piece of code :D:P.

I present you IniReadWrite, What it does is write the "Default" value to the Ini file if the key does not already exist :blink:. Head over to GitHub Gist to grab the snippet, the reasons why I am not posting the code are:

  1. Gist has a download feature (which creates a ZIP automatically which includes the code + license).
  2. My code would survive any catastrophes like forum upgrades, loss of database etc.
  3. Gist is a dedicated service which is a better place for code to be hosted
  4. plus I love the git backend ;).

EasyCodeIt - A cross-platform AutoIt implementation - Fund the development! (GitHub will double your donations for a limited time)

DcodingTheWeb Forum - Follow for updates and Join for discussion

Link to comment
Share on other sites

10 hours ago, TheDcoder said:

2017's first snippet, let me cut the ribbon with an almost useless piece of code :D:P.

I present you IniReadWrite, What it does is write the "Default" value to the Ini file if the key does not already exist :blink:. Head over to GitHub Gist to grab the snippet, the reasons why I am not posting the code are:

  1. Gist has a download feature (which creates a ZIP automatically which includes the code + license).
  2. My code would survive any catastrophes like forum upgrades, loss of database etc.
  3. Gist is a dedicated service which is a better place for code to be hosted
  4. plus I love the git backend ;).

I can't see reason why you want to do the thing you doing in the function

Link to comment
Share on other sites

4 hours ago, gil900 said:

I can't see reason why you want to do the thing you doing in the function

Wrapper for IniRead. Writes the "default" value to the Ini file if the key does not exist! Very useful to generate config.ini by just replacing IniRead with IniReadWrite

 

P.S Why quote the entire post? Unesseary padding...

EasyCodeIt - A cross-platform AutoIt implementation - Fund the development! (GitHub will double your donations for a limited time)

DcodingTheWeb Forum - Follow for updates and Join for discussion

Link to comment
Share on other sites

4 hours ago, gil900 said:

I can't see reason why you want to do the thing you doing in the function

I can see the benefit, though whether I would ever use the snippet, remains to be seen.

I suspect many just have a function like it in their scripts. TheDcoder has obviously provided it for those who it never occurred to.

On the whole I think it a smart thing, as usually I have a lot of code like so.

$force = IniRead($inifle, "Browser Emulation", "force_proxy", "")
If $force = "" Then
    $force = 4
    IniWrite($inifle, "Browser Emulation", "force_proxy", $force)
EndIf
GUICtrlSetState($Checkbox_force, $force)

Using the snippet, I could reduce to the following in each instance, which could eventually save a lot on code.

$force = IniReadWrite($inifle, "Browser Emulation", "force_proxy", 4)
GUICtrlSetState($Checkbox_force, $force)

EDIT

In fact, that would be a good function to add to existing INI functions ... save us all from having to worry with a snippet. I suspect it would get a hell of a lot of use. One of the better additions to come along.

Edited by TheSaint

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Link to comment
Share on other sites

My pleasure bud. :D

I would have liked your snippet post, but I didn't agree with your Git comments, you silly git. :lmao:

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Link to comment
Share on other sites

16 hours ago, TheDcoder said:

let me cut the ribbon with an almost useless piece of code

My 2 cents worth: Describing the snippet as almost useless and then link people to Github from a thread that was created to post code is a bit of an overhead, isn't it?

; #FUNCTION# ====================================================================================================================
; Name ..........: IniReadWrite
; Description ...: Write the default value to Ini if it does not exist
; Syntax ........: IniReadWrite($sFile, $sSection, $sKey, $sDefault)
; Parameters ....: $sFile               - The path for the .ini file.
;                  $sSection            - The section name in the .ini file.
;                  $sKey                - The key name in the .ini file.
;                  $sDefault            - The default value.
; Return values .: The value of the $sKey in the Ini file or $sDefault if the $sKey does not exists
; Author ........: Damon Harris (TheDcoder)
; Remarks .......: PRO TIP: IniReadWrite is fully compatible with IniRead (i.e Same parameters)
; Related .......: IniRead and IniWrite
; Link ..........: https://gist.github.com/TheDcoder/b5035d600b7a130ea45311541a15a555
; Example .......: No
; ===============================================================================================================================
Func IniReadWrite($sFile, $sSection, $sKey, $sDefault)
    Local $sIniRead = IniRead($sFile, $sSection, $sKey, "")
    If Not $sIniRead = "" Then Return $sIniRead
    IniWrite($sFile, $sSection, $sKey, $sDefault)
    Return $sDefault
EndFunc

Does a four liner with more documentation than code need to be packed into a ZIP fil including a license file?
With Git you spread code all over the world. Sometimes it's hard to remember where on the AutoIt website (forum, wiki ...) some code can be found.

In your words: "almost useless" :P

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
Share on other sites

If Not $sIniRead = "" Then Return $sIniRead ; This looks wrong to me, shouldn't it be If Not ($sIniRead == "") Then Return $sIniRead

 

Edited by guinness

UDF List:

 
_AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples...

Updated: 22/04/2018

Link to comment
Share on other sites

42 minutes ago, water said:

Does a four liner with more documentation than code need to be packed into a ZIP fil including a license file?

You know what boys are like with a new toy ... that being the Git in this instance ... and they gotta tell the world too. :lol:

He's still an enthusiastic lad our bud of 16 (now). I quite like that about him .... and some other things too ... even if some are 'useless' ones. :muttley:

He is a force to be reckoned with and you can't fail to notice him. :D

If Not (@TheDcoder == "Good") Then $Result = "You are not trying hard enough." ;)

P.S. None of us are perfect, and you are all less perfect than me. :P

Edited by TheSaint

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Link to comment
Share on other sites

GIst is a bit of a different animal than GitHub proper, it's more a blog that formats and renders all nice than it is an SVN.  That said I only used it when I was learning in Neo4j and there was some kind of contest I used as motivation.  I concur that offering this up in a zip with a license is probably not indicative of your finest efforts, and that you put it on a site that is crawled by all sorts of clone sites is an odd decision.

 

,-. .--. ________ .-. .-. ,---. ,-. .-. .-. .-.
|(| / /\ \ |\ /| |__ __||| | | || .-' | |/ / \ \_/ )/
(_) / /__\ \ |(\ / | )| | | `-' | | `-. | | / __ \ (_)
| | | __ | (_)\/ | (_) | | .-. | | .-' | | \ |__| ) (
| | | | |)| | \ / | | | | | |)| | `--. | |) \ | |
`-' |_| (_) | |\/| | `-' /( (_)/( __.' |((_)-' /(_|
'-' '-' (__) (__) (_) (__)

Link to comment
Share on other sites

On 12/1/2017 at 11:36 AM, water said:

...Describing the snippet as almost useless...

Yes, I agree that I was exaggerating by labelling it as "almost useless", I do not have any proper words to describe it.

On 12/1/2017 at 11:36 AM, water said:

Does a four liner with more documentation than code need to be packed into a ZIP fil including a license file?

Yes, I believe in being organized :P. On a more serious note: licensing is one of the most important steps when you are making something open source, without it, it isn't open source or free!

On 12/1/2017 at 11:36 AM, water said:

With Git you spread code all over the world. Sometimes it's hard to remember where on the AutoIt website (forum, wiki ...) some code can be found.

 

Nope, I disagree. Why would it make harder to remember AutoIt forum, wiki etc?

@guinness Hmm, that never occurred to me, doesn't using double equal only make the comparison case-sensitive? or is there something I am missing here...

On 12/1/2017 at 0:15 PM, TheSaint said:

You know what boys are like with a new toy ... and they gotta tell the world too. :lol:

Can't agree more on that though :P

Edited by TheDcoder

EasyCodeIt - A cross-platform AutoIt implementation - Fund the development! (GitHub will double your donations for a limited time)

DcodingTheWeb Forum - Follow for updates and Join for discussion

Link to comment
Share on other sites

13 hours ago, iamtheky said:

GIst is a bit of a different animal than GitHub proper, it's more a blog that formats and renders all nice than it is an SVN

blog? I thought it was a pastebin service on steroids operated by GitHub :blink:.

 

P.S I had already written post #296 a few days ago but I lost the content because of this buggy forum editor:ranting:, I was really frustrated and I did not have the patience to re-write the whole thing... so I wrote the post again today. This is the reason why this post is separate from the previous one.

EasyCodeIt - A cross-platform AutoIt implementation - Fund the development! (GitHub will double your donations for a limited time)

DcodingTheWeb Forum - Follow for updates and Join for discussion

Link to comment
Share on other sites

17 minutes ago, TheDcoder said:
On 12.1.2017 at 7:45 AM, TheSaint said:

You know what boys are like with a new toy ... that being the Git in this instance ... and they gotta tell the world too. :lol:

Can't agree more on that though :P

Then I hope you will soon become a man ;)

My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download
Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki
PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki
Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki

Standard UDFs:
Excel - Example Scripts - Wiki
Word - Wiki

Tutorials:
ADO - Wiki
WebDriver - Wiki

 

Link to comment
Share on other sites

2 hours ago, TheDcoder said:

 

@guinness Hmm, that never occurred to me, doesn't using double equal only make the comparison case-sensitive? or is there something I am missing here...

I might be wrong, but when I saw his advice, I thought - zero, nothing, nul

In any case, taking his advice, leaves nothing (sic) ambiguous.

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Link to comment
Share on other sites

Create an account or sign in to comment

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

Create an account

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

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...