This sample script shows you how you can filter selected files by their metadata type and handle them to do stuff you need.
You can test it in a button.
I hope it will help someone to start with a similar project.
@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 ' ============================================================================ ' DO YOUR STUFF ' ============================================================================ ' 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