Jump to content
Sign in to follow this  
sirWimelef

tabulation order

Recommended Posts

sirWimelef

helow all

i have a gui with a ton of controls and i some cases i need to change the tabulation order

theres is a way to change the navigation order of the controls ?

Share this post


Link to post
Share on other sites
water

Not that I know of.

Do you think it is a good idea to change the tab order? "A ton of controls" sounds like re-thinking the design of your application could yield better results.

Maybe create multiple tabs in your GUI (like IE or FF), create multiple sections which can be hidden until needed (check Melba's GUIExtender - Extend and retract multiple sections within a GUI) etc.)


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2018-12-03 - Version 1.4.11.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-10-31 - Version 1.3.4.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Share this post


Link to post
Share on other sites
reb

If you want to do it the hard way just change the order they are created.

Switch button 1 and button 2 and note the tab order

#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
$Window = GUICreate("Test",500,400)
$button1 = GUICtrlCreateButton("Button1",10,200,50,20)
$button2 = GUICtrlCreateButton("Button2",10,240,50,20)  ; switch and see order change



 GUISetState(@SW_SHOW)
    Do
        Local $msg = GUIGetMsg()

    Until $msg = $GUI_EVENT_CLOSE

REB


MEASURE TWICE - CUT ONCE

Share this post


Link to post
Share on other sites
sirWimelef

hi all and thx for the answers,

i think that I need to give a little more info XD

i work on a manufacturing factory and this is the a part of the quality test, the gui is generated based an a survey stored in a db

every family of products have it own survey so the program create the tabs, checkboxes, radios, labels, inputs, etc dynamically, so they are created in an specific order and I can't create theme starting form the last

there is the part of the code that generate de gui, its a little big ordered mess XD

Func informe($fam,$of,$verificador,$pag=1)
    local $guifull,$buton1,$buton2,$buton3,$buton4,$buton5,$buton6,$msg,$rs,$rs1,$sql,$grupo,$grupo2,$x,$y,$t=1,$parcial=0,$dada1,$dada2,$vermell=0,$ruta,$i,$labgio,$combunit
    Local $multiple,$multiline,$longo,$pordefecto,$splitdefecto,$defecto,$sololec=0,$rutainf
    local $valors[9999][8]
    local $tabs[25]
    $guifull=GUICreate("Vista previa del full per l'equip "&$fam,700,550,@DesktopWidth/2-350,@DesktopHeight/2-250,bitor($GUI_SS_DEFAULT_GUI,$WS_VISIBLE))
    GUICtrlCreateLabel("OF:",5,13,25,20)
    GUICtrlCreateInput($of,25,10,65,20,$ES_READONLY)
    $labgio=GUICtrlCreateLabel("-",93,12,10,20)
    $combunit=GUICtrlCreateCombo("",100,10,35,20)
    $rs=$db.execute("select VHORQT from MWOHED where VHMFNO="&$of)
    if $rs.fields(0).value=1 Then
        GUICtrlSetState($combunit,$gui_hide)
        GUICtrlSetState($labgio,$gui_hide)
    Else
        $x="1"
        for $a=2 to $rs.fields(0).value
            $x=$x&"|"&$a
        next
        GUICtrlSetData($combunit,$x,$pag)
        $of=$of&"-"&$pag
    EndIf
    $rs=$db.execute("select MMITDS from MITMAS where  MMITNO='"&$fam&"'")
    GUICtrlCreateLabel("Descripció equip:",240,13,90,20)
    if not $rs.eof Then
        GUICtrlCreateInput($rs.fields(0).value,330,10,360,20,$ES_READONLY)
    EndIf
    if $of=1 Then
        $buton1=GUICtrlCreateButton("Tancar",310,500,80,40)
        $buton2=GUICtrlCreateButton("",190,500,80,40,$BS_MULTILINE)
        GUICtrlSetState(-1,$gui_hide)
        $buton3=GUICtrlCreateButton("",100,500,80,40,$BS_MULTILINE)
        GUICtrlSetState(-1,$gui_hide)
    Else
        $buton1=GUICtrlCreateButton("Sortir sense"&@CRLF&"   guardar",10,500,80,40,$BS_MULTILINE)
        guictrlsetstate($buton1,$gui_hide)
        guictrlsetstate($buton1,$GUI_DISABLE)
        $buton2=GUICtrlCreateButton("  Guardar "&@CRLF&"parcialment",610,500,80,40,$BS_MULTILINE)
        $buton3=GUICtrlCreateButton("Finalitzar"&@CRLF&" i guarda",520,500,80,40,$BS_MULTILINE)
        guictrlsetstate($buton3,$gui_disable)
        $rs1=$db.execute("select * from VeriCab where  nof='"&$of&"'")
        if $rs1.eof Then
            $db.execute("insert into VeriCab (nof,verificador) values ('"&$of&"','"&$verificador&"')")
        Else
            $parcial=1
            if  $rs1.fields(3).value Then
                $sololec=1
                GUICtrlSetState($buton2,$gui_disable)
            EndIf
        EndIf
    EndIf
    $buton4=GUICtrlCreateButton("Instrucions de Verificació",10,500,80,40,$BS_MULTILINE)
    $rs=$db.execute("SELECT rtrim(campo)  FROM VeriPreg where fam='"&$fam&"'  and grupo='rutafull'")
    if $rs.eof Then
        $rs=$db.execute("SELECT rtrim(campo)  FROM VeriPreg where fam='"&StringLeft($fam,5)&"'  and grupo='rutafull'")
    EndIf
    if $rs.eof Then
        $rs=$db.execute("SELECT rtrim(campo)  FROM VeriPreg where fam='"&StringLeft($fam,3)&"'  and grupo='rutafull'")
    EndIf
    if $rs.eof Then
        GUICtrlSetState($buton4,$gui_hide)
    Else
        $ruta=$rs.fields(0).value
    EndIf
    $buton5=GUICtrlCreateButton("Informe",100,500,80,40,$BS_MULTILINE)
    $rs=$db.execute("SELECT rtrim(campo)  FROM VeriPreg where fam='"&$fam&"'  and grupo='rutainf'")
    if $rs.eof Then
        $rs=$db.execute("SELECT rtrim(campo)  FROM VeriPreg where fam='"&StringLeft($fam,5)&"'  and grupo='rutainf'")
    EndIf
    if $rs.eof Then
        $rs=$db.execute("SELECT rtrim(campo)  FROM VeriPreg where fam='"&StringLeft($fam,3)&"'  and grupo='rutainf'")
    EndIf
    if $rs.eof Then
        GUICtrlSetState($buton4,$gui_hide)
    Else
        $rutainf=$rs.fields(0).value
    EndIf
    $buton6=GUICtrlCreateButton("Incidències",190,500,80,40,$BS_MULTILINE)

    GUICtrlCreateTab(10,40,680,450)
    $valors[0][0]=1
    if StringLen($fam)>=3 Then $sql=            "select rtrim(grupo) as grupo, fila, rtrim(columna) as columna, rtrim(campo) as campo, rtrim(tipo) as tipo, rtrim(parametros) as parametros, rtrim(comentarios) as comentarios,rtrim(configurador) as configurador,vmin,vmax from VeriPreg where fam = '"&StringLeft($fam,3)& "' and grupo<>'rutafull' and grupo<>'rutainf' and idioma='ESP' "
    if StringLen($fam)>=5 then $sql=$sql&" union select rtrim(grupo) as grupo, fila, rtrim(columna) as columna, rtrim(campo) as campo, rtrim(tipo) as tipo, rtrim(parametros) as parametros, rtrim(comentarios) as comentarios,rtrim(configurador) as configurador,vmin,vmax from VeriPreg where fam = '"&StringLeft($fam,5)& "' and grupo<>'rutafull' and grupo<>'rutainf' and idioma='ESP' "
    if StringLen($fam)=11 Then $sql=$sql&" union select rtrim(grupo) as grupo, fila, rtrim(columna) as columna, rtrim(campo) as campo, rtrim(tipo) as tipo, rtrim(parametros) as parametros, rtrim(comentarios) as comentarios,rtrim(configurador) as configurador,vmin,vmax from VeriPreg where fam = '"&StringLeft($fam,11)&"' and grupo<>'rutafull' and grupo<>'rutainf' and idioma='ESP' "
    $sql=$sql&" order by grupo,fila"
    $rs=$db.execute($sql)
    if not $rs.eof Then
        While not $rs.eof
            $grupo=$rs.fields(0).value
            $grupo2=$rs.fields(0).value
            $tabs[$t]=GUICtrlCreateTabItem($grupo)
            $t=$t+1
            $i=0
            while $grupo=$grupo2
                $x=340
                if StringInStr($rs.fields("parametros").value,"l")<>0 Then
                    $multiline=StringMid($rs.fields("parametros").value,StringInStr($rs.fields("parametros").value,"l")+1,1)
                Else
                    $multiline=1
                EndIf
                if StringInStr($rs.fields("parametros").value,"x")<>0 Then
                    $multiple=StringMid($rs.fields("parametros").value,StringInStr($rs.fields("parametros").value,"x")+1,1)
                    if $multiple>3 Then
                        $multiple=3
                    EndIf
                Else
                    $multiple=1
                EndIf
                if StringInStr($rs.fields("parametros").value,"c")<>0 Then
                    $longo=220
                Else
                    $longo=0
                endif
                if $rs.fields("columna").value<>"" Then
                    $pordefecto=$rs.fields("columna").value
                Else
                    $pordefecto=""
                EndIf
                if  $rs.fields("tipo").value="combo" Then
                    $splitdefecto=StringSplit($pordefecto,"-")
                Else
                    $splitdefecto=StringSplit($pordefecto,"|")
                EndIf
                GUICtrlCreateLabel($rs.fields("Campo").value,    19,60+($rs.fields("fila").value+$i)*21)
                if $rs.fields("comentarios").value<>'' Then
                    GUICtrlSetTip(-1,$rs.fields("comentarios").value)
                EndIf
                For $a=1 to $multiple
                    if $rs.fields("tipo").value="titol" Then
                        if $splitdefecto[0]<>1 Then
                            GUICtrlCreateLabel($splitdefecto[$a],            270+($a*100),59+($rs.fields("fila").value+$i)*21,100,20,$SS_CENTER)
                        EndIf
                    Else
                        if $rs.fields("tipo").value="text" or $rs.fields("tipo").value="compara" or $rs.fields("tipo").value="gradicodi" Then
                            if $a<=$splitdefecto[0] Then
                                $defecto=$splitdefecto[$a]
                            Else
                                $defecto=""
                            EndIf
                            $valors[$valors[0][0]][0]=GUICtrlCreateInput($defecto, 280+($a*99),59+($rs.fields("fila").value+$i)*21,80+$longo,19+(($multiline-1)*19),BitOR($ES_RIGHT,$ES_MULTILINE,$ES_AUTOHSCROLL))
                        elseif $rs.fields("tipo").value="si" Then
                            $valors[$valors[0][0]][0]=GUICtrlCreateCheckbox("",315+($a*100),59+($rs.fields("fila").value+$i)*21,13,13)
                        elseif $rs.fields("tipo").value="combo" Then
                            if $a<=$splitdefecto[0] Then
                                $defecto=$splitdefecto[$a]
                            Else
                                $defecto=""
                            EndIf
                            $valors[$valors[0][0]][0]=GUICtrlCreateCombo("", 280+($a*100),59+($rs.fields("fila").value+$i)*21,80,20)
                            GUICtrlSetData($valors[$valors[0][0]][0],$defecto)
                        EndIf
                        $valors[$valors[0][0]][1]=$rs.fields("Campo").value&"*-"&$a
                        $valors[$valors[0][0]][2]=$of
                        $valors[$valors[0][0]][3]=$grupo
                        $valors[$valors[0][0]][4]=$rs.fields("tipo").value
                        if $rs.fields("configurador").value='' Then
                            $valors[$valors[0][0]][5]=$rs.fields("vmin").value
                            $valors[$valors[0][0]][6]=$rs.fields("vmax").value
                        Elseif $rs.fields("configurador").value='len' Then
                            $valors[$valors[0][0]][5]="L"
                            $valors[$valors[0][0]][6]=$rs.fields("vmin").value
                        Else
                            $rs1=$db.execute("SELECT convert(int,left(QJOPTN,9)) FROM MPDCDF WHERE QJCONO = 444 AND QJFTID = '"&$rs.fields("configurador").value&"' AND QJCFIN = (SELECT PVCFIN FROM MPDVAN WHERE PVCONO = 444 AND PVFACI = '000' AND PVSTRT = '001' AND PVVANO = '"&$fam&"')")
                            if not $rs1.eof Then
                                $valors[$valors[0][0]][5]=$rs1.fields(0).value-$rs1.fields(0).value*$rs.fields("vmin").value/100
                                $valors[$valors[0][0]][6]=$rs1.fields(0).value+$rs1.fields(0).value*$rs.fields("vmax").value/100
                            EndIf
                        EndIf
                        $valors[$valors[0][0]][7]=$rs.fields("parametros").value
                        GUICtrlSetState($valors[$valors[0][0]][0],$GUI_DISABLE)
                        $rs1=$db.execute("select rtrim(valor) from VeriLin where nof='"&$valors[$valors[0][0]][2]&"' and grupo='"&$valors[$valors[0][0]][3]&"' and campo='"&$valors[$valors[0][0]][1]&"'")
                        if not $rs1.eof Then
;~                          $sololec=1
                            if $valors[$valors[0][0]][4]="si" Then
                                if $rs1.fields(0).value="check" Then
                                    GUICtrlSetState($valors[$valors[0][0]][0],$GUI_CHECKED)
                                    GUICtrlSetState($valors[$valors[0][0]][0],$ES_READONLY)
                                EndIf
                            Else
                                GUICtrlSetData($valors[$valors[0][0]][0],$rs1.fields(0).value)
                                GUICtrlSetState($valors[$valors[0][0]][0],$ES_READONLY)
                            EndIf
                        EndIf
                        $valors[0][0]=$valors[0][0]+1
                    EndIf
                Next
                if $multiline<>1 Then $i=$i+$multiline
                $rs.movenext
                if not $rs.eof Then
                    $grupo2=$rs.fields(0).value
                Else
                    $grupo2="fora"
                EndIf
            WEnd
        WEnd
        $rs=$db.execute("select top 3 * from VeriInci where actiu=1 and codi like '%"&$of&"%' or codi = '"&$fam&"' or codi ='"&StringMid($fam,1,3)&"' or codi ='"&StringMid($fam,1,5)&"' and actiu=1")
        if not $rs.eof Then
            $t=$t+1
            $tabs[$t]=GUICtrlCreateTabItem("ERROR")
            GUICtrlCreateLabel("",10+2,40+22,680-6,450-25)
            GUICtrlSetBkColor(-1, 0xe94343)
            GUICtrlSetState(-1, $GUI_DISABLE)
            GUICtrlCreateLabel("",20,70,660,123,$SS_SUNKEN)
            if not $rs.eof Then
                GUICtrlSetData(-1,$rs.fields(1).value)
                $rs.movenext
            EndIf
            GUICtrlCreateLabel("",20,203,660,123,$SS_SUNKEN)
            if not $rs.eof Then
                GUICtrlSetData(-1,$rs.fields(1).value)
                $rs.movenext
            EndIf
            GUICtrlCreateLabel("",20,336,660,123,$SS_SUNKEN)
            if not $rs.eof Then
                GUICtrlSetData(-1,$rs.fields(1).value)
            EndIf
            $valors[$valors[0][0]][0]=GUICtrlCreateCheckbox("ACCEPTAR",310,470,80,10)
            $valors[$valors[0][0]][1]="ERROR-avis"
            $valors[$valors[0][0]][4]="si"
            GUICtrlSetState($valors[$valors[0][0]][0],$GUI_DISABLE)
        EndIf
        GUICtrlCreateTabItem("")
        GUICtrlSetState($tabs[1],$GUI_SHOW)
        if $sololec=0 Then
            GUICtrlSetState($valors[1][0],$gui_enable)
        EndIf
        $x=1
        While 1
            $msg=GUIGetMsg()
            Switch $msg
                Case $GUI_EVENT_CLOSE
                    GUIDelete($guifull)
                    Exit
                case $buton1
                    GUIDelete($guifull)
                    Exit
                case $buton2
                    $parcial=1
                    if guardaddades($valors,$parcial,$fam)=1 Then
                        GUIDelete($guifull)
                        $of=stringsplit($of,"-")
                        if $of[0]=1 Then
                            informe($fam,$of[1],$verificador)
                        Else
                            informe($fam,$of[1],$verificador,$of[2])
                        EndIf
                    Else
                        GUIDelete($guifull)
                        ExitLoop
                    EndIf
                case $buton3
                    $parcial=0
                    if guardaddades($valors,$parcial,$fam)=1 Then
                        GUIDelete($guifull)
                        $of=stringsplit($of,"-")
                        if $of[0]=1 Then
                            informe($fam,$of[1],$verificador)
                        Else
                            informe($fam,$of[1],$verificador,$of[2])
                        EndIf
                    Else
                        GUIDelete($guifull)
                        ExitLoop
                    EndIf
                case $buton4
                    ShellExecute($ruta)
                case $buton5
                    ShellExecute($rutainf)
                case $buton6
                    GUISetState(@SW_HIDE,$guifull)
                    incidencia($fam,$of,$verificador)
                    GUISetState(@SW_SHOW,$guifull)
            EndSwitch
            if not GUICtrlGetState($combunit)=$gui_hide Then
                if $pag<>GUICtrlRead($combunit) Then
                    While not _IsPressed("01")
                        sleep(12)
                    WEnd
                    $x=GUICtrlRead($combunit)
                    GUIDelete($guifull)
                    $of=stringsplit($of,"-")
                    informe($fam,$of[1],$verificador,$x)
                EndIf
            EndIf
            if $valors[$x][4]="si"  and $sololec=0 Then
                if GUICtrlRead($valors[$x][0])==1 and $sololec=0 Then
                    GUICtrlSetState($valors[$x+1][0],$gui_enable)
                    $x=$x+1
                EndIf
            elseif GUICtrlRead($valors[$x][0])<>'' and $sololec=0 Then
                if $valors[$x][4]="text"  Then
                    if $valors[$x][5]="L" Then
                        if StringLen(GUICtrlRead($valors[$x][0]))>=$valors[$x][6] Then
                            GUICtrlSetState($valors[$x+1][0],$gui_enable)
                            GUICtrlSetBkColor($valors[$x][0],0xffffff)
                            $vermell=0
                            $x=$x+1
                        Else
                            if $vermell=0 then
                                GUICtrlSetBkColor($valors[$x][0],0xFF0000)
                                $vermell=1
                            EndIf
                        EndIf
                    elseif $valors[$x][5]<>0 and $valors[$x][6]<>0 Then
                        if GUICtrlRead($valors[$x][0])>=$valors[$x][5] and GUICtrlRead($valors[$x][0])<=$valors[$x][6] Then
                            GUICtrlSetState($valors[$x+1][0],$gui_enable)
                            GUICtrlSetBkColor($valors[$x][0],0xffffff)
                            $vermell=0
                            $x=$x+1
                        Else
                            if $vermell=0 then
                                GUICtrlSetBkColor($valors[$x][0],0xFF0000)
                                $vermell=1
                            EndIf
                        EndIf
                    Else
                        GUICtrlSetState($valors[$x+1][0],$gui_enable)
                        $x=$x+1
                    EndIf
                elseif $valors[$x][4]="compara" Then
                    $dada1=GUICtrlRead($valors[$x][0])
                    $dada2=GUICtrlRead($valors[$x-1][0])
                    if $valors[$x][7]<>'' Then
                        for $a=1 to stringlen($valors[$x][7])
                            if StringMid($valors[$x][7],$a,1) <> 'C' and StringMid($valors[$x][7],$a,1)<>'L' and StringMid($valors[$x][7],$a,1)<>'x' Then
                                $dada1=StringReplace($dada1,StringMid($valors[$x][7],$a,1),"")
                                $dada2=StringReplace($dada2,StringMid($valors[$x][7],$a,1),"")
                            EndIf
                        next
                    EndIf
                    if $dada1=$dada2 Then
                        GUICtrlSetData($valors[$x][0],$dada1)
                        GUICtrlSetData($valors[$x-1][0],$dada2)
                        GUICtrlSetState($valors[$x+1][0],$gui_enable)
                        $x=$x+1
                    EndIf
                Else
                    GUICtrlSetState($valors[$x+1][0],$gui_enable)
                    $x=$x+1
                EndIf
            EndIf
            if $x=$valors[0][0] or $x=$valors[0][0]+1 Then
                GUICtrlSetState($buton3,$gui_enable)
                GUICtrlSetState($buton2,$gui_disable)
                $x=$x+1
            EndIf
        WEnd
    Else
        MsgBox(0,"error","La fulla de verificació no esta creada")
        GUIDelete($guifull)
    EndIf
    if $of<>1 then verificadors()
EndFunc

the msg text and some vars are in catalan

Share this post


Link to post
Share on other sites
water

When do you want to change the tab order? While you generate the GUI based on the input or when the user clicks a button or has entered specific data?


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2018-12-03 - Version 1.4.11.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-10-31 - Version 1.3.4.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Share this post


Link to post
Share on other sites
sirWimelef

well while i was writing the relpy i got an idea and  i make a keytrap that can do the trick

global $titol=''
HotKeySet("{tab}", "alttab")

func informe()
....
$titol="Full de verificació per l'equip "&$fam
....
endfunc

func alttab()
    if $titol<>'' Then
        if winactive ($titol) Then
            send ("+{tab}")
        Else
            send ("{tab}")
        EndIf
    Else
        send ("{tab}")
    EndIf
EndFunc

isnt very "nice" but it works 

Edited by sirWimelef

Share this post


Link to post
Share on other sites
water

If it works then it is nice :)

