excel - 不重复 - 从 IE 下载文件后如何在 Window Explorer 中设置文件路径
问题描述
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
解决方案
推荐阅读
- java - 使用 maven 从 nexus 访问已部署的库
- wordpress - 如何在 Bitnami Wordpress 中设置重写规则
- git - 工作文件在添加到登台后会被修改。然后将文件提交给 git 并添加。应该发生什么?
- aws-lambda - 在 aws 上处理会话流
- python - 从 Python 上的 IMU 传感器获取 3D 位置坐标
- javascript - React js重定向功能
- c# - 在 x64 中运行时对象没有被垃圾收集
- python-3.x - 单元/功能测试与验证器
- bigcommerce - 我如何从结帐页面 Bigcommerce 中隐藏“税款”
- javascript - 如何从 google appscript 中的另一个 html 页面调用另一个 HTML 页面