s_oliver Posted February 21, 2017 Posted February 21, 2017 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
Moderators Melba23 Posted February 21, 2017 Moderators Posted February 21, 2017 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 Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
benners Posted February 21, 2017 Posted February 21, 2017 Could be a problem with the $CMD string. does $sFileOpenDialog not need to be quoted?
spudw2k Posted February 22, 2017 Posted February 22, 2017 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 & '"' Spoiler Things I've Made: Always On Top Tool ◊ AU History ◊ Deck of Cards ◊ HideIt ◊ ICU ◊ Icon Freezer ◊ Ipod Ejector ◊ Junos Configuration Explorer ◊ Link Downloader ◊ MD5 Folder Enumerator ◊ PassGen ◊ Ping Tool ◊ Quick NIC ◊ Read OCR ◊ RemoteIT ◊ SchTasksGui ◊ SpyCam ◊ System Scan Report Tool ◊ System UpTime ◊ Transparency Machine ◊ VMWare ESX Builder Misc Code Snippets: ADODB Example ◊ CheckHover ◊ Detect SafeMode ◊ DynEnumArray ◊ GetNetStatData ◊ HashArray ◊ IsBetweenDates ◊ Local Admins ◊ Make Choice ◊ Recursive File List ◊ Remove Sizebox Style ◊ Retrieve PNPDeviceID ◊ Retrieve SysListView32 Contents ◊ Set IE Homepage ◊ Tickle Expired Password ◊ Transpose Array Projects: Drive Space Usage GUI ◊ LEDkIT ◊ Plasma_kIt ◊ Scan Engine Builder ◊ SpeeDBurner ◊ SubnetCalc Cool Stuff: AutoItObject UDF ◊ Extract Icon From Proc ◊ GuiCtrlFontRotate ◊ Hex Edit Funcs ◊ Run binary ◊ Service_UDF
s_oliver Posted February 22, 2017 Author Posted February 22, 2017 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
spudw2k Posted February 22, 2017 Posted February 22, 2017 I'm not clear on what you are asking. Can you rephrase the question? Spoiler Things I've Made: Always On Top Tool ◊ AU History ◊ Deck of Cards ◊ HideIt ◊ ICU ◊ Icon Freezer ◊ Ipod Ejector ◊ Junos Configuration Explorer ◊ Link Downloader ◊ MD5 Folder Enumerator ◊ PassGen ◊ Ping Tool ◊ Quick NIC ◊ Read OCR ◊ RemoteIT ◊ SchTasksGui ◊ SpyCam ◊ System Scan Report Tool ◊ System UpTime ◊ Transparency Machine ◊ VMWare ESX Builder Misc Code Snippets: ADODB Example ◊ CheckHover ◊ Detect SafeMode ◊ DynEnumArray ◊ GetNetStatData ◊ HashArray ◊ IsBetweenDates ◊ Local Admins ◊ Make Choice ◊ Recursive File List ◊ Remove Sizebox Style ◊ Retrieve PNPDeviceID ◊ Retrieve SysListView32 Contents ◊ Set IE Homepage ◊ Tickle Expired Password ◊ Transpose Array Projects: Drive Space Usage GUI ◊ LEDkIT ◊ Plasma_kIt ◊ Scan Engine Builder ◊ SpeeDBurner ◊ SubnetCalc Cool Stuff: AutoItObject UDF ◊ Extract Icon From Proc ◊ GuiCtrlFontRotate ◊ Hex Edit Funcs ◊ Run binary ◊ Service_UDF
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now