Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno PowerShell - jak přesunout okno do popředí

Pomocí skriptu v PowerShellu potřebuji vytvořit a otevřít soubor CSV v Excelu. Vše funguje bez problémů kromě jediné věci. Nepřišel jsem na to, jak na závěr okno Excelu přesunout do popředí. Takto se Excel spustí, soubor se otevře, ale zůstane minimalizovaný na liště. Jakým příkazem okno Excelu vyvolám do popředí abych na něj nemusel klikat myší na liště?

$xl = new-object -comobject excel.application
$xl.visible = $true
$Workbook = $xl.workbooks.OpenText("$Soubor")
$Worksheets = $Workbooks.worksheets

Předmět Autor Datum
Nezkoušel jsem: http://stackoverflow.com/questions/2556872/how-to- set-foreground-window-from-powers…
Wikan 09.12.2016 09:17
Wikan
Tady jsem nasel trosku jednodussi reseni: http://stackoverflow.com/questions/4993926/maximiz e-windo…
Jan Fiala 09.12.2016 09:35
Jan Fiala
Podařilo se mi to rozhýbat v případě, že se použije NotePad, ale u Excelu mi stále hlásí chyby a nef…
Pavelek 09.12.2016 12:53
Pavelek
Zkus neco takoveho $a = Get-Process | Where-Object {$_.Name -like "excel"} [excel.Interaction]::App…
Jan Fiala 09.12.2016 13:25
Jan Fiala
Tohle sice nefunguje, ale dalo mi to inspiraci a posunulo správným směrem. Funkční je toto: $excelpi…
Pavelek 09.12.2016 14:04
Pavelek
Vidíš a šlo jen o ty 2 řádky, o kterých jsem psal už v první odpovědi ;-)
Jan Fiala 09.12.2016 14:32
Jan Fiala
Takže tady je odzkoušený funkční script pro otevření CSV souboru v Excelu a přesun okna do popředí,… poslední
Pavelek 09.12.2016 17:10
Pavelek

Podařilo se mi to rozhýbat v případě, že se použije NotePad, ale u Excelu mi stále hlásí chyby a nefunguje.
Našel by se tu někdo, kdo by dokázal k těmto třem řádkům, které otevřou nové okno Excelu přidat přesun okna do popředí aby to fungovalo?

$xl = new-object -comobject excel.application
$xl.visible = $true
$Worksheets = $Workbooks.worksheets

Tohle sice nefunguje, ale dalo mi to inspiraci a posunulo správným směrem.
Funkční je toto:
$excelpid = (Get-Process | Where-Object { $_.MainWindowHandle -eq $excel.Hwnd }).Id
[Microsoft.VisualBasic.Interaction]::AppActivate($ excelpid)

Takže problém je vyřešen, díky.

Takže tady je odzkoušený funkční script pro otevření CSV souboru v Excelu a přesun okna do popředí, kdyby to někdo někdy potřeboval:

#otevře vytvořený CSV soubor v Excelu
$excel = new-object -comobject excel.application
$excel.visible = $true
$Workbook = $excel.workbooks.OpenText("$Nazev_CSV_souboru_s_ce stou")
$Worksheets = $Workbooks.worksheets

#aktivuje okno Excelu
[void][System.Reflection.Assembly]::LoadWithPartia lName("'Microsoft.VisualBasic")
$excelpid = (Get-Process | Where-Object { $_.MainWindowHandle -eq $excel.Hwnd }).Id
[Microsoft.VisualBasic.Interaction]::AppActivate($ excelpid)

Zpět do poradny Odpovědět na původní otázku Nahoru