MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Word
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 06.12.2018, 15:01   #1
Martakus
Neuer Benutzer
Neuer Benutzer
Standard Frage - Worddokument per Makro-Button speichern

Hallo zusammen,

ich bin neu hier im Forum weil ich grad ein kleines Problem mit einem Makro habe.

Kurze Vorgeschichte:
Ich habe für die Firma eine Wordvorlage erstellt, die von den Kollegen ausgefüllt wird und anschließend durch klicken auf einen Button am Ende der Vorlage automatisch mit einem Dateinamen versehen und in einem bestimmten Ordner gespeichert wird.
Bisher habe ich die Vorlage als PDF-Datei speichern lassen. Das funktioniert auch alles super. Den Makro-Code dafür habe ich mir auch hier im Forum zusammengesucht.
Jetzt haben wir aber festgestellt, dass das PDF-Format für unser Vorhaben einen Nachteil mitsich bringt. Undzwar wollen wir den Text aus der PDF-Datei anschließend wieder per copy-and-paste in eine Datenbank einfügen.
Nur leider gehen beim copy-and-paste aus PDFs anscheinend alle Formatierungen des Textes verloren (also Leerzeilen, eingerückter Text, etc.).
Deshalb möchte ich es jetzt so hinbekommen, dass die Vorlage doch lieber als Word-Datei auf dem Server abgelegt wird.
Nur leider habe ich qusi null VB-Skills und bekomme meinen jetzigen Code nicht angepasst.
Ich hoffe jetzt das mir hier im Forum jemand helfen kann.

Momentan sieht mein Code so aus:

Private Sub CommandButton1_Click()

Dim doc_current As Document
Dim str_file_name As String
Dim str_path As String
Dim str_file_number As String

str_path = "u:ABWURF_Tickerzettel"
Set doc_current = ActiveDocument
With doc_current
str_file_name = .FormFields("Text1").Result
str_file_number = .FormFields("Text2").Result

End With

doc_current.ExportAsFixedFormat _
OutputFileName:=str_path & str_file_name & "_" & str_file_number & ".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

Ich habe mal in der Zeile "outputfilename" die Endung .pdf gegen ein .docx ausgetauscht, das hat aber leider nicht funktioniert.

Ich hoffe hier hat jemand eine Lösung für mich.

VG Martakus
Martakus ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 06.12.2018, 15:17   #2
G.O.Tuhls
MOF Meister
MOF Meister
Standard

Wenn Du die Speicheroptionen für PDF drinlässt, kann das nichts mit .docx werden. Da Du dieses Makro offenbar per Makroaufzeichnung erstellt hast, dürfte der einfachste Weg sein, wenn Du den Speichervorgang als .docx ebenfalls aufzeichnest und den entspr. Teil in Deinem Code damit ersetzt.

Gruß
G.O.

__________________

Wer mehr über PowerPoint und Word wissen möchte, kann gern mal hier reinschauen.
G.O.Tuhls ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 06.12.2018, 15:34   #3
Martakus
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo G.O.

und danke für deine schnelle Antwort.

Ich habe den das Makro aber nicht per Aufzeichnung erstellt, sondern hier aus dem Forum kopiert und anschließend leicht angepasst.

Mit der aufzeichnen-Funktion habe ich es ganz am Anfang mal versucht, aber da habe ich garnichts mit hinbekommen.

VG Martakus
Martakus ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 06.12.2018, 15:56   #4
Gerhard H
MOF Guru
MOF Guru
Standard

Hallo Martakus,

probier das:
Code:

Private Sub CommandButton1_Click()

Dim doc_current As Document
Dim str_file_name As String
Dim str_path As String
Dim str_file_number As String

str_path = "C\:temp\"
'obigen Pfad wieder anpassen und abschließenden Backslash nicht vergessen!

Set doc_current = ActiveDocument

With doc_current
    str_file_name = .FormFields("Text1").Result
    str_file_number = .FormFields("Text2").Result
    
   
    doc_current.SaveAs2 FileName:=str_path & str_file_name & "_" & str_file_number & ".docx"
    'Falls Word-Version älter als 2010 bei SaveAS die 2 weglassen
