Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
812to816
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
812to816
812to816
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Noch eine Frage, vielleicht "Orakel" ?

Noch eine Frage, vielleicht "Orakel" ?
28.10.2006 21:11:00
Walter
Guten Abend,
hatte von Orakel dies Lösung für das Ausschalten von ALT+F11:

Sub F11_ausschalten()
Dim i As Byte
On Error Resume Next
With Application
i = 11
.OnKey "%{F" & i & "}", ""
End With
End Sub


Sub F11_einschalten()
Dim i As Byte
On Error Resume Next
With Application
i = 11
.OnKey "%{F" & i & "}"
End With
End Sub

Jetzt brauch ich das noch für ALT+TAB, damit man nicht das Makro aussuchen kann,
gruß Walter

25
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Noch eine Frage, vielleicht "Orakel" ?
28.10.2006 21:46:14
Nepumuk
Hallo Walter,
steck da nicht allzuviel Energie rein, ich komme trotzdem an die Makros, egal was du versuchst. Das ist mit reinem VBA nicht zu machen.
Gruß
Nepumuk
Ja aber
28.10.2006 22:45:24
Walter
Hallo Nepumuk,
im Prinzip hast Du RECHT aber es sind nicht alles "Fachleute", die Tastaturbelegung
mit "ALT+TAB" zu den einzelnen Tabellen zu gelangen ist jedoch etwas mehr bekannt.
Deshalb ist es vom Nutzen.
Im übrigen habe ich eine UF geöffnet, so das auch hier eine Einschränkung vorliegt oder ?
gruß Walter
AW: Ja aber
28.10.2006 23:07:21
Nepumuk
Hallo Walter,
wenn du dir die Hilfe zur OnKey-Methode angesehen hättest, wüstest du die Antwort schon.
Application.OnKey "%{TAB}", ""
Wenn das Userform Modal angezeigt wird und du verhinderst, dass der User das Form schliessen kann, dann erübrigt sich das ganze sowieso. Denn dann hat er keinen Zugriff auf die Tabellen.
Gruß
Nepumuk
Anzeige
AW: Ja aber
29.10.2006 09:21:27
Walter
Guten Morgen Nepumuk,
habe das Makro mal so gestaltet, leider kann man immer noch mit ALT+Tab die "Blätter oder
VB-Makros etc. wechseln, übrings auch wenn ich die UF geöffnet ist.
Was muß ich den bei der UF anders machen ? (Modal ?)

Sub www_aus()
Application.OnKey "%{TAB}", ""
End Sub

und wie gehts rein ?
gruß walter
AW: Ja aber
29.10.2006 09:29:42
Nepumuk
Hallo Walter,
ich kann mit Alt+Tab nur zwischen Fenstern hin und her springen. Das ist auf eine Windowsfunktion und lässt sich mit VBA nicht abschalten.
Gruß
Nepumuk
Warum kann ich den die "ALT" Taste
29.10.2006 10:06:55
Walter
Hallo Nepumuk,
warum kann ich den die ALT-Taste nicht deaktivieren ?
Damit hätte ich doch erreicht was ich wollte ?

Sub www_aus()
Application.OnKey "%", ""
End Sub

hiermit kommt Fehlermeldung: "Laufzeitfehler 1004"... ist Fehlegeschlagen.
gruß walter
Anzeige
noch Hinweis Ja man kann
29.10.2006 10:12:25
Walter
Hallo Nepumuk,
habe festgestellt das man nicht mit ALT+F11 zum Makro kann, wenn man die UF geöffnet
hat.
Wie kann man das verhindern das man mit "ALT+TAB" (Windowsfunktion), sich das Makro
ansehen kann.
Ich muß allerdings den Schutz offen lassen, da von der UF aus Module kopiert werden.
Da Du ja Experte bist, hoffe ich auf eine Idee, ich bin mit meinem "Latein" am Ende.
gruß walter
AW: noch Hinweis Ja man kann
29.10.2006 10:37:41
Nepumuk
Hallo Walter,
wieso musst du Module kopieren? Die kannst du doch ganz einfach generieren. Beispiel:
Public Sub test()
    Dim objWBK As Workbook
    Dim objModul As Object
    
    Set objWBK = Workbooks.Add
    Set objModul = objWBK.VBProject.VBComponents.Add(1)
    
    With objModul.CodeModule
        .InsertLines 3, "Public

Sub Test()"
        .InsertLines 4, " Dim objSheet As Worksheet"
        .InsertLines 5, " For Each objSheet In Worksheets"
        .InsertLines 6, " With objSheet"
        .InsertLines 7, " .Protect Password:=" & Chr(34) & "Geheim" & Chr(34) & ", UserInterfaceOnly:=True"
        .InsertLines 8, " .EnableOutlining = True"
        .InsertLines 9, " .EnableAutoFilter = True"
        .InsertLines 10, " End With"
        .InsertLines 11, " Next"
        .InsertLines 12, "End Sub
"

    End With
End Sub

Ich sehe gerade in der Vorschau, dass die Darstellung nicht ganz korrekt ist. Ich kann dir bei Bedarf ein Bild davon hochladen.
Gruß
Nepumuk
Anzeige
AW: noch Hinweis Ja man kann
29.10.2006 11:14:26
Walter
Hallo Nepumuk,
anbei die kompl.Information Makros:
1. Makro Schutz aufheben:
Sub Mappe_kopieren()
Dim Password As String
Password = "pa"
Application.ScreenUpdating = False
If ActiveWorkbook.VBProject.Protection Then
Application.DisplayAlerts = False
Application.ScreenUpdating = False
SendKeys "%{F11}"
SendKeys "%xi" 'damit Passwort
SendKeys Password
SendKeys "{TAB}{Enter}"
SendKeys "{TAB}{Enter}" ' bis hier wird nur das Passwort gesetzt
' jetzt kann kopiert werden
SendKeys "%{F11}" ' wieder zurück
Else
MsgBox "Sie können jetzt arbeiten..."
End If
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

---------------------------------------------
Sub Beide_kopieren()
Application.ScreenUpdating = False
Call AlleDaten_kopieren
Call ModPW_kopieren
Sheets("Muster1").Select
Sheets("AlleDaten").Select
Application.ScreenUpdating = True
End Sub
Das 1. Makro zum kopieren:
Sub AlleDaten_kopieren()
Dim wkb As Workbook 'Variablen Deklaration
Dim sFile As String
Dim sPath As String
Application.ScreenUpdating = False
sFile = "C:\Neu\AlleDaten.xls" 'Das sind die Pfade
sPath = "C:\Neu\temp.frm"
On Error Resume Next
ThisWorkbook.VBProject.VBComponents("DatumSuchen").Export sPath 'Userform wird nach sPath exportiert
Set wkb = Workbooks.Open(sFile)
wkb.Activate '(sFile)
wird geöffnet
If ActiveWorkbook.VBProject.VBComponents("DatumSuchen") Is Nothing Then 'Wenn die Userform nicht da ist (If ... Is Nothing Then) dann
ActiveWorkbook.VBProject.VBComponents.Import sPath
Importieren
Kill sPath 'die Temporäre Datei löschen
Else
Kill sPath
Exit Sub
End If
wkb.Close True 'Datei schließen
Application.VBE.MainWindow.Visible = False 'VBA Editor schließen
Application.ScreenUpdating = True
End Sub
Sub ModPW_kopieren()
Application.ScreenUpdating = False
Dim wkb As Workbook
Dim sFile As String
Dim sPath As String
Dim intIndex As Integer, bolgefunden As Boolean
Application.ScreenUpdating = False
sFile = "C:\Neu\AlleDaten.xls"
sPath = "C:\Neu\temp.bas"
ThisWorkbook.VBProject.VBComponents("modPW").Export sPath
Set wkb = Workbooks.Open(sFile)
Application.VBE.MainWindow.Visible = True
With wkb.VBProject.VBComponents(wkb.CodeName).CodeModule
.InsertLines 3, "

Private Sub Workbook_Open()"
.InsertLines 4, "Sheets(""AlleDaten"").Visible = True"
.InsertLines 5, "If Sheets(""AlleDaten"").Range(""B2"") = ""1"" Then"
.InsertLines 6, "Call Teile_einlesen"
.InsertLines 7, "Sheets(""Daten"").Visible = False"
.InsertLines 8, "Else"
.InsertLines 9, "Sheets(""Daten"").Visible = True"
.InsertLines 10, "Sheets(""AlleDaten"").Visible = False"
.InsertLines 11, "Sheets(""Daten"").Select"
.InsertLines 12, "End If"
.InsertLines 13, "Call VBA_PW"
.InsertLines 14, "End Sub
"
End With
ActiveWorkbook.VBProject.VBComponents.Import sPath
Kill sPath
Application.VBE.MainWindow.Visible = False
wkb.Close True
Application.ScreenUpdating = True
End Sub
Der Grund, aus einem Sheet (vorhanden) "AlleDaten" wird eine Mappe "AlleDaten.xls" erstellt.
Wenn ich den Schutz auf Sheets-Ebene aufhebe und dann die UF öffne und danach kopiere,
funktioniert alles einwandfrei.
Jetzt hast Du alle Informationen, habe natürlich die Makros über das Forum erhalten und dann ergänzt,
mfg Walter
Anzeige
AW: noch Hinweis Ja man kann
29.10.2006 12:02:26
Reinhard
Hi Walter,
ohne Einrückungen ist der Code schwerer lesbar :-(
Du betreibst doch den Aufwand um die Datei weiterzugeben? Woher willst du wissen in welchem VBA-Projekt grade der VB-Editor steht wenn du Alt+F11 simulierst?
Wenn du den Code in der neuenen mappe erzeugst, so brauchst du das VBA-Projekt-Passwort gar nicht zu entfernen.
Wenn du unbedingt kopieren willst, so muss doch das Passwort nur für winzige Zeit abgschaltet werden, Ob da jmd so schnell Alt+F11 drücken kann? Besonders wenn er nicht weiß wann dieser zeitpunkt ist, könnte ja auch 3,275 sec nach Schließen der UF sein.
Ud ein Makro zu exportieren und in der neuen datei zu importieren geht wahrscheinlich fixer als Zeilenweise zu schreiben.
Fertigen Code dazu habe ich nicht.
Gruß
Reinhard
Anzeige
Hallo
29.10.2006 12:33:00
Walter
Hallo Reinhard,
im Prinzip hast Du Recht, habe ja auch festgestellt das man bei aktiver UF mit ALT+F11 nicht ins Modul kann. Jedoch kann man mit "ALT+TAB" ins Modul.
Wenn die Makros ablaufen kommt ja eine Fehlermeldung das Schutz ist etc., somit kann ich also das vorhandene Modul "modPW" nicht in die neue Mappe kopieren.
Ferner habe ich festgestellt, das man bei aktiver UF (geöffnet) nicht den Schutz aufheben kann.
Zumindest hiermit nicht:

Private Sub CommandButton55_Click()
Dim Password As String
Password = "pa"
Application.ScreenUpdating = False
If ActiveWorkbook.VBProject.Protection Then
Application.DisplayAlerts = False
Application.ScreenUpdating = False
SendKeys "%{F11}"
SendKeys "%xi"                          'damit Passwort
SendKeys Password
SendKeys "{TAB}{Enter}"
SendKeys "{TAB}{Enter}"              ' bis hier wird nur das Passwort gesetzt
' jetzt kann kopiert werden
SendKeys "%{F11}"                    ' wieder zurück
Else
MsgBox "Sie können jetzt arbeiten..."
End If
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

Vielleicht hast Du eine Idee ?
gruß Walter
Anzeige
AW: Hallo
29.10.2006 13:00:32
Reinhard
Hi Walter,
wenn der CB auf der UF liegt so läuft er bei mir problemlos durch.
Gruß
Reinhard
Wieso flackern
29.10.2006 13:38:11
Walter
Hallo Reinhard,
habe eine neue UF erstellt das Makro reinkopiert.
Nun starte ich die UF mittels Comman-B von der Sheet aus aus ein flackern und ich konnt
Excel garnicht beenden war nicht , Wieso?
gruß Walter
AW: Wieso flackern
29.10.2006 14:09:57
Reinhard
Hi Walter,
getestet auf XL2000:
https://www.herber.de/bbs/user/37746.xls
Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
AW: Wieso flackern, bei mir weiter
29.10.2006 14:39:32
Walter
Hallo Reinhard,
auch in Excel 2000, schau mal, habe jetzt geschützt und nach dem Drücken, flackerts.
https://www.herber.de/bbs/user/37748.xls
gruß Walter
Anzeige
Jetzt in Excel XP getestet
30.10.2006 10:08:58
Walter
Guten Morgen Reinhard,
habe gerade in Excel XP getestet, ebenfalls läuft das Makro ohne Unterbrechung weiter.
Das Button auf Sheet Ebene funktioniert,
vielleicht gibt es einme Lösung ?
gruß Walter
OT Pre-Tag
29.10.2006 12:24:21
Reinhard

Hallo Nepumuk,
ich füge Code und Formeln mittels pre-Tag ein, dann wird Public Sub und Private Sub nicht getrennt, <> wird angezeigt usw.
Mein Standardjavascript sieht so aus:
javascript:window.frames['content'].document.msg.pw.value='abc';
window.frames['content'].document.msg.name.value='Reinhard';window.frames['content'].document.msg.email.value='abc@abc.abc';
window.frames['content'].document.msg.body.value='\n

\nGruß\nReinhard\nps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..';void(null); Wenn du deinen Html-Code zwischen die pre-Tags reinkopierst müßte vielleicht die Tennung von Pulic und Sub weg sein, anrerseits sind vielleicht deine Tags im Thml-Code unwirksam.

Frage noch offen wegen Walter
Gruß
Reinhard
Anzeige
AW: OT Pre-Tag
29.10.2006 12:40:30
Nepumuk
Hallo Reinhard,
das liegt nur daran, dass in dem Code ein weiteres "Public Sub" vor kommt. Das wird von der Forensoftware falsch interpretiert. Ich habe für das ganze ein Addin (von mir) und eine DLL (von Peter Haserodt), welches mir den Code formatiert (ich habe absolut null Bock mich mit irgendwelchen Html-Zeugs rumzuschlagen). Dazu muss ich nur einen Commandbarbutton anklicken. Normalerweise funktioniert das auch, nur in diesem speziellen Fall nicht.
Gruß
Nepumuk
AW: OT Pre-Tag
29.10.2006 12:54:15
Reinhard
Hallo Nepumuk,
ich würd ja auch Excel-Jeannie benutzen, aber sie funktioniert nicht in einem andren Forum, zumindest nicht bei Versuchen vor 'nem guten Jahr. Deshalb nehme ich für hier und dort diesen Javascript und um Tabellenbereiche einzufügen was selbstgeschriebenes.
Leider fand ich für Code noch nirgends nen Dreh an eine Liste aller dem VB-Editor bekannten Schlüsselwörter, sonst hätte ich mich mal versucht einen Syntaxhighlighter für Arme *g zu basteln.
Excel hat ja viele .hlp Dateien und irgendwo da vermute ich die Schlüsselwörter auch, aber es gelang mir nicht sie zu finden oder auszuwerten, weiß grad nicht wie es war. Jedenfalls brachte mir das keine Liste.
Und durch Editieren von den Dateien von Programmen wie Syntaxhighlighter kam ich auch
nicht an eine solche Liste
Gruß
Reinhard
Anzeige
AW: OT Pre-Tag
29.10.2006 13:04:40
Nepumuk
Hallo Reinhard,
da bin ich klar im Vorteil, denn ich kann das für jedes Forum separat formatieren:
Userbild
Incl. Icons für die Commandbarbuttons :-)

Die Datei https://www.herber.de/bbs/user/37745.jpg wurde aus Datenschutzgründen gelöscht

Gruß
Nepumuk
AW: OT Pre-Tag
29.10.2006 13:14:52
Reinhard
Hallo Nepumuk,
okay, werde es in dem anderen Forum , was bei dir nicht gelistet ist, nochmal mit der neuesten Version von ExcelJeannie probieren.
Aber lasse uns das bitte hier an dieser Stelle beenden. Ich gebe dir Rückmeldung ob ich es hinbekam oder nicht, ggfs kontaktiere ich dann deshalb auch Peter.
Gruß
Reinhard
Hallo Nepumuk+Reinhard ich möcht nicht
29.10.2006 12:58:19
Walter
Hallo Ihr Beide,
ich möchte keinen Streß nur wegen meinem Problem, habe gedacht es würde funktionieren.
Hallo Reinhard,
das was Du gerade geschrieben hast sind für mich böhmisch Dörfen, nicht Böse sein, ist die Wahrheit.
Na ja mal sehen was wird...
mfg walter
AW: Hallo Nepumuk+Reinhard ich möcht nicht
29.10.2006 13:08:17
Reinhard
Hi Walter,
ist doch kein Streit :-) Absolut nicht. Ist ein Austausch wie der eine oder andere das handelt mit Eingabe von Forumsbeiträgen un dderen Darstellung.
OT im Betreff bedeutet, Off Topic, soll andeuten dass in diesen Beiträgen es nicht mehr direkt um die Hauptanfrage geht.
Und der javascript ist auch für dich interessant, gehe mal auf Forumsseiten--Formularingeben automatisieren, dann verstehst du was ich meinte.
Gruß
Reinhard
AW: Warum kann ich den die "ALT" Taste
29.10.2006 10:17:15
Nepumuk
Hallo Walter,
weil die Umschalt-, Strg- und Alt-Taste keine Funktion haben, sondern nur in Kombiantion mit einer anderen Taste einen Event auslösen. Tasten und Tastenkombinationen die auf Windowsebene definiert sind (wie Alt+Tab oder die Windowstaste) kannst du nicht deaktivieren. Nur Tasten und Tastenkombis die auf Applicationebene definiert sind.
"Wie kann man das verhindern das man mit "ALT+TAB" (Windowsfunktion), sich das Makro
ansehen kann."
Indem du den VBA-Editor zu lässt. Wieso ist der in deiner Mappe überhaupt offen? Denn mit Alt+Tab kann ich den nicht öffnen.
Gruß
Nepumuk
Weil ich
29.10.2006 10:35:19
Walter
Hallo Nepumuk,
ich habe ein Makro, mit dem ich ein Modul kopieren muß, weil eine ander Mappe erstellt wird, es wird der VB Schutz aufgehoben und das entsprechende Modul wird hinein kopiert, klappt auch.
Deshalb ist das Makro ja sichtbar, wenn man mit "ALT+TAB" hin und her geht.
gruß walter

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige