Zum Inhalt wechseln


Foto

Excel-Dokument per Powershell

Windows Server 2008 R2

  • Bitte melde dich an um zu Antworten
4 Antworten in diesem Thema

#1 leinadgnom

leinadgnom

    Newbie

  • 18 Beiträge

 

Geschrieben 01. März 2017 - 16:42

#Ordnername ermitteln
$billdate = Get-Date -UFormat %Y%m%d
$path="\\Pfad\x.xlsx"

import-module ActiveDirectory

#Excelobjekt erstellen
$excel = new-object -comobject excel.application
$excel.visible = $False
$excel.DisplayAlerts = $False
$workbook = $excel.Workbooks.Add()

#Ausreichend Tabellenblätter hinzufügen
$ab = $excel.Worksheets.Add()
$bc = $excel.Worksheets.Add()
$de = $excel.Worksheets.Add()

#Tabellenblätter umbenennen
$ab.Name = "ab"
$bc.Name = "bc"
$cd.Name = "cd"

$i = 0

#Speichern und Schließen
$workbook.SaveAs($path)
$workbook.Close()
$Excel.Quit()
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($excel)

Hat wer eine Idee, warum keine Datei erzeugt wird? Es handelt sich um Excel 2010 Std.



#2 BOfH_666

BOfH_666

    Junior Member

  • 133 Beiträge

 

Geschrieben 01. März 2017 - 17:25

Woher hast Du die Methode '*.SaveAs()'?

$excel = new-object -comobject excel.application
$excel | Get-Member | Where-Object -FilterScript {$_.MemberType -eq 'Method' -and $_.Name -like 'save*'}

... bei mir gibt es die gar nicht.

 

Ausgabe:

  TypeName: System.__ComObject#{000208d5-0000-0000-c000-000000000046}

Name          MemberType Definition                  
----          ---------- ----------                  
Save          Method     void Save (Variant)         
SaveWorkspace Method     void SaveWorkspace (Variant)

Bearbeitet von BOfH_666, 01. März 2017 - 17:26.

live long and prosper!

PS:> (79,108,97,102|%{[char]$_})-join''

#3 blub

blub

    Moderator

  • 7.605 Beiträge

 

Geschrieben 01. März 2017 - 20:02

 

Woher hast Du die Methode '*.SaveAs()'?

$excel = new-object -comobject excel.application
$excel | Get-Member | Where-Object -FilterScript {$_.MemberType -eq 'Method' -and $_.Name -like 'save*'}

... bei mir gibt es die gar nicht.

 

 

Weil "SaveAs()" eine Workbook-Methode ist

https://msdn.microso...ok_methods.aspx

 

@To: gibt es eine Fehlermeldung?


Ein Kluger bemerkt alles, Ein Dummer macht über alles eine Bemerkung. (Heinrich Heine)


#4 Dukel

Dukel

    Board Veteran

  • 9.253 Beiträge

 

Geschrieben 01. März 2017 - 20:20

Geht es, wenn das Dokument Lokal gespeichert wird und nicht auf einem Netzwerkpfad?


Stop making stupid people famous.


#5 BOfH_666

BOfH_666

    Junior Member

  • 133 Beiträge

 

Geschrieben 01. März 2017 - 21:33

Weil "SaveAs()" eine Workbook-Methode ist

https://msdn.microso...ok_methods.aspx

 

Ooops ... hab ich tatsächlich übersehen, sorry.

 

Aber ich bekomme schon Fehler beim Umbenennen der Tabellenblätter ... ich vermute mal einen Tippfehler. Erzeugt werden die Tabellenblätter ab, bc und de und umbenannt werden sollen ab, bc und cd


live long and prosper!

PS:> (79,108,97,102|%{[char]$_})-join''