Autor
|
Thema: Makro löschen beim automatischen speichern (1739 mal gelesen)
|
d4ron Mitglied
Beiträge: 5 Registriert: 20.09.2007
|
erstellt am: 20. Sep. 2007 12:18 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe auf meiner Suche nach einer Lösung dieses Forum gefunden und hoffe Ihr wisst Rat... Ich lese mit einen Excel Makro externe Daten von einem Automatisierungssystem (SPS) ein. Diese speichere ich mehrfach am Tag als Datum+Zeit.XLS ab. In den gespeicherten Dateien will ich jedoch nicht mehr das Makro haben, denn sonst würde ja beim Öffnen meine Werte dort ebenfalls neu eingelesen und überschrieben. Leider programmiere ich sonst kein VBA. Ich habe es wie folgt getestet (nur klappt es nicht): ActiveWorkbook.SaveAs File_Str ' aktuelle Datei speichern unter und dann wollte ich das Makro in der neuen Datei löschen.. Set wkbBook = Workbooks(File_Str) Set objComponents = wkbBook.VBProject.VBComponents lCount = wkbBook.VBProject.VBComponents.Count For Each objCode In objComponents If objCode.Type = lModule Then objComponents.Remove objCode ElseIf objCode.Type = lOther Then objCode.CodeModule.DeleteLines 1, objCode.CodeModule.CountOfLines End If Next objCode Ich hoffe Ihr könnt mir helfen...
THX d4ron Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Oberli Mike Ehrenmitglied V.I.P. h.c. Dipl. Maschinen Ing.
Beiträge: 3728 Registriert: 29.09.2004 Excel 2010 128GB SSD Windows 7
|
erstellt am: 20. Sep. 2007 12:23 <-- editieren / zitieren --> Unities abgeben: Nur für d4ron
Hallo d4ron, und herzlich willkommen aufd dem Excel-Brett bei CAD.de. Kannst du dir folgendes vorstellen?
Du öffnest eine Excel-Datei, in welcher dein Makro steckt. Dieses Makro öffnet eine "Vorlagedatei", in welche die Werte eingeschrieben werden, und speichert dann diese "Vorlagedatei" unter einem neuen Namen. Die Vorlagedatei muss du ledichlich an einem bestimmten Ort ablegen, damit sie durch das Makro gefunden wird. Somit hast du in der Datei wo die Werte sind gar nie ein Makro, und somit muss auch nichts gelöscht werden. Gruss Mike ------------------
The Power Of Dreams Schreib mal wieder Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
d4ron Mitglied
Beiträge: 5 Registriert: 20.09.2007
|
erstellt am: 20. Sep. 2007 12:49 <-- editieren / zitieren --> Unities abgeben:
|
Hajo_Zi Mitglied Projektant
Beiträge: 479 Registriert: 26.03.2003 AutoCad 2020 (ich arbeite in 2D) Betriebssystem Windows 10
|
erstellt am: 20. Sep. 2007 12:59 <-- editieren / zitieren --> Unities abgeben: Nur für d4ron
|
d4ron Mitglied
Beiträge: 5 Registriert: 20.09.2007
|
erstellt am: 20. Sep. 2007 13:23 <-- editieren / zitieren --> Unities abgeben:
Hallo Hajo, ja der Zugriff ist erlaubt, bzw sperre ich beim Öffnen der Mappe und gebe vor dem Aktualisieren wieder frei. Aber ich verstehe nicht was das mit meinem Problem zu tun hat? Oben der Code ist sicher falsch, er klappt ja nicht :P Der Lösungsvorschlag von Oberli Mike klingt schon ganz gut, nur weiß ich nicht wie ich es machen soll. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hajo_Zi Mitglied Projektant
Beiträge: 479 Registriert: 26.03.2003 AutoCad 2020 (ich arbeite in 2D) Betriebssystem Windows 10
|
erstellt am: 20. Sep. 2007 13:43 <-- editieren / zitieren --> Unities abgeben: Nur für d4ron
|
Oberli Mike Ehrenmitglied V.I.P. h.c. Dipl. Maschinen Ing.
Beiträge: 3728 Registriert: 29.09.2004 Excel 2010 128GB SSD Windows 7
|
erstellt am: 20. Sep. 2007 13:59 <-- editieren / zitieren --> Unities abgeben: Nur für d4ron
Hier ein kleines Beispiel. Die Dateien vorlage.xls und testdaten.txt müssen unter D:\Daten\test abgelegt sein, oder das Makro muss angepasst werden. Das Makro in der Datei einlesen öffnet die Datei vorlage.xls, dann werden die Daten von der Datei testdaten.txt eingelesen und eingetagen und dann wird die Datei mit dem Datum gespeichert. Gruss Mike
------------------
The Power Of Dreams Schreib mal wieder Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
d4ron Mitglied
Beiträge: 5 Registriert: 20.09.2007
|
erstellt am: 20. Sep. 2007 14:20 <-- editieren / zitieren --> Unities abgeben:
|
Hajo_Zi Mitglied Projektant
Beiträge: 479 Registriert: 26.03.2003 AutoCad 2020 (ich arbeite in 2D) Betriebssystem Windows 10
|
erstellt am: 20. Sep. 2007 14:30 <-- editieren / zitieren --> Unities abgeben: Nur für d4ron
|
d4ron Mitglied
Beiträge: 5 Registriert: 20.09.2007
|
erstellt am: 20. Sep. 2007 15:40 <-- editieren / zitieren --> Unities abgeben:
|
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 20. Sep. 2007 16:16 <-- editieren / zitieren --> Unities abgeben: Nur für d4ron
|
runkelruebe Moderator Straßen- / Tiefbau
Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 20. Sep. 2007 20:42 <-- editieren / zitieren --> Unities abgeben: Nur für d4ron
Zitat: Original erstellt von d4ron: Viel Spass beim Treffen...so jetzt hab ich auch richtig gelesen... Sicherheitseinstellung ist momentan auf mittel - also Abfrage beim Starten/Öffnen der Datei
Nein, immer noch nicht ;-) Der Eintrag den Du suchst lautet: Zugriff auf das VBA-Projekt vertrauen o.ä. Im 2007 zu finden unter Optionen -> Vertrauensstellungscenter -> Einstellungen für Makros BTW, diese Einstellung ist nicht so ganz ohne, die erlaubt nämlich dem code sich selber einen code zu schreiben, und ob das immer so gut ist... ;-) Aber das nur noch am Rande, mach mal so, wie im link von Thomas beschrieben, ist doch viel einfacher ;-) ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |