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

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

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
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
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

162 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige