Юра1987, здравствуйте. Все работает, как заказывали(почти). Решение еле нашел.
Небольшие особенности работы скрипта:
1) если открыто
одно окно проводника, но оно свернуто, то файл будет создан в том
свернутом окне
2) если открыто два или более окон и одно из окон проводника активно, то файл будет создан в активном окне
3) если открыто два или более окон и все окна проводника свернуты, то файл будет создан в
последнем активном окне
4) если проводник
закрыт, то файл будет создан на рабочем столе
Код |
---|
Option Explicit
Dim WshShell,objWebBrowser,strPath,strFileName,strFileExtension,objExcel,objWorkbook,objFso
strPath = ""
For Each objWebBrowser In WScript.CreateObject("Shell.Application").Windows
If InStr(1, TypeName(objWebBrowser.Document), "ShellFolderViewDual", vbTextCompare) > 0 Then
'WScript.Echo objWebBrowser.Document.Folder.self.Path
strPath = objWebBrowser.Document.Folder.self.Path
End If
Next
Set WshShell = CreateObject("WScript.Shell")
If strPath = "" Then
strPath = WshShell.SpecialFolders("Desktop")
End If
'strPath = WshShell.CurrentDirectory
Set objFso = CreateObject("Scripting.FileSystemObject")
strFileExtension = ".xlsx"
If Right(strPath, 1) = "\" Then
strFileName = "Book"
Else
strFileName = "\Book"
End If
If objFso.FileExists(strPath & strFileName & strFileExtension) Then
strFileName = strFileName & "_" & Now
End If
Set objFso = Nothing
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = False
Set objWorkbook = objExcel.Workbooks.Add()
objWorkbook.SaveAs(strPath & Replace(strFileName, ":", "-") & strFileExtension)
objExcel.Quit
|