s_oliver

FileOpenDialog Help

6 posts in this topic

Hello,

I have written a script, where I can select a file, search for a string and replace it, and then execute a command.

As far it works.  I have a problem with this when the selected file is located in a folder where blank spaces are contained.  And most folders in which we work also have blank spaces :/

 

My question to the community now is:

Instead of having to select the file with FileOpenDialog, it should be enough to use open file with in Windows Explorer.  How do I implement this?

What should I do with folders where blank spaces are?

 

#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <File.au3>

Local $sFind = "FIND"
Local $sReplace = "REPLACE"

replace()

Func replace()
    Local Const $sMessage = "Wähle die VIP Datei aus, die du pdfisieren möchtest"

    ; Display an open dialog to select a file.
    Local $sFileOpenDialog = FileOpenDialog($sMessage, "C:\Users\" & @Username & "\Desktop", "All (*.vip)", $FD_FILEMUSTEXIST)
    If @error Then
        ; Display the error message.
        MsgBox($MB_SYSTEMMODAL, "", "Keine Datei ausgewählt.")
        FileChangeDir(@ScriptDir)
    Else
        FileChangeDir(@ScriptDir)

        $sFileOpenDialog = StringReplace($sFileOpenDialog, "|", @CRLF)
            _ReplaceStringInFile($sFileOpenDialog, $sFind, $sReplace)
            $CMD = @ProgramFilesDir & "\Adobe\Acrobat 10.0\Acrobat\acrodist.exe" & " /f " & $sFileOpenDialog
            RunWait($CMD)
    EndIf
EndFunc

 

 

Share this post


Link to post
Share on other sites



s_oliver,

I have no problems using FileOpenDialog when the folder name includes spaces, so can you be more explicit about the problem you are finding.

M23


Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

Could be a problem with the $CMD string. does $sFileOpenDialog not need to be quoted?

Share this post


Link to post
Share on other sites
8 hours ago, benners said:

Could be a problem with the $CMD string. does $sFileOpenDialog not need to be quoted?

I would suspect this as well.  Try wrapping the EXE and parameter paths with double quotes.

$CMD = '"' & @ProgramFilesDir & '\Adobe\Acrobat 10.0\Acrobat\acrodist.exe" /f "' & $sFileOpenDialog & '"'


 

Share this post


Link to post
Share on other sites

You are right. The last step has caused this error. With the quotes it works now.

One more question: Would it also work with "FileOpen" so i can use it with "open file with" in Windows Explorer?

Thanks in advance

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