End With
End Sub

__________________

Gruß
Gerhard
Gerhard H ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 06.12.2018, 16:24   #5
Martakus
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo Gerhard H,

dankle für deine schnelle Antwort

Ich habe das grad getestet.

Wenn ich mit deinem Script auf den Button klicke kommt die Meldung:
Laufzeitfehler 5152
Dies ist kein gültiger Dateiname


Die beiden Felder (Text1 und Text2) werden bei uns nur mit Ziffern gefüllt.
Der Dateiname wäre also z.B. 0815_1 oder 0815_2....

Ist das ein Problem?
Also bei den PDFs hat er es als Dateiname akzeptiert.

VG Martakus
Martakus ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 06.12.2018, 16:29   #6
Martakus
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

...Ok ich habe den Fehler grad gefunden...

Du hast beim schnellen tippen im Pfad den vor dem : gehabt und ich habs auch so reinkopiert.

Habe es grad umgedreht und jetzt funktioniert es wunderbar :-)

Ich danke dir sehr für die schnelle hilfe, jetzt kann ich gleich mal beruhigt in den Feierabend gehen...

VG Martakus
Martakus ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 06.12.2018, 16:40   #7
Martakus
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

hmmm oder auch nicht

Hab grad noch was komisches festgestellt.

Jetzt speichert er die Datei mit dem richtigen Namen und an der richtigen Stelle.
Aber wenn ich die Datei dann mit einem Doppelklick öffnen möchte, funktioniert es nicht.

Es geht zwar Word auf, aber er zeigt mir nur einen grauen Hintergrund...also nichtmal eine weiße leere Wordseite oder so.

Woran könnte das jetzt wohl liegen?

VG Martakus
Martakus ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 06.12.2018, 23:00   #8
Gerhard H
MOF Guru
MOF Guru
Standard

Hallo Martakus,

bei mir passiert das nicht. Deswegen kann ich dir nur ein bisschen Versuch und Irrtum bieten. Ersetze die alte rote Code-Zeile durch eine der beiden Varianten:

Variante a)
Code:

doc_current.SaveAs2 FileName:=str_path & str_file_name & "_" & str_file_number, fileformat:=wdFormatDocumentDefault
Variante b)
Code:

doc_current.SaveAs FileName:=str_path & str_file_name & "_" & str_file_number
Beide speichern im Format docx.

Falls nichts davon zum Ziel führt: Was steht denn in der Titelleiste des leeren Word-Fensters? Der Dateiname oder was anderes?

Und erklär noch eines: In was für Sorte Dokument hast du das Makro drinstehen? Ich bin davon ausgegangen, dass es in einer selbsterstellten Dokumentvorlage (*.dotm) oder in der Normal.dotm steht. Denn würde es in einem normalen Dokument (docx oder docm) stehen wäre das Makro nach dem Speichern futsch, wenn man ausdrücklich als *.docx speichert.

Und: Arbeitest du in einem Netzwerk oder nur auf deinem eigenen PC?

__________________

Gruß
Gerhard
Gerhard H ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 11.12.2018, 08:38   #9
Martakus
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Guten Morgen Gehard,

und sry wegen der späten Rückmeldung...ich hatte die letzten Tage auf der Arbeit leider keine Zeit um mich um EDV-Angelegenheiten zu kümmern.

Du hast mich mit deiner letzten Antwort aber auf den richtigen Lösungsweg gebracht. Ich hatte die Vorlage tatsächlich im docm-Vormat erstellt.

Habe jetzt grad nur einen kurzen Test gemacht und die Vorlage so wie sie ist im dotm-Vormat gespeichert. Anschließend habe ich sie wieder aufgerufen und den Makrobutton "betätigt"...und siehe da, ich konnte die dadurch gespeicherte Datei auch tatsächlich wieder öffnen

Ich vermute, dass ich nun dann auch endlich die Vorlage im gewünschten Umfang fertig stellen kann.

Vielen lieben Dank nochmal für deine Hilfe und ne angenehme Woche...

VG Martakus
Martakus ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:02 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.