BTW: I think everyone misunderstod your question.

You want to tab backward and forward.

We thought you wanted to change the sequence the tab key jumps to the next control. Means: Control1 -> Control2 -> Control3 to Control1 -> Control3 -> Control2 or something similar.


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2018-12-03 - Version 1.4.11.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-10-31 - Version 1.3.4.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Share this post


Link to post
Share on other sites
sirWimelef

well both things are linked if I have the controls in the order that I want the tab will work backward and forward correctly

that hotthey is just a trick to avoid the problem not to solve it

Edited by sirWimelef

Share this post


Link to post
Share on other sites
water

Changing the tab order is only possible by rearranging the controls (at least I didn't find any other information on the forum).

So if you need to change the sequence of controls you need to rebuild the GUI.


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2018-12-03 - Version 1.4.11.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-10-31 - Version 1.3.4.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Share this post


Link to post
Share on other sites
sirWimelef

well as someone wiser then me say "if work dont touch it" 

thx for all

Share this post


Link to post
Share on other sites
water

:)


My UDFs and Tutorials:

Spoiler

UDFs:
Active Directory (NEW 2018-12-03 - Version 1.4.11.0) - Download - General Help & Support - Example Scripts - Wiki
OutlookEX (2018-10-31 - Version 1.3.4.1) - Download - General Help & Support - Example Scripts - Wiki
ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts
PowerPoint (2017-06-06 - Version 0.0.5.0) - Download - General Help & Support
Excel - Example Scripts - Wiki
Word - Wiki
 
Tutorials:

ADO - Wiki

 

Share this post


Link to post
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
Sign in to follow this  

×