If you are sneaky, you can do this.
Instead of open file, try using Insert File with the store by reference option selected. This pulls up the same dialog and inserts the filepath into a container field and you can then extract the filename from the container field. GetValue ( ContainerFIeld ; 3 ) will return the filepath.
With Set Error Capture [on] preceding this step, you can even use Get ( LastError ) immediately after the insert file step to check and see if the user clicked cancel.