Powershell Fehlercode kann ich nicht beheben?
Hallo zusammen,
Ich habe ein Powershell Script, welches die Informationen in einem Excel File füllen soll.
$objexcel=New-Object -ComObject Excel.Application
$workbook=$objexcel.WorkBooks.Open('C:\Users\Thoma\OneDrive\Desktop\CSGO Market\webauslesen.xlsx')
$workbook.worksheets.item("$item").activate()
$objexcel.Visible=$true
$worksheet.Cells.Item(1,1)=$item
$worksheet.Cells.Item(3,2)=Get-Date -Format f
$worksheet.Cells.Item(3,3)=$kauf_preis1
$worksheet.Cells.Item(3,4)=$kauf_anzahl1
$worksheet.Cells.Item(3,5)=$verkauf_anzahl1
$workbook.Save
Die Variablel $item ist ein String und bekam oben den Text "breakout_case" zugewiesen. $worksheet habe ich oben in den Wert 1 zugewiesen.
In der Vorlage, welche ich verwendet habe, wurde $worksheet der Wert des $workbook zugewiesen. Aber auch das funktioniert nicht.
Ich kann mir nicht vorstellen, was der Fehler sein könnte. Ich Danke euch bereits für eure Mühe.
![](https://images.gutefrage.net/media/user/MatthiasHerz/1568025620185_nmmslarge__1642_0_857_857_4abb6a047c43b99276216ac3aee7622a.jpg?v=1568025620000)
Wie lauten Fehlercode und genaue Fehlermeldung?
![](https://images.gutefrage.net/media/default/user/14_nmmslarge.png?v=1551279448000)
Kannst du oben nicht auf das Bild klicken? Sollte eigentlich erscheinen.
Fehlermeldung:
Es ist nicht möglich, eine Methode für einen Ausdruck aufzurufen, der den NULL hat.
3 Antworten
![](https://images.gutefrage.net/media/user/geri3d/1445246679564_nmmslarge__92_208_1652_1652_70c8a924950b847ddd012ca7a0648a93.jpg?v=1445246680000)
Ich sehe einen Fehler in der ersten Zeile, die müsste so aussehen:
$objexcel=New -Object -ComObject Excel.Application
aber ich kann mich irren nur so sieht es normal aus in anderen Sprachen.
![](https://images.gutefrage.net/media/user/Erzesel/1497339133085_nmmslarge__0_524_1080_1080_4b38ff31970de3b94deb6a27ca8a8f01.jpg?v=1497339133000)
...ähm? Das ist PowershellScript?
Du irrst...😉
![](https://images.gutefrage.net/media/user/Erzesel/1497339133085_nmmslarge__0_524_1080_1080_4b38ff31970de3b94deb6a27ca8a8f01.jpg?v=1497339133000)
Ich kann leider nur einen Schuß ins Blaue machen (ich habe Exel nicht installiert (und so soll es auch bleiben!))
$workbook.worksheets.item("$item").activate()
.worksheets('string').activate() erwartet erstmal in der Klammen einen String mit dem Namen des Sheets
$item ist jedoch überhaupt nicht definiert (also $null)...
![](https://images.gutefrage.net/media/user/MatthiasHerz/1568025620185_nmmslarge__1642_0_857_857_4abb6a047c43b99276216ac3aee7622a.jpg?v=1568025620000)
Du hast
$worksheet
nicht deklariert, weswegen in jeder der fünf Zeilen, die damit beginnen, das $-Zeichen als Fehler angezeigt wird.
![](https://images.gutefrage.net/media/user/MatthiasHerz/1568025620185_nmmslarge__1642_0_857_857_4abb6a047c43b99276216ac3aee7622a.jpg?v=1568025620000)
Und wie sollen dann die Felder zustandekommen, wenn Du
$worksheet
offensichtlich als Zahl deklariert hast?
Aber vielleicht irre ich, ich nutze kein PowerShell.
wie kann ich das deklarieren?
Ich habe dieser Variabel zu Beginn den Wert 1 zugewiesen
[string]$worksheet = 1