Speichern nur über eigenen Button

Antwort erstellen

Smilies
:D :) :( :o :shock: :? 8-) :lol: :x :P :razz: :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :badgrin: :doubt:
BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet
Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Speichern nur über eigenen Button

Re: Speichern nur über eigenen Button

Beitrag von Miss Marple » 28. Aug 2014, 14:45

Ganz schlecht ...

Wenn du ohne diese Option arbeitest, dann gilt: füg es in die allerallererste Zeile = gaaanz oben außerhalb jeder Prozedur ein.

MM

Re: Speichern nur über eigenen Button

Beitrag von Harald_Hamburg » 28. Aug 2014, 14:42

Miss Marple,

ich habe Probleme mit dem Code unter Punkt 2:
Code: Alles auswählen
Public objWord As New clsBeforeSave

denn ich habe in meinem Modul nichts stehen,
dass auch nur ansatzweise 'Option Explicit` heißt.

Sorry!

Re: Speichern nur über eigenen Button

Beitrag von Harald_Hamburg » 28. Aug 2014, 12:21

Danke sehr....

werde es in ruhiger Minute einfügen und gebe auf jeden Fall Bescheid.
Erstmal Danke für die große Mühe.

H.

Re: Speichern nur über eigenen Button

Beitrag von Miss Marple » 28. Aug 2014, 12:16

Danke für den Code, das nächste Mal aber bitte in <Code> Tags setzen ...

So: Damit alles reibungslos funktioniert, musst du die folgenden Schritte 'brav' abarbeiten.

  1. Unter "Microsoft Word Objekte > ThisDocument" guckst du nach, ob es in deiner Vorlage die Prozeduren "Private Sub Document_New()" und "Private Sub Document_Open()" schon gibt.

    Wenn nein, legst du sie an:
    Code: Alles auswählen
    Private Sub Document_Open()

        Set objWord.app = Word.Application
        ActiveDocument.Variables("RightPath").Value = "NotYet"

    End Sub

    Private Sub Document_New()
       
        Set objWord.app = Word.Application
        ActiveDocument.Variables("RightPath").Value = "NotYet"
       
    End Sub


    Wenn ja, ergänzt du sie mit den beiden Zeilen
    Code: Alles auswählen
        Set objWord.app = Word.Application
        ActiveDocument.Variables("RightPath").Value = "NotYet"

  2. In dem Modul, in dem deine 'normale(n)' Prozedur(en) stehen, fügst du direkt unter "Option Explicit" die Zeile …
    Code: Alles auswählen
    Public objWord As New clsBeforeSave

    … ein.

  3. Das Modul, in dem das Speichern vorgenommen wird, ergänzt du mit der Zeile …
    Code: Alles auswählen
    ActiveDocument.Variables("RightPath").Value = "AlreadySaved"

    … am besten irgendwo am Ende, aber an einer Stelle, die definitiv ausgeführt wird.

  4. Über Rechtsklick auf dein Projekt im VBA Editor und "Einfügen > Klassenmodul" fügst du ein neues Kassenmodul ein. Dieses hat zunächst den Namen "Klasse1"

  5. Das benennst du im Eigenschaftenfenster («F4») bitte um in "clsBeforeSave".

  6. Der Code im Klassenmodul muss dann lauten …
    Code: Alles auswählen
    Option Explicit
    Public WithEvents app As Word.Application

    Private Sub app_DocumentBeforeSave(ByVal Doc As Document, SaveAsUI As Boolean, Cancel As Boolean)
    Dim sCheckPath As String
       
        On Error Resume Next
        sCheckPath = ActiveDocument.Variables("RightPath").Value
        If Err.Number > 0 Then Exit Sub
        On Error GoTo 0
        If Not sCheckPath = "AlreadySaved" Then Call TheCodeYouUse

    End Sub

    … wobei "TheCodeYouUse" der Name des Makros ist, in dem die Angaben abgefragt werden, so wie es scheint, bei dir einfach "Makro2". Das musst du dann eben anpassen!

  7. Dann speicherst du die Vorlage und erstellst eine neue Datei auf deren Grundlage.

  8. Die neue Datei versuchst du über den ganz normalen "Speichern" Button zu speichern.

  9. Dann bitte Rückmeldung. Wenn alles klappt, gibt's die Erklärung – die tippe ich in der Zwischenzeit …

Re: Speichern nur über eigenen Button

Beitrag von Harald_Hamburg » 28. Aug 2014, 11:48

Infos welcher Art werden denn benötigt?

Wie der Code aussieht, der das Makro bildet?
Bitte!

Sub Makro2()

Dim strMeinName As String
strMeinName = InputBox("Das Dokument wird automatisch mit Datum gespeichert unter: G:\Revision\Meldungen\...Ihr müsst nur folgendes eingeben,
natürlich (durch Kommata und Leerzeichen) getrennt: Name, Vorname des Gefg., Name Beamter", "Lesen, verstehen, begreifen, handeln!")

If Len(strMeinName) > 1 Then
ActiveDocument.ExportAsFixedFormat OutputFileName:= _
"G:\xxx\xxx\xxx - xxx etc\ " & strMeinName & Format(Now, " - dd.mm.yyyy") & " - xxx.pdf", _
ExportFormat:=wdExportFormatPDF, _
OpenAfterExport:=True, OptimizeFor:= _
wdExportOptimizeForPrint, _
Range:=wdExportAllDocument, _
From:=1, To:=1, _
Item:=wdExportDocumentContent, _
IncludeDocProps:=True, _
KeepIRM:=True, _
CreateBookmarks:=wdExportCreateNoBookmarks, _
DocStructureTags:=True, _
BitmapMissingFonts:=True, _
UseISO19005_1:=False
End If
End Sub

Re: Speichern nur über eigenen Button

Beitrag von Miss Marple » 28. Aug 2014, 11:06

So, hab 'ne Lösung gefunden, brauch dazu aber Infos ...

Gruß
MM

Re: Speichern nur über eigenen Button

Beitrag von Miss Marple » 28. Aug 2014, 09:28

Kann ich verstehen, ist nicht gerade Sinn der Sache.

Woran kann ich denn erkennen, ob schon mal der richtige Button geklickt wurde? Schreibst da was in eine Dokumentvariable, oder kann ichs nur am Speicherpfad erkennen?

War zu faul, im alten Forum zu suchen ... :roll:

MM

Re: Speichern nur über eigenen Button

Beitrag von Harald_Hamburg » 28. Aug 2014, 09:14

Moin... MM

Ja, es ging um einen bestimmten Speicherort und darum, WIE das Dokument aufgrund
der Vorlage gespeichert werden sollte. Durch Klick auf den eigenen Button öffnet sich
ein Fenster, in das bestimmte Infos, die in diesem Fenster vorgegeben sind, eingetragen
werden. Daraufhin wird das Dokument im vorgesehen Ordner (via Makro) und unter
Angabe des aktuellen Datums gespeichert.

Dennoch klicken immer noch viele auf den normalen Speichern - Button und verursachen
mehr Arbeit als Effektivität.

H.

Re: Speichern nur über eigenen Button

Beitrag von Miss Marple » 28. Aug 2014, 08:55

Ich such mal nach dem alten Link und vielleicht hab ich dann ja auch eine ganz andere Idee als 'Button sperren'.

Das war/ist der Link: http://office-loesung.de/ftopic653273_0_0_asc.php

Und bei genauerem Nachdenken, hatte ich schon damals Recht: du kannst den Button nicht für andere entfernen. Insofern ist mein Vorschlag aus dem vorherigen Beitrag noch nicht mal richtig ... also vergiss diese Lösung.

Ich werd mal in einer ruhigen Minute in mich gehen und im alten Thread nachlesen, warum es ausgerechnet ein eigener Button sein muss. Ging es nur um den Speicherort?

MM

Re: Speichern nur über eigenen Button

Beitrag von Harald_Hamburg » 28. Aug 2014, 08:51

Ähhhhmmmm....

ich habe zwar die Vorlage erstellt mit eigenem Button, aber die Hinweise dazu waren
im alten Forum gelistet und das gibts ja nicht mehr.
Ich fische also etwas im Trüben, wenn es nun heißt, den Speicher-Button kannst
du genauso entfernen, wie Du Deinen eigenen Button eingefügt hast.

Aber danke für die versuchte Hilfe.

Re: Speichern nur über eigenen Button

Beitrag von Miss Marple » 28. Aug 2014, 08:05

Moin

Also kann eine entsprechende "Deaktivierung" des Speichersymbols
nur über die aktuell benutzte Vorlage laufen.


Richtig! Ich weiß ja nicht, ab die anderen Benutzer deiner Vorlage Amok laufen, wenn das Speichern Symbol nicht mehr da ist, aber genau so wie du deinen ExtraSpeichern Button nur für diese Vorlage in den Schnellstartleiste gezogen hast, kannst du den NormalSpeichern Button auch nur für diese Vorlage aus der Schnellstartleiste entfernen. Das ist zwar nur ein müder Versuch, das normale Speichern zu unterbinden, aber besser als nix.

Alle anderen Varianten erfordern schon tiefere Eingriffe in Word, die mit "allenfalls rudimentären Kenntnissen" in VBA nicht umzusetzen sind.

Nicht verhindern kannst du mit dieser Methode das Speichern über "Datei > Speichern" und schon gar nicht «Strg+S» zum Speichern.

Gruß
MM

Re: Speichern nur über eigenen Button

Beitrag von Harald_Hamburg » 28. Aug 2014, 07:33

Guten Morgen und Danke für die schnelle Antwort.

Also, das Problem ist folgendes: ich sitze in einer Behörde,
wo jeder in de Abteilung einen eigenen Account besitzt
und somit jeder auch sein eigenes Word 2010.
Also kann eine entsprechende "Deaktivierung" des Speichersymbols
nur über die aktuell benutzte Vorlage laufen.

Ist das möglich oder gehe ich da gedanklich falsche Wege?

Harald

Und... meine Kenntnisse sind allenfalls rudimentär.

Re: Speichern nur über eigenen Button

Beitrag von dappes » 27. Aug 2014, 23:35

Hi,

entweder das Disk-symbol aus dem Menü entfernen und/oder eine Sub erstellen, die gleichnamig ist mit dem Befehl der beim Disk-Symbol hinterlegt ist.
Das Disk-Symbol ist im Prinzip ja auch ein (wordinternes) Makro.
Bei Office 2010 weiss ich nicht wo man das nachschauen kann. In 2003 gab es einen Menüpunkt der die ganzen Makros aufgelistet hat.

Welche Word-Version hast du denn?

Speichern nur über eigenen Button

Beitrag von Harald_Hamburg » 22. Aug 2014, 11:40

Hallo Leute,
ich habe eine wirklich gute Vorlage mit Eurer Hilfe erstellt
und sie funktioniert wunderbar.
Die von dieser Vorlage erstellten Dokumente sollen über einen
speziellen Button gespeichert werden. Über diesen werden die Dokus
nämlich in einem bestimmten Verzeichnis mit Datumsangabe gesichert.
Leider ist es immer noch so, dass mehrere Kollegen es nicht
hin bekommen, diesen Button "Billardkugel" zu benutzen uns
statt dessen auf das Diskettensymbol klicken.
Gibt es eine Möglichkeit, in der Vorlage einen Code zu implementieren,
der die Speicherung via Diskettensymbol untersagt und diesen
Button während der Arbeit mit den Vorlagen außer Kraft setzt?

Harald

Nach oben