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

VBA-Klassenmodul per VBA kopieren

VBA-Klassenmodul per VBA kopieren
11.05.2006 18:36:18
anoc
Hallo Excel-Gemeinde,
wie kann ich ein Klassenmodul in eine bereits geöffnete Arbeitsmappe per VBA kopieren?
Mein Ansatz brachte leider keinen Erfolg:
Auszug (DatName steht hier für den aktuellen DateiNamen):
=======
Sub CLS_Modul_copy()
Dim strPath As String
strPath = Application.Path & "\"
On Error GoTo Errorhandler
ThisWorkbook.VBProject.VBComponents("Tabelle3").Export strPath & DatName _
& ".cls"
...
With ActiveWorkbook.VBProject
.VBComponents.Import strPath & DatName & ".cls"
.VBComponents(DatName).Name = "Tabelle3"
End With
Kill strPath & "\" & DatName & ".cls"
Danke für Hilfe
Gruß anoc

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA-Klassenmodul per VBA kopieren
11.05.2006 21:19:50
Tassos
Hallo,
für Tabellencode Bsp. "Tabelle3" so:
Option Explicit

Sub copyCls()
Dim StrCode$
With ThisWorkbook.VBProject.VBComponents _
("Tabelle1").CodeModule 'Tabellenname anpassen
StrCode = .Lines(1, .CountOfLines)
End With
Workbooks.Add
ActiveWorkbook.VBProject.VBComponents("Tabelle1"). _
CodeModule.AddFromString StrCode 'Tabellenname anpassen
'Application.VBE.MainWindow.Visible = False
End Sub

Wenn *.cls ist ein Klassenmodul bsp "Klasse1" dann so:
Option Explicit

Sub ClsCopy()
Dim b$
b = Workbooks.Add.Name
ThisWorkbook.VBProject.VBComponents("Klasse1").Export "xxx.cls"
Workbooks(b).VBProject.VBComponents.Import "xxx.cls"
Kill "xxx.cls"
'Application.VBE.MainWindow.Visible = False
End Sub

Gruss
Tassos
Anzeige
AW: VBA-Klassenmodul per VBA kopieren
12.05.2006 09:00:46
anoc
Hallo Tassos,
danke für Deine Hilfe. Leider bekomme ich folgende Fehlermeldung: "Der programmatische Zugriff auf das Visual Basic Projekt ist nicht sicher". Ich gehe mal davon aus, dass dies in Zusammenhang mit der eingestellten Sicherheitsstufe steht.
Da ich die bei den weiteren Usern der Mappe nicht einstellen bzw. beeinflussen kann, hier noch die Frage nach einem anderen Weg für das Kopieren?
Danke und Gruß
Anoc
AW: VBA-Klassenmodul per VBA kopieren
12.05.2006 16:40:34
Hubert
"Ich gehe mal davon aus, dass dies in Zusammenhang mit der eingestellten Sicherheitsstufe steht."
Nein, das ist eine separate Option und einer der Gründe, warum Manipulationen
zur Laufzeit risikobehaftet sind.
mfg Hubert
Anzeige
AW: VBA-Klassenmodul per VBA kopieren
12.05.2006 19:34:03
Tassos
Hallo,
Normalerweise unter Extras – Makros – Sicherheit (Reiter: “Vertrauenswürdige Herausgeber“)
kann man das Kästchen “Zugriff auf VB-Projekt vertrauen“ aktivieren und somit läuft das ganze.
Wenn diese Sicherheitseinstellung gesperrt ist dann hilft ein Zugriff auf der Registry mit folgende Datei (muss mit “reg“ umbenannt werden):
https://www.herber.de/bbs/user/33600.txt
oder Registry-Values per Hand ändern
Wenn das auch nicht geht dann hast Du bzw die Deine User keine Chance für
programmatischen Zugriff auf´s VB-Projekt.
Schone Grüsse
Tassos
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige