tastuser
Goto Top

Powershell Excel bestimmten Inhalt löschen

Hallo!

Ich habe eine Excel-Tabelle (Tabelle1), die in Zellen B3 bis B15 und D3 bis D15 ein ü enthält. Dieses ü möchte ich mit einem Powershell-Skript löschen.
Kann mir da jemand bitte helfen ?

Content-ID: 284993

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

Ausgedruckt am: 14.11.2024 um 19:11 Uhr

114757
Lösung 114757 08.10.2015, aktualisiert am 20.10.2015 um 12:15:30 Uhr
Goto Top
$objExcel = New-Object -ComObject Excel.Application
$objExcel.Visible = $true
$wb = $objExcel.Workbooks.Open("C:\Mappe1.xlsx")  
$ws = $wb.Worksheets.Item(1)

$ws.Range("B3:B15;D3:D15").Cells | %{  
    $_.Value2 = $_.Value2.Replace("ü","")  
}

Gruß jodel32
Tastuser
Tastuser 08.10.2015 um 13:57:16 Uhr
Goto Top
Kommt leider folgende Fehlermeldung:

New-Object : Die COM-Klassenfactory für die Komponente mit CLSID {00000000-0000-0000-0000-000000000000} konnte aufgrund des folgenden Fehlers nicht 
abgerufen werden: 80040154 Klasse nicht registriert (Ausnahme von HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
In Zeile:1 Zeichen:13
+ $objExcel = New-Object -ComObject Excel.Application
+             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (:) [New-Object], COMException
    + FullyQualifiedErrorId : NoCOMClassIdentified,Microsoft.PowerShell.Commands.NewObjectCommand
 
Die Eigenschaft "Visible" wurde für dieses Objekt nicht gefunden. Vergewissern Sie sich, dass die Eigenschaft vorhanden ist und festgelegt werden kann.  
In Zeile:2 Zeichen:1
+ $objExcel.Visible = $true
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) , RuntimeException
    + FullyQualifiedErrorId : PropertyNotFound
 
Es ist nicht möglich, eine Methode für einen Ausdruck aufzurufen, der den NULL hat.
In Zeile:3 Zeichen:1
+ $wb = $objExcel.Workbooks.Open("C:\Users\Benutzer\Desktop\Mappe1.xlsx")  
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) , RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull
 
Es ist nicht möglich, eine Methode für einen Ausdruck aufzurufen, der den NULL hat.
In Zeile:4 Zeichen:1
+ $ws = $wb.Worksheets.Item(1)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) , RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull
 
Es ist nicht möglich, eine Methode für einen Ausdruck aufzurufen, der den NULL hat.
In Zeile:6 Zeichen:1
+ $ws.Range("B3:B15;D3:D15").Cells | %{  
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) , RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull
 
114757
Lösung 114757 08.10.2015, aktualisiert am 20.10.2015 um 12:15:19 Uhr
Goto Top
80040154 Klasse nicht registriert (Ausnahme von HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
Der Fehler kommt nur wenn auf diesem System kein Excel installiert ist !! Oder die Installation korrupt ist.
Excel muss installiert sein damit das obige Skript läuft.

Siehst du auch hier:
Per Powershell Excel Tabellen erstellen
Tastuser
Tastuser 08.10.2015 um 14:16:19 Uhr
Goto Top
Ach so, hatte immer einen Testserver aber ohne MS Office und es dort getestet
Teste ich später zu Hause richtig