Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1656to1660
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro Word automatische Speicherung/Aktualisierung

Makro Word automatische Speicherung/Aktualisierung
16.11.2018 14:30:13
john
Hallo,
ich möchte mit diesem Code folgendes bewirkten (aktuell funktioniert es nicht wie gewollt) Eine Word Datei soll nach dem Name der aktuellen Überschrift gespeichert werden. Danach soll die Überschrift sowie einmal Datum und Daten auf Seite 1 und 2 gelöscht und das aktuelle Datum eingefügt werden. Mit dem Makrorecorder ist der Code zustande gekommen der aber leider nicht ganz korrekt funktioniert. Die Datei wird leider nicht individuell benannt sondern immer nur nach der gleichen Überschrift.
Ausserdem startet das Makro erst wenn ein Text markiert wurde und wenn das Datum eingefügt wird ist es nicht an der Stelle wie das alte Datum sondern an der Stelle der Überschrift und dann doppelt.
Ist das was ich möchte mit Word überhaupt möglich da es hier keine Festen Zellen und Spatlten _ gibt?

Sub Makro1()
' Makro1 Makro
Selection.Copy
ChangeFileOpenDirectory _
"C:/Pfad "
ActiveDocument.SaveAs2 FileName:= _
"c:Pfad/Das%20soll%20der%20Dateiname%20werden..docm" _
, FileFormat:=wdFormatXMLDocumentMacroEnabled, LockComments:=False, _
Password:="", AddToRecentFiles:=True, WritePassword:="", _
ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
False, CompatibilityMode:=15
Selection.TypeBackspace
Selection.InsertDateTime DateTimeFormat:="dd.MM.yyyy", InsertAsField:= _
False, DateLanguage:=wdGerman, CalendarType:=wdCalendarWestern, _
InsertAsFullWidth:=False
Selection.TypeBackspace
Selection.InsertDateTime DateTimeFormat:="dd.MM.yyyy", InsertAsField:= _
False, DateLanguage:=wdGerman, CalendarType:=wdCalendarWestern, _
InsertAsFullWidth:=False
Selection.TypeBackspace
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Word automatische Speicherung/Aktualisierung
16.11.2018 22:24:02
Rob
Hi, Du kannst in Word Textmarken setzen und anschl. mit VBA gezielt darauf zugreifen, um z.B. das Datum zu löschen und ein aktuelles einzugeben.
Einfügen / Textmarke (Office 2016)
Rob
AW: Makro Word automatische Speicherung/Aktualisierung
16.11.2018 22:47:53
Rob
Du musst die Textmarken nach dem Löschen allerdings wieder hinzufügen, da man nicht nur den Text löschen kann. Z.B. so:

Sub DeleteBookmarks()
Dim wd As Word.Document
Dim b As Range
Set wd = ActiveDocument
Set bm = wd.Bookmarks("Datum").Range
bm.Delete
Bookmarks.Add "Datum", b
bm.InsertDateTime Format(Now(), "dd-mm-yyyy")
End Sub

AW: Makro Word automatische Speicherung/Aktualisierung
16.11.2018 23:24:41
Rob
Ach so, um die Datei mit dem Namen der Überschrift abzuspeichern, kannst Du noch folgenden Code hinzufügen:

Dim b2 As Range
Dim docName As String
'"Überschrift" ist die Bezeichnung für die Textmarke, kann aber beliebig von Dir geändert  _
werden
Set b2 = wd.Bookmarks("Überschrift").Range
docName = b2.Text
Bookmarks.Add "Überschrift", b2
'"ÜberschriftMitTextmarke" dann entsprechend Deiner Überschrift anpassen
b2 = "UeberschriftMitTextmarke"
'den Speicherpfad dann beliebig anpassen
wd.SaveAs2 Environ("Userprofile") & "\Desktop\" & docName & ".doc"
'aktuelles Dokument wird geschlossen ohne dass die Änderungen gespeichert werden.
wd.Close SaveChanges:=False
PS: Mir ist aufgefallen, dass ich im ersten Code-Abschnitt die Variable für die Range mit b und mit bm angegeben habe. Hier alles auf b ändern.
Anzeige
AW: Makro Word automatische Speicherung/Aktualisierung
16.11.2018 23:28:10
Rob
Noch ein Fehler. Im zweiten Code-Abschnitt die Textmarke b2 löschen:

docName = b2.Text
b2.Delete
Bookmarks.Add "Überschrift", b2

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige