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 12.02.2019, 09:09   #1
JuMathias
MOF Profi
MOF Profi
Standard Frage - Erkennung: "Speichern" oder "Speichern unter" aktiviert?

Hallo ihr Fleißigen im Forum,

ich habe heute folgende Frage, da ich im www leider noch nicht die Lösung gefunden habe:

Ist es möglich, dass ich mit Nutzung der nachfolgenden Zeile

Private Sub appWord_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean)


erkenne, ob die Option "Speichern" bzw. "Speichern unter" gedrückt wurde?

Eine Abhilfe wäre:

(1) Einem Ribbon die entsprechenden zwei Schaltflächen spendieren
(2) in WORD unter "Datei" die beiden Optionen deaktivieren

Von dieser Lösung sollte ich Abstand nehmen.


Hat jemand von euch schon einmal dieses Feature implementiert?

Gruß

JuMathias

Geändert von JuMathias (12.02.2019 um 09:13 Uhr).
JuMathias ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.02.2019, 09:47   #2
Gerhard H
MOF Guru
MOF Guru
Standard

Hallo Matthias,

ich finde genügend Erklärungen im Netz zum Parameter SaveAsUI

Hier ein Basis-Beispiel, in dem vor dem Überschreiben eines Dokuments gewarnt wird. Deklaration und Initialisierung der Ereignisvariable WordApp ist als bereits erledigt vorausgesetzt:
Code:

Private Sub wordApp_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean)
    If SaveAsUI = True Then
        MsgBox "Du darfst unter einen anderen Namen speichern"
    Else
        MsgBox "Du darfst dieses Dokument nicht überschreiben!"
        Cancel = True
    End If
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 12.02.2019, 10:08   #3
JuMathias
Threadstarter Threadstarter
MOF Profi
MOF Profi
Standard Dankeschön, Gruß und Hinweis

Hallo Gerhard,

ein Dankeschön zurück an dich.
Ich hole noch ein wenig weiter aus:

Wenn der User die Option "Speichern" drückt,
dann wird von mir der Speicherbefehl in VBA (wahrscheinlich ein Einzeiler) genutzt.

Wenn der User die Option "Speicher unter" drückt,
dann wird von mir dem zusätzlich integrierten "Speicher unter"-Dialog noch Parameter mitgegeben.
Ähnlich wie hier:

PHP-Code:

With o_Prompt

   
For 1 To .Filters.Count
      
If (Right(.Filters(i).Extensions4) = "docm"Then
         
.FilterIndex i
         
Exit For
      
End If
   
Next
    
   
.Title "Prüfprotokoll speichern"
   
.ButtonName "Speichern"
   
.InitialFileName s_PfadUndDatei

   
If .Show = -1 Then
      s_Filename 
= .SelectedItems(1)
      
ActiveDocument.SaveAs2 s_PfadUndDatei13
   
Else
      
MsgBox "Sie haben den Speichervorgang abgebrochen."vbInformation"Hinweis"
      
Exit Sub
   End 
If
End With

Set o_Prompt 
Nothing 

Und am Ende der

Private Sub appWord_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean)

kommt das eigentliche, nennen wir es "versteckte Speichern von EXCEL", wo ich dann mit VBA weitere Meldungen unterdrücken muss.

Deshalb die erforderlich Erkennung, welche Speicheroption gedrückt wurde.
Es geht hier nicht um das Überschreiben der Datei.




Gruß

JuMathias

Geändert von JuMathias (12.02.2019 um 10:18 Uhr).
JuMathias ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.02.2019, 11:13   #4
Gerhard H
MOF Guru
MOF Guru
Standard

Hallo Mathias,

das war auch nur ein Beispiel, das dir sagen sollte: Ob einer "Speichern unter" will oder nur speichern, erkennst du daran, ob SaveAsUI true oder false ist.

Wie du damit umgehen willst, da wollte ich mich nicht einmischen, zumal ich nicht weiß, an welcher Stelle du da welches Problem hast.

__________________

Gruß
Gerhard
Gerhard H ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.02.2019, 12:43   #5
JuMathias
Threadstarter Threadstarter
MOF Profi
MOF Profi
Standard Ein Gruß und Dankeschön dem fleißigen Gerhard

Hallo Gerhard, auch ein hallo an alle anderen Aktiven im Forum,

ich werde Gerhards Zeilen nach 20 Uhr 'mal ausprobieren.

D.h.: Bis dahin keine weiteren Antworten hier veröffentlichen.

Gruß

JuMathias
JuMathias ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.02.2019, 13:19   #6
MarkMH_K
MOF User
MOF User
Standard

Hi,

vielleicht solltest Du jemanden einstellen, der Dir die Beiträge vorliest, die nicht zu Uhrzeiten geschrieben werden, an denen Majestät geruht - äh nein, Du bereit bist -, auf Hilfsangebote zu reagieren.
Ich jedenfalls habe meine entsprechenden Zeitfenster auf null gesetzt. Bah.

Unfreundlich

Markus
MarkMH_K ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.02.2019, 14:09   #7
Hasso
MOF Meister
MOF Meister
Standard

Hallo Markus,

könntest du vielleicht mal erklären, was deine kryptische Bemerkung bedeuten soll und an wen sie sich richtet?

__________________

Gruß Hasso

Programmers don't die, they just GOSUB without RETURN

System Windows 7 Enterprise 64, Office 2013
Wenn dir mein Beitrag gefallen hat, kannst du ihn bewerten (mit dem Symbol links unten)
Hasso ist gerade online  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.02.2019, 16:21   #8
JuMathias
Threadstarter Threadstarter
MOF Profi
MOF Profi
Standard GRuß & Hinweise & Teil-PAP

Hallo zusammen,

wenn ich erwähne, dass ich später noch etwas 'liefern' werde,
so hat das seinen Grund und Zweck,
dass ihr derzeit keine Beiträge erstellen müsst.
... habe es auch versucht so durch die Blume auszudrücken.
Wenn ich mit dem Auto bei ROT an eine Ampel komme fahre ich ja auch nicht unbedingt weiter, es sei denn, ich habe ein Blaulicht dabei :O).

Was gibt es an Neuigkeiten vor 20 Uhr?

Nachfolgender Screen.
Da seht ihr die Nachfolgeaktionen, zu denen es kommen kann.
Der Einsatz eines Ribbons fand ich prima, will man aber nicht so
und ich muss die Optionen mit einem eigenen Dialog steuern.

Hinweis: Das wird die Realisierung und die Frage im Screen ist nicht an euch gerichtet!

D.h.: Ich werde erst nach 20 Uhr weiterentwickeln.


Gruß

JuMahias
Angehängte Grafiken
Dateityp: png BildFürForum.PNG (55,5 KB, 9x aufgerufen)

Geändert von JuMathias (12.02.2019 um 16:59 Uhr).
JuMathias ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.02.2019, 21:07   #9
JuMathias
Threadstarter Threadstarter
MOF Profi
MOF Profi
Standard Antwort auf den guten Beitrag von Gerhard (#2)

Hallo Gerhard,

dein Beitrag ist die korrekte Antwort auf die Frage:

Kann mit wordApp_DocumentBeforeSave erkannt werden, ob der User
"Speichern' / 'Speichern unter' gedrückt hat: Ja.

Code:

Private Sub wordApp_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean)
    If SaveAsUI = True Then
        MsgBox "'Speichern unter' - Dialog wird angezeigt"
    Else
        MsgBox "'Speichern erfolgt, ohne 'Speichern unter'- Dialog"
        Cancel = True
    End If
End Sub

Mit Gerhards Lösung müsste ich schauen, dass

(1) im if-Zweig der korrekte Pfad angegeben ist
(2) im else-Zweig meinen "Speichern unter"-Dialog einbaue mit diversen Parametern: Pfad, Dateiname, Button-Beschriftung
und
bei erreichen des 'End Sub' die Meldung zum Speichern unterdrücke.
Nicht schön, aber selten.

D.h.: Ich habe die Auswahl zwischen der

(1) der Gerhardschen-Methode
(2) JuMathias-Methode (Screen von #8)

So, jetzt können ihr gerne (wieder) kommentieren.

Gruß

JuMathias

Geändert von JuMathias (12.02.2019 um 21:12 Uhr).
JuMathias ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.02.2019, 23:19   #10
JuMathias
Threadstarter Threadstarter
MOF Profi
MOF Profi
Standard

Ein "Hallo" zusammen,

bei der Nutzung des genialen Gerhardschen-Ansatzes nutze ich folgendes Konstrukt:



Code:

Private Sub appWord_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean)
   
If SaveAsUI = True Then
   'Speichern unter' - Dialog
   Hauptfunktionalitaeten.DateiSpeichernUnterDialog
   'In dieser Routine baue ich, wie bei einigen #'s erwähnt,
   'meinen eigenen Dialog zusammen
   '(Pfadvorgabe, Filter, Buttonbeschriftung) 
   'Klar, das ist Zweckentfremdung der Prozedur, die anders angedacht ist.
   Folgeaktion: Ich muss am Ende der Sub den eigentlichen Dialog unterdrücken.
