Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1260to1264
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

Datei als Anhang versenden (neu)

Datei als Anhang versenden (neu)
Tim
Hallo,
dank der Hilfe hier im Forum habe ich folgenden Code erstellt.
Das klappt soweit sehr gut, so dass nun nur noch ein letztes Problem besteht:
Wie kann ich verhindern, dass man innerhalb der Datei auf Senden klicken und damit die Datei automatisch einer Email anhängen kann ?
Bei mir heißt diese Funktion "Save & Send" bzw. "Speichern und Senden".
Falls es keine Möglichkeit gibt, das direkt abzufangen, hat vielleicht jemand eine Idee für einen Umweg ?
Das wäre eine riesen Hilfe !
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If Not Sheets(1).Range("F1204") = "Administrator" Then
MsgBox "Confidential data - Saving is only allowed for administrators !", _
vbCritical, "Deactivated Feature"
Cancel = True
End If
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Not Sheets(1).Range("F1204") = "Administrator" Then
MsgBox "Confidential data - Printing is only allowed for administrators !", _
vbCritical, "Deactivated Feature"
Cancel = True
End If
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not Sheets(1).Range("F1204") = "Administrator" Then
ThisWorkbook.Saved = True
End If
End Sub
VG und vielen Dank im Voraus, Tim
AW: Datei als Anhang versenden (neu)
08.05.2012 19:29:22
Tim
Hallo,
ich habe meinen Code noch etwas überarbeiten können - such immer noch dringend nach einer Lösung, das Senden als Anhang aus der Datei heraus zu verhindern:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If Not Sheets(1).Range("F1204") = "Administrator" Then
MsgBox "Confidential data - Printing is only allowed for administrators !", _
vbCritical, "Deactivated Feature"
Cancel = True
End If
End Sub

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Not Sheets(1).Range("F1204") = "Administrator" Then
MsgBox "Confidential data - Saving is only allowed for administrators !", _
vbCritical, "Deactivated Feature"
Cancel = True
End If
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Not Sheets(1).Range("F1204") = "Administrator" Then
ThisWorkbook.Close SaveChanges:=False
End If
End Sub
Zusätzlich verwende ich folgendes, um die entsprechenden Tastenkombinationen zu blockieren:
With Application
.OnKey "^p", ""
.OnKey "^s", ""
.OnKey "%{F2}", ""
End With
Danke für jeden weiteren Tipp !
VG, Tim
Anzeige
AW: Datei als Anhang versenden (neu)
09.05.2012 07:32:00
Marc
Moin!
Du könntest die Menüeinträge deaktiveren:
Den folgenden Codeschnipsel mußt du für dich anpassen.....
Gruß, MCO
For Each mpunkt In CommandBars("Worksheet Menu Bar").Controls(1).Controls 'Funktionen in Menüleiste
With mpunkt
Debug.Print .Index, .Caption
If .Index 1 And _
.Index 2 And _
.Index 3 And _
.Index 18 And _
.Index 19 And _
.Index 32 Then
'.Visible = False
.Enabled = False
End If
End With
Next mpunkt
AW: Datei als Anhang versenden (neu)
09.05.2012 20:47:58
Tim
Hallo Marc,
vielen vielen Dank dafür - genau so etwas hatte ich im Sinn. :-)
Sehe ich es richtig, dass die Zahlen die Indices der jeweiligen Buttons bzw. Funktionen sind ?
Falls ja, vermute ich, dass sich diese je nach Excel-Version ändern können ?
Wie kann ich die Zahlen denn für Office 2007 herausfinden ? Sieht man das in Excel selber ?
Momentan interessiert mich v.a. das Senden als Anhang, das bei mir unter dem bunten Button links oben im Eck erscheint (= "Speichern und Senden").
Weisst Du, was ich hier machen kann ?
VG, Tim
Anzeige
AW: Datei als Anhang versenden (neu)
10.05.2012 06:35:15
Marc
Guten Morgen!
Im Code ist eine Zeile "Debug.print "..., die Bewirkt, das jeder Eintrag der angepackt wird in den Direktbereich geschrieben wird, erreichbar mit STRG+G. Das zeigt dir jeweils, welcher Eintrag welchen Index hat.
Du kannst den Knopf oder die ganze Leiste genauso ansprechen und deaktivieren oder ausblenden oder löschen oder sonstwas. Einfach den code für dich anpassen: erst den namen rausfinden, dann das Steuerelement.
For Each cbar In CommandBars
If cbar.Visible = True Then
With cbar
Debug.Print .Index, .Name
End With
End If
Next
Viel Erfolg!
Gruß, Marc
Anzeige
AW: Datei als Anhang versenden (neu)
10.05.2012 21:34:03
Tim
Hallo Marc,
vielen Dank nochmal.
Ich mache es wahrscheinlich falsch, weil bei mir das STRG+G Feld immer leer erscheint.
Kannst Du mir vielleicht die einzelnen Schritte sagen und ob ich den Code in ein Modul oder anders speichern muss ?
VG und vielen Dank für alle Hilfe, Tim
AW: Datei als Anhang versenden (neu)
11.05.2012 09:29:09
Marc
Die Tastenkomintation ist STRG+F11 (Editor), dann STRG+g
Wenn du dann das makro ablaufen lässt, schreibt er die Daten rein.
Gruß, Marc
AW: Datei als Anhang versenden (neu)
13.05.2012 10:00:09
Tim
Hallo Marc,
vielen Dank dafür !
Ich habe Deinen zweiten Code jetzt in ein Modul kopiert und erhalte dann auch Daten im Editor, allerdings immer nur das folgende:
1 Worksheet Menu Bar
16 Formatting
151 Status Bar
152 Ribbon
Dazu habe ich noch zwei Fragen und hoffe, Du kannst mir auch damit weiterhelfen - sorry, dass ich so viel nachfrage, aber ich bin mit VBA noch relativ am Anfang:
1) Wie kann ich mir hier bestimmte IDs anzeigen lassen, z.B. die für "Datei" - "Speichern und Senden" - "Als Anlage senden" ?
2) Wie verwende ich Deinen ersten Code hier, um eine ganz bestimmte ID (z.B. 1 für die Menüleiste) zu deaktivieren ? Muss ich ihn dazu in Workbook_Open kopieren ?
VG, Tim
Anzeige
AW: Datei als Anhang versenden (neu)
14.05.2012 06:42:47
Marc
Guten Morgen!
Fragen ist nicht schlimm.
1) Die codes, die ich dir geschickt habe dienen auch der Indentifizierung. "Datei" steht ja schon im "Worksheet Menu Bar" (index 1), also nimmst du jetzt den ersten Code und hechelst alle Elemente dieser Leiste durch und stellst fest, welches Element "Speichern und Senden" (komisch: bei mir heißt "Senden an") ist und dann sehen wir weiter. In diesem dann von dir gefundenen Element kannst du bestimmt wieder mehere Sachen finden, sodass du ganz gezielt deinen Menüpunkt deaktivieren oder ausblenden kannst.
2) Das wär schon praktisch...
Gruß, MCO
Anzeige
AW: Datei als Anhang versenden (neu)
14.05.2012 16:02:31
Tim
Hallo Marc,
vielen Dank nochmal.
Ich habe probiert, die ganze Menu Bar oder einzelne Funktionen zu deaktivieren, das klappt aber nicht.
Bist Du sicher, dass Dein Code auch unter Excel 2007 oder Excel 2010 funktioniert ?
Kannst Du mir evtl. ein Beispiel zur Deaktivierung einer konkreten Funktion schicken, damit ich es damit noch einmal überprüfen kann ?
VG, Tim

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige