Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
GELÖST

Word VBA - Powershell - Seitenzahlen - jede Seite

Frage Entwicklung Batch & Shell

Mitglied: internet2107

internet2107 (Level 1) - Jetzt verbinden

25.11.2014 um 13:59 Uhr, 1308 Aufrufe, 2 Kommentare, 1 Danke

Man möchte gerne bestehende Worddokumente entsprechend ändern (mit POwershell), dass folgende Zusätze eingebaut werden.

Ich finde Unmengen an Material zu Excel VBA, was ich in der Vergangenheit auch schon mal gemacht habe, aber bei Word sieht es sehr mau aus.

Ich habe folgenden Code. Dieser öffnet im aktuellen Fall ein WordDoc, fügt in der Fußzeile eine Seitenzahl hinzu und schreibt aktuell NUR auf der ersten Seite die Bezeichnung des Docs.

Wunsch ist aber:

- Seitenzahlen im Footer (Seite x von y)
- Bezeichnung des Dokuments auf jeder Seite des Docs im Kopf

01.
$objword = New-Object -ComObject word.application 
02.
set-variable -name wdAlignPageNumberCenter -value 1 -option constant 
03.
$objword.visible = $false 
04.
 
05.
$doc = $objword.documents.Open($word_dat.FullName) 
06.
$objword.selection.pagesetup.topmargin = 30 
07.
$objword.selection.pagesetup.leftmargin = 20 
08.
$objword.selection.pagesetup.rightmargin = 10 
09.
$objword.selection.pagesetup.bottommargin = 30 
10.
$printout_pagesize = "A2" 
11.
$selection = $objword.Selection 
12.
$selection.Font.Name = "Arial" 
13.
$selection.Font.Size = "9" 
14.
$selection.TypeText((Get-Date)) 
15.
$selection.TypeParagraph() 
16.
$selection.TypeText($word_dat.FullName) 
17.
$selection.TypeParagraph() 
18.
$selection.PageSetup.PaperSize = [Microsoft.Office.Interop.Word.WdPaperSize]::$printout_pagesize 
19.
$selection.PageSetup.Orientation = "Querformat" 
20.
$doc.Sections.Item(1).Footers.Item(1).PageNumbers.Add($wdAlignPageNumberCenter) 
21.
 
Vielen Dank.
Mitglied: 114757
25.11.2014, aktualisiert um 15:13 Uhr
01.
# Header setzen  
02.
$doc.Sections.Item(1).Headers.Item(1).Range.Select() 
03.
$objWord.Selection.Paragraphs.Item(1).Alignment = 1  # center 
04.
$objWord.Selection.Font.Name = "Arial" 
05.
$objWord.Selection.Font.Size = "9" 
06.
$objWord.Selection.Text = $word_dat.FullName 
07.
 
08.
# Footer setzen 
09.
$doc.Sections.Item(1).Footers.Item(1).Range.Select() 
10.
$objWord.Selection.Paragraphs.Item(1).Alignment = 1   #center 
11.
$objWord.Selection.Font.Name = "Arial" 
12.
$objWord.Selection.Font.Size = "9" 
13.
$objWord.Selection.TypeText("Seite ") 
14.
$objWord.Selection.Fields.Add($objWord.Selection.Range,-1,"PAGE") 
15.
$objWord.Selection.TypeText(" von ") 
16.
$objWord.Selection.Fields.Add($objWord.Selection.Range,-1,"NUMPAGES")
Zur Info: Wenn du nach VBA suchst, findest du mehr Info zu Word, welches du dann fast 1 zu 1 in Powershell umsetzen kannst.

Gruß jodel32
Bitte warten ..
Mitglied: internet2107
25.11.2014 um 16:07 Uhr
Viele Grüße, jodel32.

DANKE!!. Hat sehr geholfen.
Bitte warten ..
Ähnliche Inhalte
VB for Applications
Powershell Script aus VBA heraus ausführen (2)

Frage von mcnico1978 zum Thema VB for Applications ...

Drucker und Scanner
Seitenzahl auslesen Canon Pixma MX350? (8)

Frage von Linuxguru zum Thema Drucker und Scanner ...

VB for Applications
gelöst Suche in Word (2)

Frage von MarcoBorn zum Thema VB for Applications ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(2)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (19)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Windows Server
gelöst Neues KB für W10 1607 und W2K16 wieder mal nicht im WSUS 3.0, hat das noch jemand? (16)

Frage von departure69 zum Thema Windows Server ...

Windows Server
DC virtualisieren + wie sichern (SingleDC-Environment) (12)

Frage von KMUlife zum Thema Windows Server ...

Festplatten, SSD, Raid
RAID Controller mit Trim-Funktion, wie ermitteln (11)

Frage von pixel24 zum Thema Festplatten, SSD, Raid ...