Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Word Powershell Befehle

Frage Entwicklung Batch & Shell

Mitglied: mguenth83

mguenth83 (Level 1) - Jetzt verbinden

21.07.2014 um 08:32 Uhr, 3046 Aufrufe, 2 Kommentare

Hi,
wollte kurz fragen ob jemand den Befehl für ein "Backspace" kennt.
Habe schon viele Seiten wo Powershell mit Word dokumentiert ist aber der Befehl stand nirgends dabei.
Des weiteren suche ich den Befehl um in einer Tabelle die Umrandungen zu programmieren

Falls sich jemand dazu auskennt wäre ich sehr dankbar ^^

Gruß
Matze
Mitglied: colinardo
21.07.2014, aktualisiert 22.07.2014
Hallo Matze,
ich vermute mal das es bei deinem Thema um Word-Automation via COM-Objekt in Powershell geht ?!
Wenn du schon mal mit VBA in Word gearbeitet hast ist das kein Problem, denn die Befehle lassen sich fast eins zu eins in eine COM-Automation in Powershell übernehmen. Deine erste Anlaufstelle ist also die VBA-Referenz für Word (s.u.). Hierbei sind Word-Konstanten in deren tatsächliche Integer-Werte umzuwandeln. Diese kannst du dir in Word im VBA-Editor im Direktbereich anzeigen lassen indem du dort z.B. folgendes hinein schreibst: debug.print wdCharacter

Hier ein Beispiel das eine Tabelle mit 5 Spalten und 5 Zeilen erstellt, dieser Tabelle einen Rahmen zuweist, dann hinter die Tabelle einen Text schreibt und vom letzen Wort des Textes einen Buchstaben entfernt:
01.
# Word Objekt erzeugen 
02.
$word = new-object -ComObject Word.Application 
03.
# Word sichtbar machen 
04.
$word.Visible = $true 
05.
# neues Dokument erzeugen 
06.
$doc = $word.Documents.Add() 
07.
# neue Tabelle erzeugen 
08.
$tbl = $doc.Tables.Add($doc.Content,5,5) 
09.
# Äußeren Tabellenrand  sichtbar machen 
10.
$tbl.Borders.Enable = $true 
11.
# Beispiel um die inneren Trennlinien in einem anderen Linienstil zu formatieren 
12.
$tbl.Borders.InsideLineStyle = 2 
13.
 
14.
# Beispielinhalte in die Tabelle schreiben 
15.
$tbl.Cell(1, 1).Range.Text = "Montag" 
16.
$tbl.Cell(1, 2).Range.Text = "Dienstag" 
17.
$tbl.Cell(1, 3).Range.Text = "Mittwoch" 
18.
$tbl.Cell(1, 4).Range.Text = "Donnerstag" 
19.
$tbl.Cell(1, 5).Range.Text = "Freitag" 
20.
 
21.
# Überschriftenzeile formatieren 
22.
$tbl.Rows.Item(1).Range.Cells.VerticalAlignment = 1 # wdCellAlignVerticalCenter 
23.
$tbl.Rows.Item(1).Range.ParagraphFormat.Alignment = 1 # wdAlignParagraphCenter 
24.
$tbl.Rows.Item(1).Range.ParagraphFormat.SpaceAfter = 0 # Absatzabstand entfernen 
25.
$tbl.Rows.Item(1).Range.Bold = $true # fett machen 
26.
 
27.
# text am Ende hinzufügen und vom letzen Wort ein Zeichen löschen 
28.
$myRange = $doc.Content 
29.
$myRange.Collapse(0) #wdCollapseEnd 
30.
$myRange.Text = "Das ist ein Testx" 
31.
$myRange.Collapse(0) # Aktuelle Markierung ans Ende des Bereichs verschieben 
32.
$myRange.Move(1, -1) # 1 = wdCharacter 
33.
$myRange.Expand(1) # 1 = wdCharacter 
34.
$myRange.Delete() # letztes Zeichen löschen
Die Tabellenränder lassen sich natürlich auch alle einzeln detailliert formatieren. Mehr dazu findest du in der Word-Referenz im Table-Objekt

Bitte unbedingt beachten wenn du für deine Tests die Powershell ISE benutzt: Diese ist absolut ungeeignet für eine vernünftige Arbeit mit COM-Automation und Office. Hier kommt es regelmäßig zu kuriosen Fehlerbildern, die verschwinden sobald du dein Script in einer normalen Powershell-Session ausführst ! Bei obigem Script würdest du z.B. bei Ausführung in der ISE, einen Fehler beim Abschnitt für die Formatierung der Überschriften bekommen. Also speichere es als Script und führe es in einer normalen Powershell-Session aus.


Grüße Uwe
Bitte warten ..
Ähnliche Inhalte
Windows Server
Word-Dokument mit Powershell bearbeiten
gelöst Frage von Peter0816Windows Server5 Kommentare

Hallo, ich würde gerne ein Worddokument, welches ich mit Variablen versehen habe, durch Werte mit Powershell ersetzten. Hatte mir ...

Exchange Server
Exchange2013-Befehle zu Powershell ISE hinzufügen
gelöst Frage von Fenris14Exchange Server6 Kommentare

Hallo, hätte da mal ne kurze Frage: Gibt es noch die Möglichkeit die cmdlets von Exchange2013 unter der Powershell ...

Windows 7
Powershell remote CMD Befehle ausführen
Frage von today12Windows 75 Kommentare

Hallo Leute, da ich nach stundenlanger Sucher nicht fündig geworden bin, hoffe ich jetzt auf eure Unterstützung. Als Beispiel ...

Batch & Shell
PowerShell: ACL-Befehle als User ausführen
Frage von playmenBatch & Shell3 Kommentare

Guten Morgen allerseits Ich habe ein PowerShell Skript geschrieben welches unter anderem die Aufgabe hat Daten aus einem Ordner ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Necur-Botnet soll Erpressungstrojaner Scarab massenhaft verbreiten

Information von BassFishFox vor 12 StundenErkennung und -Abwehr

12,5 Millionen Spam-Mails aus einem Bot-Netz mit 6 Millionen Computern? Eigentlich eine schwache Leistung. Die Erpresser setzen dabei auf ...

Microsoft

Nadeldrucker-Problem unter Windows - Microsoft liefert Updates

Information von BassFishFox vor 12 StundenMicrosoft

Hat ja nicht lange gedauert. Nachdem die November-Updates für Windows 7, 8.1 und 10 zahlreiche Nadeldrucker lahmgelegt hatten, stellt ...

Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 20 StundenLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Heiß diskutierte Inhalte
Windows Server
Kann man im KMS nachschauen , wieviele Clients den Key in Anspruch genommen haben
gelöst Frage von rainergugusWindows Server15 Kommentare

Hallo, wir haben einen KMS Windows 10 Key. Dieser ist ja W7 kompatibel. Aber unser Windows 7 Pool registriert ...

Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...