Script won't work properly with FILTERFLAGS=deselect

Thanks. I learn a lot about scripting to handle selected file, filter them, select from script, etc.

Issue is fixed in the last version that work like a charm.

Here is a sample code to show how I handle this. You can test it in a button.

[code]@disablenosel
@filesonly

@script vbscript
' This sample script show you how you can filter selected files by their metadata type
' and handle them to do stuff you need.

Function OnClick(ByRef ClickData)

' ============================================================================
'                         INITIATE VARIABLES & OBJECT
' ============================================================================
Set cmd = ClickData.Func.command
Set srce = ClickData.Func.sourcetab

' ============================================================================
'                         FILTER FILES TO BE PROCESSED
' ============================================================================
DOpus.Output ""
DOpus.Output "============================================================================"
DOpus.Output ""
DOpus.Output "Selected files BEFORE filter : " & srce.selected_files.count
DOpus.Output "Files that will actually be processed BEFORE filter : " & cmd.files.count
cmd.ClearFiles ' All items are removed from the collection so only image files will be added next
DOpus.Output ""
DOpus.Output "FILTERING…"
DOpus.Output ""
n = 1
For Each f In srce.selected_files
    ' If a selected file can handle GPS metadata, it will be added to files to process
    If (f.metadata = "image") then
        cmd.AddFile(f)
        DOpus.Output n & ". """ & f.name & """ will be processed"
    End if
    n = n+1
Next
DOpus.Output ""
' Select files in the active tab that will actually be processed
cmd.RunCommand("Select FROMSCRIPT DESELECTNOMATCH MAKEVISIBLE")
srce.Update ' Synchronize changes made by the previous select command to the sourcetab object. It can be useful if you need to use this object later.
DOpus.Output "Selected files AFTER filter : " & srce.selected_files.count
DOpus.Output "Files that will actually be processed AFTER filter : " & cmd.files.count

' Check if at least 1 file is selected to continue else warn and exit.
If cmd.files.count < 1 Then
    Set dlg = ClickData.Func.Dlg
    dlg.Request "No file selected or no valid file to process."  & vbCrLf & "Please select at least 1 image file and run the command again", "OK"
    Set dlg = Nothing ' destroy dialog
    Exit Function
End If

' Go on with what you need to do with those files next.
' Now any cmd.RunCommand will apply to the files that are actually selected.

End Function
[/code]