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
Please also mark the comments that contributed to the solution of the article
Content-Key: 387051
Url: https://administrator.de/contentid/387051
Printed on: April 24, 2024 at 12:04 o'clock
4 Comments
Latest comment
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}