Sub ExportRangetoFile()
Dim Rng As Range
Dim WorkRng As Range
Dim xFile As Variant
Dim xFileString As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ActiveSheet.Copy
Application.ActiveSheet.Cells.Clear
WorkRng.Copy Application.ActiveSheet.Range("A1")
Set xFile = CreateObject("Scripting.FileSystemObject")
xFileString = Application.GetSaveAsFilename("", filefilter:="Comma Separated Text (*.CSV), *.CSV")
Application.ActiveWorkbook.SaveAs Filename:=xFileString, FileFormat:=xlCSV, CreateBackup:=False
End Sub
Используйте что-то как FindWindow/FindWindowEx, чтобы найти скрытое окно и получить его дескриптор окна и затем назвать ShowWindow (дескриптор, SW_NORMAL) для отображения его.
Используйте инструмент как Шпион ++ (может быть найден в меню инструментов Visual Studio) найти параметры, которые могут быть переданы FindWindow для определения местоположения желаемого окна.
Использовать вызов API для отправки событий нажатия мыши в системный лоток? WM_SENDMSG SendMessage Google Win32 API для начальной точки
Существует также другой вызов API установки фокуса однажды спина окна.