Powershell zeile ohne inhalt löschen
Hallo Community,
ich versuche über PowerShell eine Excelliste zu bearbeiten. Diese wird als xlsx geöffnet soll bearbeitet werden und danach gespeichert werden.
soweit ganz gut, dass bekomme ich auch alles soweit hin, bis auf
nun möchte ich noch alle Zeilen die im Feld E2:E200 ohne "n" sind, quasi leer bleiben, gelöscht werden. Leider bekomme ich da nicht die Richtige Lösung.
zudem habe ich noch ein zweites Problem.
ich versuche noch in einem zweiten Part eine Kalender Woche in ein datum umzuwandeln dabei bekomme ich zahelen wie 43407 ausgegeben wenn ich diese in excel als Datum umwandle bekomme ich alles korrekt aus gegeben wenn ich es über PowerShell
gibt er den Code immer mit datum 25.00.2018 aus. Also der Monat wird immer auf Null gesetzt.
Hilfestellung wäre sehr nett da ich im Netz nichts passendes gefunden habe.
Vielen Dank
ich versuche über PowerShell eine Excelliste zu bearbeiten. Diese wird als xlsx geöffnet soll bearbeitet werden und danach gespeichert werden.
soweit ganz gut, dass bekomme ich auch alles soweit hin, bis auf
$xlCSV = 6
$Excel = New-Object -Com Excel.Application
$Excel.visible = $true
$Excel.displayalerts=$False
$WorkBook = $Excel.Workbooks.Open("Datei")
$sheet = $WorkBook.WorkSheets(1)
$Sheet.Cells.Item(1,5).Value2 = "Feld1"
$range1 = $sheet.Range("E2:E200")
$range1.Formula = "=IF(D2=""teil"",""n"",if(D2=""teil2"",""n"",if(D2=""teil3"",""n"",if(D2=""teil4"",""n"",""""))))"
nun möchte ich noch alle Zeilen die im Feld E2:E200 ohne "n" sind, quasi leer bleiben, gelöscht werden. Leider bekomme ich da nicht die Richtige Lösung.
zudem habe ich noch ein zweites Problem.
ich versuche noch in einem zweiten Part eine Kalender Woche in ein datum umzuwandeln dabei bekomme ich zahelen wie 43407 ausgegeben wenn ich diese in excel als Datum umwandle bekomme ich alles korrekt aus gegeben wenn ich es über PowerShell
$range2 = $sheet.Range("F2:F200").NumberFormat = "TT.mm.JJJJ"
gibt er den Code immer mit datum 25.00.2018 aus. Also der Monat wird immer auf Null gesetzt.
Hilfestellung wäre sehr nett da ich im Netz nichts passendes gefunden habe.
Vielen Dank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 387051
Url: https://administrator.de/contentid/387051
Ausgedruckt am: 20.11.2024 um 02:11 Uhr
4 Kommentare
Neuester Kommentar
Moin,
allgemein, wenn Du viel mit PS und Excel machen willst, dann google mal nach ExcelImport Powershell. Das Modul ist genial. Damit arbeite ich nur noch, wenn es um Excel geht.
Zur zweiten Frage:
m - Minuten
M - Monat
TT.mm.JJJJ heißt also: Tag zweistellig, Minuten zweistellig, Jahr vierstellig. Schreibe die beiden Ms groß und dann passt das.
Liebe Grüße
Erik
allgemein, wenn Du viel mit PS und Excel machen willst, dann google mal nach ExcelImport Powershell. Das Modul ist genial. Damit arbeite ich nur noch, wenn es um Excel geht.
Zur zweiten Frage:
m - Minuten
M - Monat
TT.mm.JJJJ heißt also: Tag zweistellig, Minuten zweistellig, Jahr vierstellig. Schreibe die beiden Ms groß und dann passt das.
Liebe Grüße
Erik
Servus.
Grüße Uwe
jetzt hänge ich nur noch daran die Zeilen (rows) zu löschen.jetzt hänge ich nur noch daran die Zeilen (rows) zu löschen.
Das ist schnell gemacht und es braucht auch keine Extra Formel dafür, indem man die Begriffe simplerweise direkt in Powershell vergleicht:($ws.Range("D2:D200") | ?{$_.Value() -notmatch '^(teil1|teil2|teil3|teil4)$'}) | %{$_.EntireRow.Delete() | out-null}