VSTO Add-In

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    VSTO Add-In

    Hallo Community,

    ich stehe vor folgendem Problem:
    Wenn eine Dokument, in aktuellen Fall handelt es sich um eine PPP, geschlossen wird, sollen diverse Buttons im Custom Ribbon, deaktiviert werden.

    Den Vorgang "schließen" fange ich wie folgt ab und rufe eine Prozedur aus einem anderem Modul auf:

    VB.NET-Quellcode

    1. Private Sub Application_PresentationBeforeClose(Pres As Presentation, ByRef Cancel As Boolean) Handles Application.PresentationBeforeClose
    2. Using Buttons As New Ribbon1
    3. Buttons.Btndisabled()
    4. End Using
    5. End Sub


    Die Prozedur "Btndisabled" wird auch aufgerufen, aber die dort aufgeführten Objekte werden nicht deaktiviert. Rufe ich die Prozedur über einen Button auf, werden die aufgeführten Buttons wie gewünscht deaktiviert.

    Wie muss der Code aussehen, damit mein Vorhaben erfolgreich umgesetzt werden kann?

    Vielen Dank für eure Unterstützung!

    Grüße
    Julia
    @TheMagnus Willkommen im Forum. :thumbup:
    Was macht die Prozedur Btndisabled() genau?
    Hier erstellst Du doch ein neues Ribbon-Control, um es sofort wieder zu zerstören.
    Würde es nicht auch ein btn.Enabled = False tun?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Jo, auf jeden Fall wird der Fehler sein, dass du ein neues Ribbon1-Objekt erstellst, anstatt dir dasjenige Ribbon1-Objekt zu holen, was aktuell angezeigt wird.
    Wie man sich das holt, weiss ich auch nicht - ich täte zuerst den Pres As Presentation - Parameter untersuchen, ob der vlt. iwie den aktuellen Ribbon beinhaltet.
    @TheMagnus und wie sieht die Lösung nun aus?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!