在VBA单击另存为之后,出现窗口,我希望能够设置文件路径。我尝试使用ChDir()并使用winhttp直接下载,但是对此都无效。我的代码来源为:https://www.mrexcel.com/forum/excel-questions/502298-need-help-regarding-ie-automation-using-vba-3.html
我认为在文件资源管理器的顶部窗口(路径窗口)中,找出任何如何设置文件路径的帮助都会有用。
***这不是一个重复的问题。在此网站上无法进行WINHTTP下载。
以下是我目前正在尝试的操作,但不会更改文件浏览器窗口中的文件路径,而只会在“文件名”窗口中添加文件路径,而不会更改文件的保存位置。
Private Sub Save_As_Set_Filename(ByRef ZipfileName)
Dim hwnd As Long
Dim timeout As Date
Dim fullFilename As String
'Find the Save As window, waiting a maximum of 10 seconds for it to appear
timeout = Now + TimeValue("00:00:10")
Do
hwnd = FindWindow("#32770", "Save As")
DoEvents
Sleep 300
Loop Until hwnd Or Now > timeout
If hwnd Then
SetForegroundWindow hwnd
'Find the child DUIViewWndClassName window
hwnd = FindWindowEx(hwnd, 0, "DUIViewWndClassName", vbNullString)
End If
If hwnd Then
SetForegroundWindow hwnd
'Find the child DirectUIHWND window
hwnd = FindWindowEx(hwnd, 0, "DirectUIHWND", "")
End If
If hwnd Then
'Find the child FloatNotifySink window
hwnd = FindWindowEx(hwnd, 0, "FloatNotifySink", "")
End If
If hwnd Then
'Find the child ComboBox window
hwnd = FindWindowEx(hwnd, 0, "ComboBox", "")
End If
If hwnd Then
'Find the child Edit window
hwnd = FindWindowEx(hwnd, 0, "Edit", "")
End If
If hwnd Then
ZipfileName = Get_Window_Text(hwnd)
'If specified, ensure folder ends with \
folder = Environ("USERPROFILE") & "\Downloads\"
If folder <> "" And Right(folder, 1) <> "\" Then folder = folder & "\"
fullFilename = folder & ZipfileName
'Populate the Edit window with the full file name
Sleep 300
SetForegroundWindow hwnd
SendMessageByString hwnd, WM_SETTEXT, Len(fullFilename ), fullFilename
End If
End Sub