Word Makro - Dokument aktualisieren

Moderator: ModerationP

Word Makro - Dokument aktualisieren

Beitragvon FoxOff » 23. Mai 2022, 11:20

Hallo an alle,

Ich habe eine Word Vorlage erstellt und komme soweit bestens klar. Ich habe nur ein kleines "Problem":
Ich hab bisher ein Makro für Speichern, welches bewirkt, wenn man auf Speichern geht, wird der Name des Dokuments direkt aus zwei Inhaltssteuerelementen "Dokumententitel"(Teil2) und "Dokumentennummer"(Teil1) generiert.
Praktisch also: "1_Test.docx" Teil1 ist vorn die Nummer und Teil2 der Titel.
Nun möchte ich aber, wenn das Dokument bereits existiert und dieses bearbeitet wurde, man auf Speichern geht und das Dokument direkt "ersetzt" oder aktualisiert wird, ohne dass man nochmal erneut den Pfad und expliziten Ordner auswählt. Also ohne das Speichern Fenster. Dass es einfach nur aktualisiert.
-> Sorry diese Beschreibung (Ist mein geheimes NICHT-Talent :D)

Hier einmal mein FileSave Makrocode:
Code: Alles auswählen
Sub FileSave()

Dim dateiname As String, teil1 As String, teil2 As String
Dim cc As Word.ContentControl
For Each cc In ActiveDocument.ContentControls
If cc.Title = "Dokumentennummer" Then teil1 = cc.Range.Text
If cc.Title = "Dokumententitel" Then teil2 = cc.Range.Text
Next
dateiname = teil1 & "_" & teil2
With Dialogs(wdDialogFileSaveAs)
.Name = "Speicher-Pfad" & dateiname
.Show
End With

End Sub
FoxOff
 

Re: Word Makro - Dokument aktualisieren

Beitragvon theoS » 27. Mai 2022, 22:04

Du könntest dazu z.B. überprüfen ob das Dokument schon vorhanden ist:
https://www.vba-hexerei.de/2017/07/21/u ... existiert/
oder hier:
http://www.office-loesung.de/ftopic79568_0_0_asc.php
Wenn ja, dann überschreiben sonst neu anlegen.
theo s.
Benutzeravatar
theoS
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 5937
Registriert: 19. Apr 2008, 00:14

Re: Word Makro - Dokument aktualisieren

Beitragvon knobbi38 » 28. Mai 2022, 00:43

Hallo,

hier zwei einfache Funktionen zum Prüfen, ob ein Datei oder ein Ordner bereits existiert, ohne externe Referenz oder Dir() zu verwenden:
http://www.office-loesung.de/p/viewtopic.php?f=167&t=826561&p=3269775#p3269604

Gruß Ulrich
knobbi38
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 4242
Registriert: 02. Jul 2015, 14:23

Re: Word Makro - Dokument aktualisieren

Beitragvon theoS » 29. Mai 2022, 19:04

hier zwei einfache Funktionen zum Prüfen, ob ein Datei oder ein Ordner bereits existiert,

Wusste ich doch, dass die da erst mal was drüber gelesen hatte hier drin, aber nicht mehr wiedergefunden. Danke dir für die Erinnerung.
Hatte einen der Codes mal verwendet und das ging gut.
Eine Frage hätte ich aber aber noch an @Ulrich: klappt der Code auch in der Cloud? Das doofe Ding hat ja immer eine https://-Adresse
Das habe ich noch nicht ausprobiert weil ich diese Datei wo ich den Code verbaut hab nicht damit ausprobiert hab.
theo s.
Benutzeravatar
theoS
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 5937
Registriert: 19. Apr 2008, 00:14

Re: Word Makro - Dokument aktualisieren

Beitragvon knobbi38 » 29. Mai 2022, 19:25

@Theo:
kann ich dir gar nicht mal beantworten, ob die VBA Funktionen mit einer File URI Angabe etwas anfangen können - ich vermute eher nicht. Du könntest versuchen, zuvor die File URI in einen "gewöhnlichen" UNC Pfad zu konvertieren.
Es kommt wohl darauf an, wie die Cloud angebunden ist.
Idee: wenn du wirklich nur eine FILE URL hast und wissen möchtest, ob die Datei existiert, könnte man das eventuell mit einem HTTP Request abfragen, in dem man einen "HEAD" Request zum Server sendet.

Gruß Ulrich

Nachtrag:
gerade eine passende Funktion gefunden, zwar ein normaler Request, aber wenn es funktioniert:
Code: Alles auswählen
Function URLExists(url As String) As Boolean
    Dim Request As Object
    Dim ff As Integer
    Dim rc As Variant

    On Error GoTo EndNow
    Set Request = CreateObject("WinHttp.WinHttpRequest.5.1")

    With Request
      .Open "GET", url, False
      .Send
      rc = .StatusText
    End With
    Set Request = Nothing
    If rc = "OK" Then URLExists = True

    Exit Function
EndNow:
End Function

Quelle: https://www.mrexcel.com/board/threads/check-if-url-exists-is-so-then-return-true.567315/
knobbi38
Im Profil kannst Du frei den Rang ändern
 
Beiträge: 4242
Registriert: 02. Jul 2015, 14:23


Zurück zu Word Forum (provisorisch)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste