none
Willkommensbrief Erstellung RRS feed

  • Frage

  • Hallo zusammen,

    ich möchte anhand eines PowerShell Scripts einen Willkommensbrief bearbeiten, wenn ein Benutzer neu bei uns anfängt.
    Die Variablen habe ich soweit fertig. Mein Problem ist es nun, wie bekomme ich die Werte in das Word Dokument.

    Hier der Code

    cls
    
    # Willkommensbrief erstellen
    $Anrede = Read-Host "Anrede"
    $Vorname = Read-Host "Vorname des Benutzers"
    $NachName = Read-Host "Name des Benutzers"
    $Standort = Read-Host "Standort des Benutzers"
    $Jahr = (Get-Date).Year
    $nastring1 = $("$Vorname").Substring("0","1").Tolower()
    $nastring2 =$NachName.ToLower()
    $PWString1 = $("$Vorname").Substring("0","1").ToUpper()
    $PWString2 = $("$NachName").Substring("","1").ToUpper()
    $PWString3 = $Nachname.substring(1,1).Tolower()
    $PWString4 = $Standort.ToUpper()
    $Name = "$nastring1$nastring2"
    $Password = "$PWString4$Jahr$PWString1$PWString2$PWString3"
    
    
    $Word = New-Object -comobject Word.Application
    $Word.Visible = $true
    $Dokument = $Word.Documents.Open("C:\daten\Persönlich.docx")

    Hier ist der Link zu dem Brief.

    briefvorlage

    Das funktioniert auch so wie gewünscht. Habe in dem Brief die stellen beschrieben wo welcher teil hinkommen soll.
    Ich steh da echt auf dem Schlauch und meine Recherche im Netz hat bisher nicht viel gebracht.

    Deshalb hoffe ich das vielleicht einer von Euch ne Idee hat wie ich das lösen kann.

    Ich bedanke mich schonmal im voraus.

    Liebe Grüße gfritz74

    Dienstag, 6. Juli 2021 14:17

Antworten

Alle Antworten

  • Moin,

    entweder Textmarken in das Vorlagendokument einfügen oder Platzhalter wie ##VORNAME## und dann suchen und ersetzen...


    Evgenij Smirnov

    http://evgenij.smirnov.de

    Dienstag, 6. Juli 2021 16:44
  • Guten Morgen,

    ich glaube mit der Textmarke ist ein guter Ansatz. 
    Könntest du mir bitte nur nen Tipp geben wie ich das in PowerShell schreiben muss,
    wenn ich zum Beispiel die Textmarke Anrede erstellt habe.

    Das wäre echt klasse.

    Danke Dir.

    Viele Grüße

    Mittwoch, 7. Juli 2021 06:15
  • Moin,

    wenn Du das als Makro aufzeichnest, bekommst Du in VBA:

    Selection.GoTo What:=wdGoToBookmark, Name:="NAME"
    Selection.TypeText Text:="Homer Simpson"

    In PowerShell heißt es vereinfacht

    $Selection = $Word.Selection
    $Selection.GoTo(-1,$null,$null, "NAME")
    $Selection.TypeText("Homer Simpson")

    wobei die -1 in GoTo aus https://docs.microsoft.com/de-de/office/vba/api/word.wdgotoitem stammt und "Textmarke" bedeutet.


    Evgenij Smirnov

    http://evgenij.smirnov.de

    • Als Antwort markiert gfritz74 Mittwoch, 7. Juli 2021 10:45
    Mittwoch, 7. Juli 2021 06:52
  • Bombe So habe ich mir das vorgestellt.

    Vielen Dank

    Bleib Gesund und viele Grüße

    Mittwoch, 7. Juli 2021 07:40
  • Hallo gfritz74,
    Danke, für ihre Frage.

    Bitte befolgen Sie diese Schritte zum Aufzeichnen:

    1. Klicken Sie auf der Registerkarte Entwickler in der Gruppe Code auf Makro aufzeichnen.

    -ODER-

    Drücken Sie Alt+T+M+R .

    2. Geben Sie im Feld Makroname einen Namen für das Makro ein. Machen Sie den Namen so beschreibend wie möglich, damit Sie ihn schnell finden, wenn Sie mehr als ein Makro erstellen.

    3. Um eine Tastenkombination zum Ausführen des Makros zuzuweisen, geben Sie im Feld Tastenkombination einen beliebigen Buchstaben ein (Groß- oder Kleinbuchstaben funktionieren) den Sie verwenden möchten. Am besten verwenden Sie die Tastenkombinationen Strg + Umschalt (Großbuchstaben), da die Makro-Tastenkombination alle entsprechenden Standard-Excel-Tastenkombinationen überschreibt, während die Arbeitsmappe, die das Makro enthält, geöffnet ist. Wenn Sie beispielsweise Strg+Z (Rückgängig) verwenden, verlieren Sie die Möglichkeit zum Rückgängigmachen in dieser Excel-Instanz.

    4. Wählen Sie in der Liste Makro speichern in aus, wo Sie das Makro speichern möchten.

    Im Allgemeinen speichern Sie Ihr Makro am Speicherort Diese Arbeitsmappe, aber wenn Sie möchten, dass ein Makro immer verfügbar ist, wenn Sie Excel verwenden, wählen Sie Persönliche Makroarbeitsmappe . Wenn Sie Persönliche Makroarbeitsmappe auswählen, erstellt Excel eine ausgeblendete persönliche Makroarbeitsmappe (Personal.xlsb), falls sie noch nicht vorhanden ist, und speichert das Makro in dieser Arbeitsmappe.

    5. Geben Sie im Feld Beschreibung optional eine kurze Beschreibung der Funktion des Makros ein.

    Obwohl das Beschreibungsfeld optional ist, wird empfohlen, eines einzugeben. Versuchen Sie außerdem, eine aussagekräftige Beschreibung mit allen Informationen einzugeben, die für Sie oder andere Benutzer, die das Makro ausführen, nützlich sein könnten. Wenn Sie viele Makros erstellen, können Sie anhand der Beschreibung schnell erkennen, welches Makro was tut, andernfalls müssen Sie möglicherweise raten.

    6. Klicken Sie auf OK, um die Aufnahme zu starten.

    7. Führen Sie die Aktionen aus, die Sie aufzeichnen möchten.

    8. Klicken Sie auf der Registerkarte Entwickler in der Gruppe Code auf Schaltflächenbild Aufzeichnung beenden .

    -ODER-

    Drücken Sie Alt+T+M+R .

    Wenn Sie dies als Makro aufgezeichnet haben, erhalten Sie in VBA:

    Auswahl . GoTo What : = wdGoToBookmark , Name : = "NAME"
    Auswahl . TypeText Text : = "Homer *******"


    In PowerShell heißt es vereinfacht

    $Auswahl = $Wort. Auswahl
    $ Auswahl . Gehe zu (- 1 , $ null , $ null , "NAME" )
    $ Auswahl . TypText ( "Homer *******" )

    Für weitere Informationen können Sie diesen Link besuchen:

    https://support.microsoft.com/de-DE/office/automate-tasks-with-the-macro-recorder-974ef220-f716-4e01-b015-3ea70e64937b

    Wenn die Antwort hilfreich war, vergessen Sie bitte nicht, positiv zu bewerten oder als Antwort zu akzeptieren.
    Danke, Aradhya
    Mittwoch, 7. Juli 2021 10:37