none
Form Felder mit PowerShell editieren RRS feed

  • Frage

  • Hallo

    kann mir bitte jemand bei folgendem Problem helfen:

    Ich möchte in einem Worddokument (Word2010) gewisse Formfelder mit einem PowerShell Skript ändern.

    Z.b. in das Textfeld mit der Bezeichnung 'Computername'  soll dann mittels PowerShell Skript der Tatsächliche Computername eingefügt werden. Im Netz habe ich dazu nur VB Skripts gefunden.

    Danke Luke

    Montag, 26. Januar 2015 13:08

Antworten

  • Hallo Luke!

    VB und PowerShell unterscheiden sich nicht sehr mit bei dem Zugriff auf Office Applikationen und Dokumente.
    Einen Funktionierenden VB Code kann man eigentlich leicht übersetzen.
    Seit Word 2007 gibt es 2 Konzepte für Formulare FormFields und ContentControls.

    Hier ist ein Code wie du herausbekommst was deine Word Datei enthält:

    $document = 'E:\Temp\Form-Template.dotx'
    $Word = New-Object -Com Word.Application
    $Word.Visible = $True
     
    $doc = $word.Documents.Open($document)
    
    
    # Wenn ContentControls im Dokument vorhanden sind
    If($doc.ContentControls.Count -gt 0) {
    
      Write-Host "ContentControls.Count $($doc.ContentControls.Count) Gefunden!" -ForegroundColor Magenta
    
    # siehe: Arbeiten mit Inhaltssteuerelementen: https://msdn.microsoft.com/de-de/library/office/ff836891%28v=office.15%29.aspx
    # Es gibt acht verschiedene Inhaltssteuerelementtypen, die Sie zu einem Dokument hinzufügen können.
    # Jede davon wird in einer neuen Enumeration dargestellt, die als WdContentControlType bezeichnet wird.
    # hier ist die Tabelle zum auflösen der Zahl in einen lesbaren TypNamen
    $ContentControlCsvTypeTable = @'
    Name;Wert;Beschreibung 
    wdContentControlBuildingBlockGallery;5;	Gibt ein Inhaltssteuerelement vom Typ Bausteinkatalog an. 
    wdContentControlCheckbox;8	;Gibt ein Kontrollkästchen-Inhaltssteuerelement an. 
    wdContentControlComboBox;3;	Gibt ein Kombinationsfeld-Inhaltssteuerelement an. 
    wdContentControlDate;6	;Gibt ein Datums-Inhaltssteuerelement an. 
    wdContentControlGroup;7;Gibt ein Gruppen-Inhaltssteuerelement an. 
    wdContentControlDropdownList;4;	Gibt ein Dropdownlisten-Inhaltssteuerelement an. 
    wdContentControlPicture;2;Gibt ein Bild-Inhaltssteuerelement an. 
    wdContentControlRepeatingSection;9	;Gibt ein wiederholten Abschnitt-Inhaltssteuerelement an. 
    wdContentControlRichText;0	;Gibt ein Rich-Text-Inhaltssteuerelement an. 
    wdContentControlText;1;	Gibt ein Text-Inhaltssteuerelement an. 
    '@ | ConvertFrom-Csv -Delimiter ';'
      
      # Alle ContentControls einzeln durchlaufen
      ForEach($ContentControl in $doc.ContentControls) {
        # von dem $ContentControl objekt einen Clone herstellem der das zusätzliche Property TypeName enthält
        $ContentControlEx = $ContentControl | Select-Object *,TypeName
        # Das Property TypeName mit dem Namen des Typen aus der Tabelle füllen
        $ContentControlEx.TypeName = $ContentControlCsvTypeTable | Where-Object { $_.Wert -eq $ContentControl.Type } | Select-Object -ExpandProperty Name
        # erweitertes Objekt ausgeben
        $ContentControlEx
      }
    
    }
    
    # Wenn FormFields im Dokument vorhanden sind
    If($doc.FormFields.Count -gt 0) {
    
      Write-Host "FormFields.Count $($doc.FormFields.Count) Gefunden!" -ForegroundColor Magenta
    
    
    # siehe: WdFieldType-Enumeration (Word) https://msdn.microsoft.com/de-de/library/office/ff192211%28v=office.15%29.aspx
    # Wenn nicht anders festgelegt, können einem Word-Dokument die in dieser Enumeration beschriebenen Feldtypen,
    # interaktiv mithilfe des Dialogfelds Feld hinzugefügt werden.
    # hier ist die Tabelle zum auflösen der Zahl in einen lesbaren TypNamen
    $FormFieldCsvTypeTable = @'
    Name;Wert;Beschreibung 
    wdFieldAddin;81;Add-In-Feld. Im Dialogfeld Feld nicht verfügbar. Wird zum Speichern von Daten verwendet, die in der Benutzeroberfläche nicht angezeigt werden. 
    wdFieldAddressBlock;93;AddressBlock-Feld. 
    wdFieldAdvance;84;Advance-Feld. 
    wdFieldAsk;38;Ask-Feld. 
    wdFieldAuthor;17;Author-Feld. 
    wdFieldAutoNum;54;AutoNum-Feld. 
    wdFieldAutoNumLegal;53;AutoNumLgl-Feld. 
    wdFieldAutoNumOutline;52;AutoNumOut-Feld. 
    wdFieldAutoText;79;AutoText-Feld. 
    wdFieldAutoTextList;89;AutoTextList-Feld. 
    wdFieldBarCode;63;BarCode-Feld. 
    wdFieldBidiOutline;92;BidiOutline-Feld. 
    wdFieldComments;19;Comments-Feld. 
    wdFieldCompare;80;Compare-Feld. 
    wdFieldCreateDate;21;CreateDate-Feld. 
    wdFieldData;40;Data-Feld. 
    wdFieldDatabase;78;Database-Feld. 
    wdFieldDate;31;Date-Feld. 
    wdFieldDDE;45;DDE-Feld. Im Dialogfeld Feld nicht mehr verfügbar, es wird jedoch für in früheren Versionen von Word erstellte Dokumente unterstützt. 
    wdFieldDDEAuto;46;DDEAuto-Feld. Im Dialogfeld Feld nicht mehr verfügbar, es wird jedoch für in früheren Versionen von Word erstellte Dokumente unterstützt. 
    wdFieldDisplayBarcode;99;DisplayBarcode dar. 
    wdFieldDocProperty;85;DocProperty-Feld. 
    wdFieldDocVariable;64;DocVariable-Feld. 
    wdFieldEditTime;25;EditTime-Feld. 
    wdFieldEmbed;58;Embedded-Feld. 
    wdFieldEmpty;-1;Leeres Feld. Fungiert als Platzhalter für Feldinhalt, der noch nicht hinzugefügt wurde. Ein durch Drücken von STRG+F9 in der Benutzeroberfläche hinzugefügtes Feld ist ein leeres Feld. 
    wdFieldExpression;34;=-Feld (Formel). 
    wdFieldFileName;29;FileName-Feld. 
    wdFieldFileSize;69;FileSize-Feld. 
    wdFieldFillIn;39;Fill-In-Feld. 
    wdFieldFootnoteRef;5;FootnoteRef-Feld. Im Dialogfeld Feld nicht verfügbar. Wird programmgesteuert oder interaktiv eingefügt. 
    wdFieldFormCheckBox;71;FormCheckBox-Feld. 
    wdFieldFormDropDown;83;FormDropDown-Feld. 
    wdFieldFormTextInput;70;FormText-Feld. 
    wdFieldFormula;49;EQ-Feld (Formel). 
    wdFieldGlossary;47;Glossary-Feld. Wird in Word nicht mehr unterstützt. 
    wdFieldGoToButton;50;GoToButton-Feld. 
    wdFieldGreetingLine;94;GreetingLine-Feld. 
    wdFieldHTMLActiveX;91;HTMLActiveX-Feld. Zurzeit nicht unterstützt. 
    wdFieldHyperlink;88;Hyperlink-Feld. 
    wdFieldIf;7;If-Feld. 
    wdFieldImport;55;Import-Feld. Kann nicht im Feld, dafür jedoch interaktiv oder mithilfe von Code hinzugefügt werden. 
    wdFieldInclude;36;Include-Feld. Kann nicht im Feld, aber interaktiv oder mithilfe von Code hinzugefügt werden. 
    wdFieldIncludePicture;67;IncludePicture-Feld. 
    wdFieldIncludeText;68;IncludeText-Feld. 
    wdFieldIndex;8;Index-Feld. 
    wdFieldIndexEntry;4;XE-Feld (Indexeintrag). 
    wdFieldInfo;14;Info-Feld. 
    wdFieldKeyWord;18;Keywords-Feld. 
    wdFieldLastSavedBy;20;LastSavedBy-Feld. 
    wdFieldLink;56;Link-Feld. 
    wdFieldListNum;90;ListNum-Feld. 
    wdFieldMacroButton;51;MacroButton-Feld. 
    wdFieldMergeBarcode;98;MergeBarcode dar. 
    wdFieldMergeField;59;MergeField-Feld. 
    wdFieldMergeRec;44;MergeRec-Feld. 
    wdFieldMergeSeq;75;MergeSeq-Feld. 
    wdFieldNext;41;Next-Feld. 
    wdFieldNextIf;42;NextIf-Feld. 
    wdFieldNoteRef;72;NoteRef-Feld. 
    wdFieldNumChars;28;NumChars-Feld. 
    wdFieldNumPages;26;NumPages-Feld. 
    wdFieldNumWords;27;NumWords-Feld. 
    wdFieldOCX;87;OCX-Feld. Kann nicht über das Dialogfeld Feld hinzugefügt werden, jedoch können über Code mithilfe der AddOLEControl -Methode der Shapes -Auflistung oder der InlineShapes -Auflistung hinzugefügt werden. 
    wdFieldPage;33;Page-Feld. 
    wdFieldPageRef;37;PageRef-Feld. 
    wdFieldPrint;48;Print-Feld. 
    wdFieldPrintDate;23;PrintDate-Feld. 
    wdFieldPrivate;77;Private-Feld. 
    wdFieldQuote;35;Quote-Feld. 
    wdFieldRef;3;Ref-Feld. 
    wdFieldRefDoc;11;RD-Feld (Referenzdokument). 
    wdFieldRevisionNum;24;RevNum-Feld. 
    wdFieldSaveDate;22;SaveDate-Feld. 
    wdFieldSection;65;Section-Feld. 
    wdFieldSectionPages;66;SectionPages-Feld. 
    wdFieldSequence;12;Seq-Feld (Sequenz). 
    wdFieldSet;6;Set-Feld. 
    wdFieldShape;95;Shape-Feld. Wird für gezeichnete Grafik automatisch erstellt. 
    wdFieldSkipIf;43;SkipIf-Feld. 
    wdFieldStyleRef;10;StyleRef-Feld. 
    wdFieldSubject;16;Subject-Feld. 
    wdFieldSubscriber;82;Nur Macintosh. Informationen zu dieser Konstante finden Sie in der Sprachreferenzhilfe von Microsoft Office Macintosh Edition. 
    wdFieldSymbol;57;Symbol-Feld. 
    wdFieldTemplate;30;Template-Feld. 
    wdFieldTime;32;Time-Feld. 
    wdFieldTitle;15;Title-Feld. 
    wdFieldTOA;73;TOA-Feld (Rechtsgrundlagenverzeichnis). 
    wdFieldTOAEntry;74;TOA-Feld (Verzeichniseintrag). 
    wdFieldTOC;13;TOC-Feld (Inhaltsverzeichnis). 
    wdFieldTOCEntry;9;TOC-Feld (Verzeichniseintrag). 
    wdFieldUserAddress;62;UserAddress-Feld. 
    wdFieldUserInitials;61;UserInitials-Feld. 
    wdFieldUserName;60;UserName-Feld. 
    wdFieldBibliography;97;Bibliography-Feld. 
    wdFieldCitation;96;Citation-Feld. 
    '@
      
      # Alle FormFields einzeln durchlaufen
      ForEach($FormField in $doc.FormFields) {
        # von dem $FormField objekt einen Clone herstellem der das zusätzliche Property TypeName enthält
        $FormFieldEx = $FormField | Select-Object *,TypeName
        # Das Property TypeName mit dem Namen des Typen aus der Tabelle füllen
        $FormFieldEx.TypeName = $FormFieldCsvTypeTable | Where-Object { $_.Wert -eq $FormField.Type } | Select-Object -ExpandProperty Name
        # erweitertes Objekt ausgeben
        $FormFieldEx
      }
    
    }
    
    
    # Word schliessen ohne zu Speichern
    $Word.Quit([ref]$True)
    
    # Die COM Objekt(e) wieder aus dem Speicher entfernen
    $Word, $Doc | ForEach-Object -process {
    
        
        If([System.Runtime.InteropServices.Marshal]::IsComObject($_)) {
          [System.Runtime.InteropServices.Marshal]::FinalReleaseComObject($_)
          $_ = $Null
        }
    
      } -End { 
        [System.GC]::Collect() 
        [System.GC]::WaitForPendingFinalizers()
      }


    PowerShell Artikel, Buchtipps und kostenlose PowerShell Tutorials + E-Books
    auf der deutschsprachigen PowerShell Community

    Mein 21 Teiliger PowerShell Video Grundlehrgang
    Deutsche PowerShell Videos auf Youtube
    Folge mir auf:
    Twitter | Facebook | Google+

    Montag, 26. Januar 2015 16:10

Alle Antworten

  • Hallo Luke!

    VB und PowerShell unterscheiden sich nicht sehr mit bei dem Zugriff auf Office Applikationen und Dokumente.
    Einen Funktionierenden VB Code kann man eigentlich leicht übersetzen.
    Seit Word 2007 gibt es 2 Konzepte für Formulare FormFields und ContentControls.

    Hier ist ein Code wie du herausbekommst was deine Word Datei enthält:

    $document = 'E:\Temp\Form-Template.dotx'
    $Word = New-Object -Com Word.Application
    $Word.Visible = $True
     
    $doc = $word.Documents.Open($document)
    
    
    # Wenn ContentControls im Dokument vorhanden sind
    If($doc.ContentControls.Count -gt 0) {
    
      Write-Host "ContentControls.Count $($doc.ContentControls.Count) Gefunden!" -ForegroundColor Magenta
    
    # siehe: Arbeiten mit Inhaltssteuerelementen: https://msdn.microsoft.com/de-de/library/office/ff836891%28v=office.15%29.aspx
    # Es gibt acht verschiedene Inhaltssteuerelementtypen, die Sie zu einem Dokument hinzufügen können.
    # Jede davon wird in einer neuen Enumeration dargestellt, die als WdContentControlType bezeichnet wird.
    # hier ist die Tabelle zum auflösen der Zahl in einen lesbaren TypNamen
    $ContentControlCsvTypeTable = @'
    Name;Wert;Beschreibung 
    wdContentControlBuildingBlockGallery;5;	Gibt ein Inhaltssteuerelement vom Typ Bausteinkatalog an. 
    wdContentControlCheckbox;8	;Gibt ein Kontrollkästchen-Inhaltssteuerelement an. 
    wdContentControlComboBox;3;	Gibt ein Kombinationsfeld-Inhaltssteuerelement an. 
    wdContentControlDate;6	;Gibt ein Datums-Inhaltssteuerelement an. 
    wdContentControlGroup;7;Gibt ein Gruppen-Inhaltssteuerelement an. 
    wdContentControlDropdownList;4;	Gibt ein Dropdownlisten-Inhaltssteuerelement an. 
    wdContentControlPicture;2;Gibt ein Bild-Inhaltssteuerelement an. 
    wdContentControlRepeatingSection;9	;Gibt ein wiederholten Abschnitt-Inhaltssteuerelement an. 
    wdContentControlRichText;0	;Gibt ein Rich-Text-Inhaltssteuerelement an. 
    wdContentControlText;1;	Gibt ein Text-Inhaltssteuerelement an. 
    '@ | ConvertFrom-Csv -Delimiter ';'
      
      # Alle ContentControls einzeln durchlaufen
      ForEach($ContentControl in $doc.ContentControls) {
        # von dem $ContentControl objekt einen Clone herstellem der das zusätzliche Property TypeName enthält
        $ContentControlEx = $ContentControl | Select-Object *,TypeName
        # Das Property TypeName mit dem Namen des Typen aus der Tabelle füllen
        $ContentControlEx.TypeName = $ContentControlCsvTypeTable | Where-Object { $_.Wert -eq $ContentControl.Type } | Select-Object -ExpandProperty Name
        # erweitertes Objekt ausgeben
        $ContentControlEx
      }
    
    }
    
    # Wenn FormFields im Dokument vorhanden sind
    If($doc.FormFields.Count -gt 0) {
    
      Write-Host "FormFields.Count $($doc.FormFields.Count) Gefunden!" -ForegroundColor Magenta
    
    
    # siehe: WdFieldType-Enumeration (Word) https://msdn.microsoft.com/de-de/library/office/ff192211%28v=office.15%29.aspx
    # Wenn nicht anders festgelegt, können einem Word-Dokument die in dieser Enumeration beschriebenen Feldtypen,
    # interaktiv mithilfe des Dialogfelds Feld hinzugefügt werden.
    # hier ist die Tabelle zum auflösen der Zahl in einen lesbaren TypNamen
    $FormFieldCsvTypeTable = @'
    Name;Wert;Beschreibung 
    wdFieldAddin;81;Add-In-Feld. Im Dialogfeld Feld nicht verfügbar. Wird zum Speichern von Daten verwendet, die in der Benutzeroberfläche nicht angezeigt werden. 
    wdFieldAddressBlock;93;AddressBlock-Feld. 
    wdFieldAdvance;84;Advance-Feld. 
    wdFieldAsk;38;Ask-Feld. 
    wdFieldAuthor;17;Author-Feld. 
    wdFieldAutoNum;54;AutoNum-Feld. 
    wdFieldAutoNumLegal;53;AutoNumLgl-Feld. 
    wdFieldAutoNumOutline;52;AutoNumOut-Feld. 
    wdFieldAutoText;79;AutoText-Feld. 
    wdFieldAutoTextList;89;AutoTextList-Feld. 
    wdFieldBarCode;63;BarCode-Feld. 
    wdFieldBidiOutline;92;BidiOutline-Feld. 
    wdFieldComments;19;Comments-Feld. 
    wdFieldCompare;80;Compare-Feld. 
    wdFieldCreateDate;21;CreateDate-Feld. 
    wdFieldData;40;Data-Feld. 
    wdFieldDatabase;78;Database-Feld. 
    wdFieldDate;31;Date-Feld. 
    wdFieldDDE;45;DDE-Feld. Im Dialogfeld Feld nicht mehr verfügbar, es wird jedoch für in früheren Versionen von Word erstellte Dokumente unterstützt. 
    wdFieldDDEAuto;46;DDEAuto-Feld. Im Dialogfeld Feld nicht mehr verfügbar, es wird jedoch für in früheren Versionen von Word erstellte Dokumente unterstützt. 
    wdFieldDisplayBarcode;99;DisplayBarcode dar. 
    wdFieldDocProperty;85;DocProperty-Feld. 
    wdFieldDocVariable;64;DocVariable-Feld. 
    wdFieldEditTime;25;EditTime-Feld. 
    wdFieldEmbed;58;Embedded-Feld. 
    wdFieldEmpty;-1;Leeres Feld. Fungiert als Platzhalter für Feldinhalt, der noch nicht hinzugefügt wurde. Ein durch Drücken von STRG+F9 in der Benutzeroberfläche hinzugefügtes Feld ist ein leeres Feld. 
    wdFieldExpression;34;=-Feld (Formel). 
    wdFieldFileName;29;FileName-Feld. 
    wdFieldFileSize;69;FileSize-Feld. 
    wdFieldFillIn;39;Fill-In-Feld. 
    wdFieldFootnoteRef;5;FootnoteRef-Feld. Im Dialogfeld Feld nicht verfügbar. Wird programmgesteuert oder interaktiv eingefügt. 
    wdFieldFormCheckBox;71;FormCheckBox-Feld. 
    wdFieldFormDropDown;83;FormDropDown-Feld. 
    wdFieldFormTextInput;70;FormText-Feld. 
    wdFieldFormula;49;EQ-Feld (Formel). 
    wdFieldGlossary;47;Glossary-Feld. Wird in Word nicht mehr unterstützt. 
    wdFieldGoToButton;50;GoToButton-Feld. 
    wdFieldGreetingLine;94;GreetingLine-Feld. 
    wdFieldHTMLActiveX;91;HTMLActiveX-Feld. Zurzeit nicht unterstützt. 
    wdFieldHyperlink;88;Hyperlink-Feld. 
    wdFieldIf;7;If-Feld. 
    wdFieldImport;55;Import-Feld. Kann nicht im Feld, dafür jedoch interaktiv oder mithilfe von Code hinzugefügt werden. 
    wdFieldInclude;36;Include-Feld. Kann nicht im Feld, aber interaktiv oder mithilfe von Code hinzugefügt werden. 
    wdFieldIncludePicture;67;IncludePicture-Feld. 
    wdFieldIncludeText;68;IncludeText-Feld. 
    wdFieldIndex;8;Index-Feld. 
    wdFieldIndexEntry;4;XE-Feld (Indexeintrag). 
    wdFieldInfo;14;Info-Feld. 
    wdFieldKeyWord;18;Keywords-Feld. 
    wdFieldLastSavedBy;20;LastSavedBy-Feld. 
    wdFieldLink;56;Link-Feld. 
    wdFieldListNum;90;ListNum-Feld. 
    wdFieldMacroButton;51;MacroButton-Feld. 
    wdFieldMergeBarcode;98;MergeBarcode dar. 
    wdFieldMergeField;59;MergeField-Feld. 
    wdFieldMergeRec;44;MergeRec-Feld. 
    wdFieldMergeSeq;75;MergeSeq-Feld. 
    wdFieldNext;41;Next-Feld. 
    wdFieldNextIf;42;NextIf-Feld. 
    wdFieldNoteRef;72;NoteRef-Feld. 
    wdFieldNumChars;28;NumChars-Feld. 
    wdFieldNumPages;26;NumPages-Feld. 
    wdFieldNumWords;27;NumWords-Feld. 
    wdFieldOCX;87;OCX-Feld. Kann nicht über das Dialogfeld Feld hinzugefügt werden, jedoch können über Code mithilfe der AddOLEControl -Methode der Shapes -Auflistung oder der InlineShapes -Auflistung hinzugefügt werden. 
    wdFieldPage;33;Page-Feld. 
    wdFieldPageRef;37;PageRef-Feld. 
    wdFieldPrint;48;Print-Feld. 
    wdFieldPrintDate;23;PrintDate-Feld. 
    wdFieldPrivate;77;Private-Feld. 
    wdFieldQuote;35;Quote-Feld. 
    wdFieldRef;3;Ref-Feld. 
    wdFieldRefDoc;11;RD-Feld (Referenzdokument). 
    wdFieldRevisionNum;24;RevNum-Feld. 
    wdFieldSaveDate;22;SaveDate-Feld. 
    wdFieldSection;65;Section-Feld. 
    wdFieldSectionPages;66;SectionPages-Feld. 
    wdFieldSequence;12;Seq-Feld (Sequenz). 
    wdFieldSet;6;Set-Feld. 
    wdFieldShape;95;Shape-Feld. Wird für gezeichnete Grafik automatisch erstellt. 
    wdFieldSkipIf;43;SkipIf-Feld. 
    wdFieldStyleRef;10;StyleRef-Feld. 
    wdFieldSubject;16;Subject-Feld. 
    wdFieldSubscriber;82;Nur Macintosh. Informationen zu dieser Konstante finden Sie in der Sprachreferenzhilfe von Microsoft Office Macintosh Edition. 
    wdFieldSymbol;57;Symbol-Feld. 
    wdFieldTemplate;30;Template-Feld. 
    wdFieldTime;32;Time-Feld. 
    wdFieldTitle;15;Title-Feld. 
    wdFieldTOA;73;TOA-Feld (Rechtsgrundlagenverzeichnis). 
    wdFieldTOAEntry;74;TOA-Feld (Verzeichniseintrag). 
    wdFieldTOC;13;TOC-Feld (Inhaltsverzeichnis). 
    wdFieldTOCEntry;9;TOC-Feld (Verzeichniseintrag). 
    wdFieldUserAddress;62;UserAddress-Feld. 
    wdFieldUserInitials;61;UserInitials-Feld. 
    wdFieldUserName;60;UserName-Feld. 
    wdFieldBibliography;97;Bibliography-Feld. 
    wdFieldCitation;96;Citation-Feld. 
    '@
      
      # Alle FormFields einzeln durchlaufen
      ForEach($FormField in $doc.FormFields) {
        # von dem $FormField objekt einen Clone herstellem der das zusätzliche Property TypeName enthält
        $FormFieldEx = $FormField | Select-Object *,TypeName
        # Das Property TypeName mit dem Namen des Typen aus der Tabelle füllen
        $FormFieldEx.TypeName = $FormFieldCsvTypeTable | Where-Object { $_.Wert -eq $FormField.Type } | Select-Object -ExpandProperty Name
        # erweitertes Objekt ausgeben
        $FormFieldEx
      }
    
    }
    
    
    # Word schliessen ohne zu Speichern
    $Word.Quit([ref]$True)
    
    # Die COM Objekt(e) wieder aus dem Speicher entfernen
    $Word, $Doc | ForEach-Object -process {
    
        
        If([System.Runtime.InteropServices.Marshal]::IsComObject($_)) {
          [System.Runtime.InteropServices.Marshal]::FinalReleaseComObject($_)
          $_ = $Null
        }
    
      } -End { 
        [System.GC]::Collect() 
        [System.GC]::WaitForPendingFinalizers()
      }


    PowerShell Artikel, Buchtipps und kostenlose PowerShell Tutorials + E-Books
    auf der deutschsprachigen PowerShell Community

    Mein 21 Teiliger PowerShell Video Grundlehrgang
    Deutsche PowerShell Videos auf Youtube
    Folge mir auf:
    Twitter | Facebook | Google+

    Montag, 26. Januar 2015 16:10
  • Hallo Luke,
    also bei mir wirft eine kurze Google-Suche massenhaft Ergebnisse aus: LINK  :)
     
    Falls du für ein konkretes Problem Hilfe benötigst, gerne. Aber lies bitte erstmal diesen Thread und erweitere dann deine Frage entsprechend.

     

    Grüße, Denniver


    Blog: http://bytecookie.wordpress.com

    Kostenloser Powershell Snippet Manager v3: Link
    (Schneller, besser + einfacher scripten.)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.


    Mittwoch, 28. Januar 2015 14:28
    Moderator
  • Hi,
    könnt Ihr vielleicht nochmal Konkret erklären wie ich eines der Form auswählen kann um es zu editieren. Bin gerade dran zu versuchen ein Word Dokument mit Forms zu füllen.

    Sprich ich habe ein Feld mit Herstellernamen und möchte dies mit z.B. Adobe füllen. Leider hab ich überhaupt keine Idee wie ich den Wert "Herstellername" mit meinen Werten überschreiben kann.

    Gruß
    Matthias

    Donnerstag, 24. März 2016 09:05
  • Bitte keine alten Threads ausgraben.

    Lies bitte erstmal diesen Link und erstelle dann einen neuen Thread, möglichst mit allen nötigen Infos um genau zu verstehen was du möchtest.

    Grüße, Denniver


    Blog: http://bytecookie.wordpress.com

    Kostenloser Powershell Snippet Manager v4: Link ! Neue Version !
    (Schneller, besser + komfortabler scripten.)

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.

    Donnerstag, 24. März 2016 16:35
    Moderator