Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA: per AddIn schließen eines Workbook verhindern

VBA: per AddIn schließen eines Workbook verhindern
Markus
Hallo VBAler,
folgendes Problem: Ich bearbeite per AddIn eine .xls Datei. Ich würde nun gerne sicherstellen, dass das AddIn die Datei schließt, und nicht der Nutzer. (Das AddIn kann beendet werden, um die Datei anzusehen).
Die Arbeitsmappe .xls darf kein VBA enthalten, Workbooks_BeforeClose fällt also weg.
Wie kann ich das Problem lösen?
Oder ich müsste es zur Laufzeit hinzufügen und später wieder löschen? (Weiss aber auch hier nicht wie? Bibliothek müsste per VBA eingebunden werden, da die Nutzer dies nicht einrichten können)
Bin für alle Ideen dankbar
Markus
Anzeige
AW: VBA: per AddIn schließen eines Workbook verhindern
13.02.2006 14:57:50
Nepumuk
Hallo Markus,
dazu benötigst du eine Klasse des Application-Objektes im Addin. Darin kannst du das Before_Close - Ereignis abfangen.
Gruß
Nepumuk

AW: VBA: per AddIn schließen eines Workbook verhindern
13.02.2006 15:02:14
Markus
Hallo,
kurze Rückfrage: Und wie krieg ich die Klasse da rein?
Hast du einen kurzen Programm-Auszug?
Markus
Anzeige
AW: VBA: per AddIn schließen eines Workbook verhindern
13.02.2006 15:07:18
Nepumuk
Hallo Markus,
VBA Gut ?
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private objApplication As clsApplication

Private Sub Workbook_Open()
    Set objApplication = New clsApplication
    Set objApplication.prpSetApplication = Application
End Sub

' **********************************************************************
' Modul: clsApplication Typ: Klassenmodul
' **********************************************************************

Option Explicit

Private WithEvents mobjApplication As Application

Friend Property Set prpSetApplication(objApplication As Application)
    Set mobjApplication = objApplication
End Property

Private Sub mobjApplication_WorkbookBeforeClose(ByVal Wb As Workbook, Cancel As Boolean)
    MsgBox Wb.Name
End Sub

Gruß
Nepumuk

Anzeige
AW: VBA: per AddIn schließen eines Workbook verhindern
13.02.2006 15:25:30
Markus
Hallo,
ja, gut würde ich schon sagen.
Man muss nicht unbedingt mit Klassenmodulen arbeiten um reichlich programmieren zu können. Und mit selbigen arbeite ich nunmal nicht, weil sich nie der Bedarf ergab (hier meine ich selbst instanzierte Klassen, ausgenommen also die Standardklassen Worksheets, UserForm) -- ok, wenn ich Klassenmodule besser kennen würde, wäre der Bedarf eventuell schonmal erkennbar gewesen.
Desweiteren: VBA - Nein wäre auch nicht passend oder? Sonst müsste ich darum bitten, das Programm doch gleich fertig zu schreiben. Aber das ist nicht nötig.
Ich bau deine Ausschnitte gleich mal ein, um zu testen.
Vielen Dank also für deine Hilfe. Bis mal wieder. Melde mich, wenn ich nochmal Hilfe brauche.
Anzeige
AW: VBA: erledigt, funktioniert
13.02.2006 15:40:13
Markus
Hallo nochmal,
funktioniert bestens. Vielen Dank nochmals.
Markus
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige