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-Key: 284993

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

Printed on: April 23, 2024 at 15:04 o'clock

Mitglied: 114757
Solution 114757 Oct 08, 2015, updated at Oct 20, 2015 at 10:15:30 (UTC)
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
Member: Tastuser
Tastuser Oct 08, 2015 at 11:57:16 (UTC)
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
 
Mitglied: 114757
Solution 114757 Oct 08, 2015, updated at Oct 20, 2015 at 10:15:19 (UTC)
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
Member: Tastuser
Tastuser Oct 08, 2015 at 12:16:19 (UTC)
Goto Top
Ach so, hatte immer einen Testserver aber ohne MS Office und es dort getestet
Teste ich später zu Hause richtig