Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1068to1072
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
Inhaltsverzeichnis

Macro Code nachladen

Macro Code nachladen
16.04.2009 19:58:23
Thomas
Hallo Zusammen,
Ich habe ein Excel Makro geschrieben, mit dem ich diverse Aktionen im Excel und gleichzeitig in einer geöffneten SolidWorks Baugruppe (SolidWorks ist ein 3D CAD) mache. dieses Excel Dokument wird in der SWX BAugruppe eingebetten, was auch kein problem ist. Diese BAugruppe wird nun von unseren KOnstrukteuren immer wieder kopiert. Somit vervielfältigt sich auch das Excel dolument. Jetzt bin ich aber dabei, das Makro immer wieder zu modifizieren, bzw, zu erweitern. Gibt es eine Möglichkeit im Excel Dolument, dass z.B. wenn das Worksheet geöffnet wird, der eigentliche MAkrocode von einem gemappte Laufwerk automatisch nachgeladen wird, so dass die User immer die aktuellste Version des Makros zur verfügung haben?
So, viel Text, für ein hoffentlich leicht zu lösendes Problem.
Vielen Dank im Voraus
Thomas

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

Betreff
Datum
Anwender
Anzeige
AW: Macro Code nachladen
16.04.2009 20:31:14
ransi
HAllo Thomas
Das ist sogar erstaunlich einfach.
Musst nur dafür sorgen das der User dem Zugriff auf das VBA-Project vertraut.
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_Open()
Dim Das_Modul As Object
Dim Der_Code As String
Dim FSO As Object
Dim Datei As Object
Set FSO = CreateObject("Scripting.filesystemobject")
Set Datei = FSO.opentextfile("C:\Temp\Test.txt") 'Anpassen
Der_Code = "'Aktualisiert " & Now & vbCrLf & Datei.readall
Datei.Close
Set Das_Modul = ThisWorkbook.VBProject.VBComponents("Modul1").CodeModule 'Modul1 muss vorhanden sein
With Das_Modul
    .deletelines 1, .countoflines
    .AddFromString Der_Code
End With
End Sub

ransi
Anzeige
AW: Macro Code nachladen
16.04.2009 21:11:06
Thomas
Hi Ransi,
vielen Dank, für die schnelle Antwort ;-)
Funktioniert super. Ich habe den MacroCode in Tabelle1 & Tabelle2 das funktioniert auf diese Art mit separaten Textdateien auch sehr gut.
Auch wäre es evtl interressant, eine Userform nachzuladen. Momentan hab ich zwar keine drin, und versuche die auch zu vermeiden, aber wenn man den Usern den kleinen Finger reicht...
Ich habe da nur ein klitzekleines Problem.
Unser Virenscanner (McAfee Virusscan Enterprise) "Säubert" das Excel Sheet mit dem Nachladecode.
Unser Scanner definiert den Nachladecode als Virus. Gibt es da eine Andere Möglichkeit?
Danke
Thomas
Anzeige
AW: Macro Code nachladen
16.04.2009 21:19:10
ransi
HAllo Thomas
Das passiert schon mal...
Kann am FileSystemObject oder am Zugriff auf das VBProject liegen.
Mal eingrenzen..
Teste mal dies:

Option Explicit
Private Sub Workbook_Open()
Dim Das_Modul As Object
Dim Der_Code As String
Der_Code = "'Aktualisiert " & Now
Set Das_Modul = ThisWorkbook.VBProject.VBComponents("Modul1").CodeModule 'Modul1 muss vorhanden  _
sein
With Das_Modul
.deletelines 1, .countoflines
.AddFromString Der_Code
End With
End Sub


AW: Macro Code nachladen
16.04.2009 21:23:36
Thomas
HI Ransi,
auch dieser Code wird entsorgt. :-(
AW: Macro Code nachladen
17.04.2009 08:08:42
Armin
Hallo Thomas,
das ist ein typischer Fall für ein ADDIN. Lege das auf ein Laufwerk auf das alle Zugriff haben und schon klappt es. Du änderst dann nur noch dieses. Übrigens können dann auch Userform enthalten sein.
Es ist alles nur eine Frage der Philosophie.
Gruß Armin
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige