Office: (Office 2010) Dateiname aus Inhaltssteuerelementen erstellen

Helfe beim Thema Dateiname aus Inhaltssteuerelementen erstellen in Microsoft Word Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, bin neu hier und hoffe Ihr könnt mir helfen. Ich möchte eine Vorlage erstellen, in der mit Inhaltsteuerelementen gearbeitet wird. Der... Dieses Thema im Forum "Microsoft Word Hilfe" wurde erstellt von zickenhirt, 14. Oktober 2011.

  1. Dateiname aus Inhaltssteuerelementen erstellen


    Hallo zusammen,

    bin neu hier und hoffe Ihr könnt mir helfen. Ich möchte eine Vorlage erstellen, in der mit Inhaltsteuerelementen gearbeitet wird. Der Knackpunkt ist für mich das speichern der Datei. Es soll aus den Dropdownlisten-Elementen "Name und Typ" und einen Textelement "Seriennummer" der Dateiname generiert werden. Dieser Dateiname soll anschließend an einen definierten Speicherort als PDF ausgegeben werden. Das Speichern als PDF könnte auch manuell geschehen, wenn ich im "Speichern unter Dialog" den generierten Dateinamen zur Auswahl bekomme. Ist vielleicht ein wenig viel aber ich hoffe Ihr könnt mir trozdem helfen. Vielen Dank schon mal in voraus.

    Benutze Microsoft Word 2010 unter Windows 7

    :)
     
    zickenhirt, 14. Oktober 2011
    #1
  2. Hallo,

    folgender Vorschlag:
    Du vergibst Deinen Dropdownlisten bzw. Textfeld Namen (damit Du diese leicht ansprechen kannst)

    Mittels VBA dann:
    Code:
    Viel Erfolg,
    thheinrich
     
    thheinrich, 16. Oktober 2011
    #2
  3. Hallo thheinrich,

    erstmal vielen Dank für Deine Hilfe und sorry das ich mich erst jetzt melde.
    Ich habe wie vorgeschlagen die Felder benannt. Anschließend habe ich eine Schaltfläche Speichern erstellt und deinen Code dort eingefügt. Dabei bekomme ich immer die Fehlermedung "Laufzeitfehler 5941" Das angeforderte Element ist nicht in der Sammlung vorhanden. Ist das Versionsbedingt oder mache ich was falsch? Hast Du vielleicht eine Lösung? Ich häng mal den Code an:

    Private Sub CommandButton1_Click()
    Dim doc_current As Document
    Dim str_file_name As String
    Dim str_file_type As String
    Dim str_nr As String
    Dim str_path As String


    str_path = "d:\test\" ' Deinen festen Pfad anpassen
    Set doc_current = ActiveDocument
    With doc_current
    str_file_name = .FormFields("Name").Result
    str_file_type = .FormFields("Type").Result
    str_nr = .FormFields("Seriennummer").Result
    End With

    doc_current.ExportAsFixedFormat _
    OutputFileName:=str_path & str_file_name & str_file_type & str_nr & ".pdf", _
    ExportFormat:=wdExportFormatPDF, _
    OpenAfterExport:=False, _
    OptimizeFor:=wdExportOptimizeForPrint, _
    Range:=wdExportAllDocument, _
    From:=1, _
    To:=1, _
    Item:=wdExportDocumentContent, _
    IncludeDocProps:=True, _
    KeepIRM:=True, _
    CreateBookmarks:=wdExportCreateNoBookmarks, _
    DocStructureTags:=True, _
    BitmapMissingFonts:=True, _
    UseISO19005_1:=False
    End Sub

    mfg Zickenhirt
     
    zickenhirt, 22. Oktober 2011
    #3
  4. Gerhard H
    Gerhard H Erfahrener User

    Dateiname aus Inhaltssteuerelementen erstellen

    Hallo zusammen,

    da habt ihr wohl aneinander vorbeigeredet. Zickenhirt benutzt offenbar nicht die alten Formularfelder ("aus Vorversionen"), wie thheinrich angenommen hat, sondern die neuen Steuerelemente.

    Leider kann ich nicht annähernd so gut Makros schreiben wie thheinrich, aber im Prinzip müsste das nachfolgende Beispiel tun was es soll. Es identifiziert die Steuerelemente anhand des Titels (siehe Eigenschaften). Die düfen dann nicht doppelt vorkommen.

    ub datnam()
    Dim dateiname As String, teil1 As String, teil2 As String, teil3 As String
    Dim cc As Word.ContentControl
    For Each cc In ActiveDocument.ContentControls
    If cc.Title = "Name" Then teil1 = cc.Range.Text
    If cc.Title = "Typ" Then teil2 = cc.Range.Text
    If cc.Title = "Seriennummer" Then teil3 = cc.Range.Text
    Next
    dateiname = teil1 & teil2 & teil3
    With Dialogs(wdDialogFileSaveAs)
    .Name = "C:\pfad\" & dateiname
    .Show
    End With
    End Sub

    Vielleicht schaut thheinrich wieder vorbei und macht was ordentliches draus.
     
    Gerhard H, 22. Oktober 2011
    #4
  5. Hallo Gerhard,

    vielen Dank für Deine Hilfe. Der von Dir erstellte Code funktioniert. Der Dateiname wird aus den 3 Feldern zusammengestellt. Allerdings funktioniert die Pfadangabe nicht. Es wird immer der Speicherort C:\Benutzer\Master\AppData\Roaming\Microsoft\Templates gewählt. Irgend eine Ahnung woran das liegt.
    Jetz werd ich auch noch unverschämt. Ist es möglich die Felder im Dateinamen durch Unterstriche zu trennen? ZB. Name_Type_Seriennummer??

    Mfg Zickenhirt
     
    zickenhirt, 22. Oktober 2011
    #5
  6. Gerhard H
    Gerhard H Erfahrener User
    Hallo Zickenhirt,

    "Ist es möglich die Felder im Dateinamen durch Unterstriche zu trennen? ZB. Name_Type_Seriennummer?"
    Das krieg ich noch hin: Ersetze die alte Zeile durch diese:
    dateiname = teil1 & "_" & teil2 & "_" & teil3

    Zum Speicherort: Hast du denn auch das "pfad" in der Zeile

    .Name = "C:\pfad\" & dateiname

    durch deinen Pfad ersetzt? also z.B.
    .Name = "C:\Users\deinUsername\daten\" &dateiname
     
    Gerhard H, 22. Oktober 2011
    #6
  7. Hi Gerhard,

    habe den von Dir vorgegebenen Pfad geändert. Zum Beispiel auf D:\Test\..
    Das Verzeichniss D:\Test... ist auch vorhanden. Hat trozdem den schon o.g. beschriebenen Pfad im Speichern unter Dialog vorgegeben. Kann es sein, das Word2010 intern den Pfad vorgibt, da ich das Dokument als Vorlage schon Lade (Test.dotm)?

    Gruß Zickenhirt
     
    zickenhirt, 22. Oktober 2011
    #7
  8. Gerhard H
    Gerhard H Erfahrener User

    Dateiname aus Inhaltssteuerelementen erstellen

    Hallo Zickenhirt,

    Wenn ich ein neues Dokument auf Basis der Vorlage (also z.B. per Doppelklick auf die Vorlage,) öffne, und dann das Makro aufrufe, wird bei mir der gewünschte Speicherort eingetragen.

    Du schreibst, du lädst das Dokument als Vorlage, also als *.dotm. In dem Fall wird auch bei mir der Template-Ordner eingestellt. Allerdings kann ich den Sinn dieses Vorgehens nicht nachvollziehen. Warum musst du mit der Vorlage arbeiten?

    Falls dem wirklich so ist, bin ich hier mit meinen VBA-Kenntnissen am Ende, sorry.
     
    Gerhard H, 22. Oktober 2011
    #8
  9. Hallo Gerhard,

    noch mal vielen Dank. Das mit den Unterstrichen funktioniert einwandfrei. Rufe die Datei nun als Document mit Macros auf (*.docm). Dann klappt das mit dem vorgegebenen Speicherort auch. Da mehrere Benutzer mit dem Dokument Arbeiten werden und es noch weitere Felder enthält, habe ich einfach die Beschränkung aktiviert, das nur Formularfelder bearbeitet werden dürfen.

    Also nochmals Danke an euch beide. Mit eurer Hilfe habe ich mein Problem gelöst.

    Gruß Zickenhirt
     
    zickenhirt, 23. Oktober 2011
    #9
  10. Hallo zusammen,
    habe gerade dieses Script hier von Gerhard abgewandelt angewendet und es funzt zum Teil ich habe es nur an 2 Stellen abgeändert.... bei der Namensvergabe
    Code:
    Wenn ich nun auf Macros klicke funzt dieses auch aber ich möchte den generierten Dateinamen im "Speichern unter Dialog" zur Auswahl bekommen! Was mache ich hier falsch habe das Dokument als "Word-Vorlage mit Makros (*.dotm)" abgesichert dann bringt es als Dateiname "Rubrik.docx" möchte jedoch den Inhalt "Rubrik_Inhalt Ausgabe" als Dateinamen erhalten.
    Ah bin dem Scripting nicht so firm also bitte leicht verständlich schreiben.
    Besten Dank schon mal....

    Kann man dazu automatisch am Dateinamen eine fortlaufende Nummer anfügen?

    Ich verwende WORD 2010 unter Windows7
     
    Pixxelstubser, 22. Januar 2016
    #10
  11. Gerhard H
    Gerhard H Erfahrener User
    Hallo stubser,

    in so einem Fall ist es besser, ein Musterdokument hochzuladen, in dem man was kontrollieren kann. So muss ich meine Glaskugel bemühen, und die sagt:
    1. Du hast nicht beachtet, dass es bei den Titeln der Inhaltssteuerelemente auf Groß- und Kleinschreibung ankommt. Wenn der Titel "Rubrik" heißt und im Makro steht: "If cc.title = "rubrik" gibt das einen leeren String
    2. Der erste Absatz deines Dokuments lautet: "Rubrik"
    Das sagt mir meine Glaskugel so, weil das Makro funktioniert, wenn man die Groß/Kleinschreibung beachtet. Falls sie irrt, bitte ich um die o.g. Musterdokumentvorlage. Es braucht nur das Makro und die maßgeblichen Felder enthalten. Den Rest kannst du löschen, kürzen oder anonymisieren.

    Übrigens muss man das Ganze nicht unbedingt durchschleifen. Ein bisschen kürzer geht es so:
    Code:
     
    Gerhard H, 22. Januar 2016
    #11
  12. Hallo Gerhard,
    danke schon mal für die Kurz-Version des Scripts. Deine Glaskugel hatte recht *mrcool

    Habe jetzt mal das Test-Dokument hochgeladen.

    Habe dies als Vorlage.docm abgesichert. So nun öffne ich dieses Dokument und verändere dies. Jetzt möchte ich speichern ! - bei Speichern unter macht er als Namensvorschlag "Rubrik".
    Wenn ich Makros das Makro anklicke erscheint das Speichern unter Feld mit dem korrekten Namensvorschlag - geht das auch irgendwie bequemer ? ein Button in Word oder so.
     
    Pixxelstubser, 28. Januar 2016
    #12
  13. Gerhard H
    Gerhard H Erfahrener User

    Dateiname aus Inhaltssteuerelementen erstellen

    Hallo stubser,

    in deiner Datei war gar kein Makro drin. Ich hab das aus Beitrag 12 eingebaut. Auslösen kannst du es auf dreierlei Arten:
    • Per Active-X-Button (empfehl ich dir nicht, weil du dir da das Problem einhandelst, den Button beim Ausdruck verstecken zu müssen)
    • Per Schaltfläche in der Schnellzugriffsleiste
    • Per Tastenkombination

    Für alle drei Alternativen gibts im angehängten Musterdokument weitere Erklärungen.

    Du könntest übrigens das Makro auch so einrichten, dass das Dokument direkt ohne den Umweg über ein Dialogfeld gespeichert wird (siehe die letzte auskommentierte Zeile im Makro).
     
    Gerhard H, 28. Januar 2016
    #13
  14. Hallo Gerhard,
    super vielen Dank für deine ausführliche Erläuterungen und dem neuen Word-Master-Dokument.
    Das mit dem Button habe ich gestern hinbekommen war auch schön soweit. Habe aber deinen Ratschlag bzgl des ausdruckens beherzigt und ein Symbol für den Schnellzugriff anlegt.

    Jetzt bin ich noch auf der Suche nach quasi einem Ticker, Counter. Der beim Speichern merkt ah da ist schon ein Dokument mit diesem Namen und vergibt dann automatisch die nächste Nummer.
    z.B. 2016_03-März_Recht_01.doc, 2016_03-März_Recht_02.doc
     
    Pixxelstubser, 29. Januar 2016
    #14
  15. Gerhard H
    Gerhard H Erfahrener User
    Hallo stubser,

    ich hab grad nichts Eigenes greifbar, deswegen verweis ich dich aufs Googeln:
    Gute Stichwörter können sein:
    Fortlaufende (Rechnungs)Nummer Dokumenteigenschaft
    oder
    Fortlaufende (Rechnungs)Nummer ini-Datei.

    Ich denke, du wirst gut erklärte Beispiele finden.
     
    Gerhard H, 29. Januar 2016
    #15
Thema:

Dateiname aus Inhaltssteuerelementen erstellen

Die Seite wird geladen...
  1. Dateiname aus Inhaltssteuerelementen erstellen - Similar Threads - Dateiname Inhaltssteuerelementen erstellen

  2. Name der Datei durch Excel geändert

    in Microsoft Excel Hilfe
    Name der Datei durch Excel geändert: Hallo und guten Abend, Die Datei wird mittels Button (VBA) zwischen gesichert. Das Makro sichert zuvor die Datei und erstellt zus. eine Sicherungsdatei mit der Erweiterung Beispiel-"Sich"....
  3. Excel Tabellenblatt als PDF speichern unter Vorgabe Dateinamen aus einer Zelle

    in Microsoft Excel Hilfe
    Excel Tabellenblatt als PDF speichern unter Vorgabe Dateinamen aus einer Zelle: Hallo zusammen, ich möchte eine VBA Programmierung machen wie folgt. Das aktuelle Excel-Tabellenblatt soll als PDF Speicher unter, unter Vorgabe des Dateinamens der in Zelle A1 steht gespeichert...
  4. Dateinamen ohne Punkt und Dateiendung ermitteln

    in Microsoft Excel Hilfe
    Dateinamen ohne Punkt und Dateiendung ermitteln: Guten Abend zusammen, die nachfolgende Formel generiert den Dateinamen ohne Pfad in einer Zelle:...
  5. PDF-Dateinamen aus Zellen zusammensetzen

    in Microsoft Excel Hilfe
    PDF-Dateinamen aus Zellen zusammensetzen: Hallo zusammen! Ich habe eine Arbeitsmappe mit mehreren Arbeitsblättern die mit den Namen von Mitarbeitern versehen sind. Nun möchte ich folgendes erreichen: Wenn die Datei als xlsx gespeichert...
  6. Email Speicherung via Drag and Drop macht aus einem Punkt einen Unterstrich im Dateinamen

    in Microsoft Outlook Hilfe
    Email Speicherung via Drag and Drop macht aus einem Punkt einen Unterstrich im Dateinamen: Guten Tag, wenn ich eine Email mit dem Betreff "2.40-Test.123" via Drag and Drop auf meinen Desktop ziehe, wird eine .msg mit dem Dateinamen "2_40-Test_123.msg" erstellt. Wenn ich die selbe...
  7. Dateiname splitten in vba

    in Microsoft Excel Hilfe
    Dateiname splitten in vba: Moin alle miteinander Ich möchte aus eine Dateinamen (91.Blatt T 94.xlsx) als erstes die Zahl 91 Und die Zahl 94 extrahieren und in unterschiedliche zellen schreiben . Beide zahlen können...
  8. Sonderzeichen für Gültigen Dateinamen elemeniren

    in Microsoft Excel Hilfe
    Sonderzeichen für Gültigen Dateinamen elemeniren: Hallo miteinander, in Spalte C stehen bei mir Namen mit Projekt nummern, blöderweise können Projektnummern Sonderzeichen enthalten wirklich alles,es gibt keine Richtlinie dafür leider. ich...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden