Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
708to712
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
708to712
708to712
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro per Makro

Makro per Makro
16.12.2005 16:24:16
Markus
Hallo zusammen,
ich glaube die Frage ist etwas kniffliger. Ich habe auch schon recherchiert komme aber nicht so recht klar damit.
Ich habe eine Excelmappe, die per Knopfdruck eine neue Excelmappe generiert.
Ich brauche die Funktionalität in der neuen Mappe, dass keine "Wollen Sie speichern"-Abfrage vor dem Schließen kommt. Das kann ich ja ganz leicht mit dem Code

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveWorkbook.Save
End Sub

erreichen. Wie kann ich diesen Code per Makro in die neue Mappe reinbekommen?
Jeder Tipp wäre hilfreich
Danke
Markus
Markus

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro per Makro
16.12.2005 17:01:41
Josef
Hallo Markus!
Eine möglichkeit.
Sub writeCode()
Dim strCode As String
Dim objNewWB As Workbook

strCode = "

Private Sub Workbook_BeforeClose(Cancel As Boolean)"
& vbLf & _
  "ActiveWorkbook.Save" & vbLf & "End Sub "

Set objNewWB = Workbooks.Add

objNewWB.VBProject.VBComponents("DieseArbeitsmappe").CodeModule.AddFromString strCode

End Sub


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Makro per Makro
16.12.2005 17:07:31
mazarata
Hallo Markus
Weiss nicht ob's in Deiner xls-Version auch klappt. Du musst vorher aber unter EXTRAS ¦ MAKRO ¦ SICHERHEIT im Register "Vertrauenswürdige Herausgeber" den "ZUGRIFF AUF VISUAL BASIC PROJEKT VERTRAUEN" aktivieren. Bei mir (xls 2003) klappt's:

Sub CreateWorkbook()
Dim st As Long
Application.Workbooks.Add
'Deutsche Version xls, daher "DieseArbeitsmappe"
With ActiveWorkbook.VBProject.VBComponents("DieseArbeitsmappe").CodeModule
st = .CreateEventProc("BeforeClose", "Workbook") + 1
.InsertLines st, "ActiveWorkbook.Save"
End With
End Sub

Gruss
mazarata
Anzeige
o.T. klappt Danke!!!
16.12.2005 17:34:31
Markus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige