AddIn: Change und RightKlick -Anweiweisung
15.03.2004 22:08:02
Christoph Meffert
ich kämpfe schon seit Stunden mit dem richtigen Code...aber es will mir nicht gelingen.
Ich möchte ein AddIn aus einem soweit funktionsfähigen code erstellen.
Dabei erhält auch das Kontextmenü der rechten Maustaste einen neuen Menü-Punkt.
Dieser Menüpunkt wechselt seine Funktion und Aufschrift mit dem Wert der als "Public"
deklarierten Variablen "BoolAction"
Der Code greift auf das "Workbook_SheetSelectionChange"-Ereignis zu und für die Einträge
im Kontextmenü auf das "Workbook_SheetBeforeRightClick"-Ereignis.
Im AddIn funktionieren jedoch beide Anweisungen nicht.
In den Grundzügen glaube ich zu wissen, wie man ein AddIn erstellt. (speichern als xla -
und im AddIn-Manager aktivieren - hier auf der Webseite von Hans Herber gut beschrieben)
Wie ich hier und in der Recherche rausgefunden habe, muss der Code des Klassenmoduls
beim AddIn in ein Standardmodul auslagert werden.
Bsp:
Private Sub Workbook_Open()
Call oeffnen
End Sub
In "oeffnen" steht dann:
Sub oeffnen()
BoolAction = True 'Startwert
Application.OnKey "^{d}", "Makro_ein" 'TastenKombination "Ctrl_D" aktivieren
Call ContextReset 'Kontextmenü zurücksetzen
End Sub
soweit funktion das auch. Den zugewiesenen ShortCut kann ich nach der Installation des AddIn's verwenden.
Aber:
Die Anweisungen des rechten Mausklicks und des Workbook_SheetSelectionChange krieg ich nicht hin.
Mein kläglicher Versuch für das Change-Ereignis im Klassen-Modul der Arbeibtsmappe:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Call Mappe_TabelleAuswahlGeaendert(Sh, Target)
End Sub
und im Standardmodul:
Sub Mappe_TabelleAuswahlGeaendert(Tabelle As Object, Bereich As Range)
If BoolAction = True Then Exit Sub
Rows(Bereich.Row).Select 'zu Testzwecken: die aktuelle Zeile markieren
End Sub
Ich hab jetzt hier nicht meinen ganzen Code gepostet. Ich hoffe jedoch, dass jemand mein Problem versteht:
Wie formuliert man die "Workbook_SheetSelectionChange"- und die "Workbook_SheetBeforeRightClick"-Anweisung
für ein AddIn.
Ich hab auch schon versucht, einen Verweis auf das AddIn zu setzen (Extras-verweise), dabei bekomme ich aber
immer die Fehlermeldung:
"Name steht im Konflikt mit vorhandenem Modul, Projekt oder vorhandener Objektbibliothek"
vielen Dank für eure Hilfe schon vorab
viele Grüße
Christoph Meffert