title image


Smiley Re: "Makrozeilen erzeugen durch Makro??" was für Jörg!!!!
Hallo Uwe,stimmt schon, das wäre eine Lösung. Hier ist der Code dafür:Set NCode = ActiveWorkbook.VBProject.VBComponents("DieseArbeitsmappe")With NCode.CodeModule    .InsertLines 1, "'Dieser Code wurde per Makro hinzugefügt:"    .InsertLines 2, "Public Sub Workbook_BeforePrint(Cancel As Boolean)"    .InsertLines 3, "ActiveWorkbook.ActiveSheet.PageSetup.LeftFooter = ActiveWorkbook.FullName &" & """&D"""    .InsertLines 4, "End Sub"End WithMsgBox "Code hinzugefügt!"Set NCode = NothingNormalerweise ist das kein Problem, man läßt diese Zeilen einfach am Anfang einfügen. Aber es treten doch gewisse Risiken auf.Beispiele:Was ist, wenn das Makro zweimal aufgerufen wird? Dann ist der Code zweimal enthalten und es gibt eine Fehlermeldung.Man kann überprüfen, ob ein Makro mit Workbook_BeforePrint bereits enthalten ist. Wenn ja, soll der Code nicht neu eingefügt werden, wenn nein, soll er eingefügt werden. Dann kann aber das Problem auftreten, daß bewußt schon eine solche Ereignisprozedur eingefügt wurde und mit anderen Befehlen versehen wurde.Man müßte also bei dieser Variante alle Konstellationen in Erwägung ziehen - aber wer weiß schon, was in der Mappe alles vorhanden sein kann. Ich persönlich finde ein Klassenmodul mit einem Anwendungsereignis sicherer.Viele GrüßeJörgFragen zu Excel, Access oder Word?EWAF-FAQ-Seiten und www.joerglorenz.de durchsuchen:


geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: