tobias1234
Goto Top

Gehe zu ersten Excel-Tabelle nach add-Workbooks

Hallo Zusammen,

ich beschäftige mich erst seit kurzem mit powershell habe aber jetzt "hoffentlich nur" ein kleines Problem bei dem ihr mir bestimmt helfen könnt. face-wink

Das folgende Script bewirkt das aus allen Exceldateien aus einem Ordner die jeweiligen Arbeitsmappen in ein Template kopiert werden.
Das funktioniert soweit auch ganz ordentlich.

hier klemmts:
Nach dem kopieren möchte ich das ein bestimmtes Tabellenblatt angezeigt wird.
in diesem Beispiel "Tabelle1"

erfolglos habe ich es mit diesem probiert
$Worksheet=$Workbook.Sheets.Item("Tabelle1")  
$Worksheet.Activate

hier das ganze script
$ExcelObject=New-Object -ComObject excel.application
$ExcelObject.visible = $true
$ExcelFiles=Get-ChildItem -Path "C:\tmp"  
$ExcelTarget="C:\NewTemp.xlsx"  

$Workbook=$ExcelObject.Workbooks.add($ExcelTarget)


$last_ws = $Workbook.Worksheets.Item($Workbook.Worksheets.Count)
$n = [System.Reflection.Missing]::Value
$new_ws = $Workbook.Worksheets.Add($n,$last_ws,$n,$n)


foreach($ExcelFile in $ExcelFiles){
$Everyexcel=$ExcelObject.Workbooks.Open($ExcelFile.FullName)
$Everysheet=$Everyexcel.sheets.item(1)

$Everysheet.Copy($new_ws)
$Everyexcel.Close()
} 

$Worksheet=$Workbook.Sheets.Item("Tabelle1")  
$Worksheet.Activate
break

Jemand einen Vorschlag/Idee/Lösung?

viele Grüße Tobias

Content-ID: 7760864361

Url: https://administrator.de/contentid/7760864361

Ausgedruckt am: 04.12.2024 um 19:12 Uhr

Meierjo
Meierjo 06.07.2023 aktualisiert um 14:32:23 Uhr
Goto Top
Hallo
$Worksheet=$Workbook.Worksheets.Item("Tabelle1")  
$Worksheet.Activate

Hast du das schon probiert?
Gruss
Tobias1234
Lösung Tobias1234 06.07.2023 um 15:35:52 Uhr
Goto Top
hi

fast... die klammer hat gefehlt.

so funktionierts!

$Worksheet=$Workbook.Worksheets.Item("Tabelle1")    
$Worksheet.Activate()


danke für die hilfe Meierjo