Else
   'MsgBox "'Speichern erfolgt, ohne 'Speichern unter'- Dialog"
End If

Cancel = True
Application.DisplayAlerts = False
Hoffnung, das beim 'Speichern unter' nicht der 'Speichern unter'-Dialog angezeigt wird.

End Sub


Fakt ist, dass der "Speichern unter"-Dialog trotzdem angezeigt wird.

Geht das mit dem "Nichtanzeigen des Dialoges" überhaupt mit einer VBA-Zeile?

Gruß

JuMathias

Geändert von JuMathias (12.02.2019 um 23:54 Uhr).
JuMathias ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.02.2019, 00:54   #11
Gerhard H
MOF Guru
MOF Guru
Standard

Hallo Matthias,

wenn du den Standard-Speicherdialog durch deinen eigenen ersetzen willst, muss das Cancel = true natürlich dorthin, wo es noch in Aktion treten kann, bevor der Standard-Speicherdialog gezeigt wird, d.h. hier:
Code:

If SaveAsUI = True Then
        Cancel = True
'....

__________________

Gruß
Gerhard
Gerhard H ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.02.2019, 10:18   #12
EarlFred
MOF Guru
MOF Guru
Standard

zuerst: Es gibt 3 Übergaben an die Prozedur, die hier ausreichend beschrieben sind:
https://docs.microsoft.com/de-de/off...mentbeforesave

Den Link habe ich dir in einem anderen Thread zu exakt dem gleichen Thema schon einmal gepostet. Warum liest Du nicht zuerst in der OH nach, wie die Dinge funktionieren?

Code:

Hoffnung, das beim 'Speichern unter' nicht der 'Speichern unter'-Dialog angezeigt wird.
Fakt ist, dass der "Speichern unter"-Dialog trotzdem angezeigt wird.
Geht das mit dem "Nichtanzeigen des Dialoges" überhaupt mit einer VBA-Zeile?
Deine Frage ist mal wieder wirr und wischiwschi - und würde sich beim Blick in die Dokumentation überhaupt nicht stellen:
SaveAsUI reagiert - wie dokumentiert - sowohl beim Aufruf des Speichern-Unter-Dialogs durch den Nutzer als auch bei Nutzung der Methoden SaveAs /SaveAs2. Das ließe sich durch eine primitive Testdatei auch verifizieren - in 2 Minuten.

Um also den Fall Nutzer / Methode unterscheiden zu können, musst Du eine weitere Information in die Sub schleusen. Das könntest Du z. B. tun, indem Du eine globale Variable deklarierst (Boolean), die Du VOR Nutzung der SaveAs/SaveAs2-Methode auf TRUE setzt (FALSE wäre ja Default, hier also ungeeignet) und danach sofort wieder auf FALSE.
In der Sub DocumentBeforeSave prüfst Du dann nicht nur auf SaveAsUI, sondern auch Deine Variable und reagierst entsprechend.

__________________

Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}
Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren
Für 7 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,049% per 19.12.2018) - eine tolle Geste!
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.02.2019, 12:08   #13
JuMathias
Threadstarter Threadstarter
MOF Profi
MOF Profi
Standard Gruß und Hinweis

Hallo Earl,

ein Dankeschön für deine Mühen und ausreichenden Informationen.
Wie VBA den Parameter "SaveAsUI" nutzt ist mir nun bekannt.
Ich hatte es getestet.

ich bin dann auf einen anderen Weg gekommen, nicht durch meinen Einfall,
sondern der Anforderung des Users.
Es treten dann an der einen oder anderen Stelle andere Problemchen auf,
mehr dazu, bald.

(Ich habe den Anwender versucht zu überreden, die Ribbon-Lösung zu nehmen, bei der ich seit letztem Montag schon fertig gewesen wäre)

Gruß

JuMathias

Geändert von JuMathias (14.02.2019 um 12:13 Uhr).
JuMathias ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.02.2019, 12:20   #14
EarlFred
MOF Guru
MOF Guru
Standard

Zitat:

Es treten dann an der einen oder anderen Stelle andere Problemchen auf,
mehr dazu, bald.

ich kann meine Vorfreude nur schwer in Worte fassen.
Wird bestimmt wieder ein Erlebnis der besonderen Art werden.

__________________

Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}
Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren
Für 7 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,049% per 19.12.2018) - eine tolle Geste!
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.02.2019, 12:31   #15
JuMathias
Threadstarter Threadstarter
MOF Profi
MOF Profi
Standard :o)

Hallo Earl,

so geht es mir auch jeden Tag unter VBA für WORD. Das ist schon ein hartes Brot :O).

JuMathias
JuMathias 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 12:05 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 - 2019, 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.