Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.04.2024 14:59:21
23.04.2024 14:47:39
23.04.2024 14:23:45
Anzeige
Archiv - Navigation
292to296
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
292to296
292to296
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Modul exportieren ohne Export-Befehl

Modul exportieren ohne Export-Befehl
12.08.2003 16:33:31
Teddy
Hallo alle
hat jemand eine Idee, Modul und Userform von einem Excel-Mappe in eine andere (neu generierte) Excel-Mappe zu übergeben? Und das sollte ohne diesen "Export" Befehl laufen (aus irgendwelchem Grund...).
danke!
Teddy

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

Betreff
Datum
Anwender
Anzeige
AW: Modul exportieren ohne Export-Befehl
12.08.2003 16:42:47
sergiesam
Hi,
du kannst im projekt-Explorer ein Modul einfach auf eine andere mappe ziehen.
Sam

AW: Modul exportieren ohne Export-Befehl
12.08.2003 16:45:07
Teddy
Hi, Sam
danke für deine Antwort.
So einfach ist es nicht, diese Modulübergabe muß leider per VBA Code stattfinden.
Gruß
Teddy

AW: Modul exportieren ohne Export-Befehl
12.08.2003 16:58:10
Michael Scheffler
Option Explicit

Sub TestExport()
Application.VBE.ActiveVBProject.VBComponents.Item("Modul1").Export ("C:\Test.bas")
End Sub


Sub TestImport()
Application.VBE.ActiveVBProject.VBComponents.Import ("C:\Test.bas")
End Sub


AW: Modul exportieren ohne Export-Befehl
12.08.2003 17:50:10
Hajo_Zi
Hallo Teddy
hast Du Dir da nicht ein zu große Aufgabe vorgenommen.
Hier mal Ansatz.
Option Explicit
Public

Sub alleMakrosExportieren()
'   von Nepumuk
'   Export des gesamten Codes
'   aus ThisWorkbook
'   vor Export sollten bereits vorhandener Code im Verzeichnis gelöscht werden
'   damit es mit dem Import Fehlerfrei geht
Dim vbc As Object, iCounter As Integer, sMacro As String, cType As String
For Each vbc In ThisWorkbook.VBProject.VBComponents
With vbc.CodeModule
For iCounter = 1 To .CountOfLines
If .ProcOfLine(iCounter, 0) > "" Or InStr(1, .Lines(iCounter, 1), "Dim") <> 0 _
Or InStr(1, .Lines(iCounter, 1), "Public") <> 0 _
Or InStr(1, .Lines(iCounter, 1), "Type") <> 0 _
Or InStr(1, .Lines(iCounter, 1), "Static") <> 0 _
Or InStr(1, .Lines(iCounter, 1), "Declare") <> 0 Then
Select Case vbc.Type
Case 1: cType = ".bas"
Case 2, 100: cType = ".cls" 'Tabelle; DieseArbeitsmape
Case 3: cType = ".frm"
End Select
' Ablagephad
Workbooks(ThisWorkbook.Name).VBProject.VBComponents(vbc.Name).Export _
"C:\Windows\Temp\" & vbc.Name & cType
Exit For
End If
Next iCounter
End With
Next vbc
End Sub

Public

Sub Import1()
'   von Nepumuk
Dim vbc As Object, iCounter As Integer, StDateiname As String
With ThisWorkbook.VBProject '  Workbooks("Testmappe.xls").VBProject
For Each vbc In .VBComponents
Select Case vbc.Type
Case 1, 2, 3: .VBComponents.Remove .VBComponents(vbc.Name)
Case 100
With vbc.CodeModule
.DeleteLines 1, .CountOfLines
End With
End Select
Next
StDateiname = Dir("C:\Windows\temp\" & "*.*")
Do While StDateiname <> ""
If UCase(Right(StDateiname, 4)) = ".BAS" Or UCase(Right(StDateiname, 4)) = ".FRM" Or UCase(Right(StDateiname, 4)) = ".CLS" Then
.VBComponents.Import "C:\Windows\Temp\" & StDateiname
End If
StDateiname = Dir
Loop
For Each vbc In .VBComponents
If vbc.Type = 2 Then
If Left(vbc.Name, 5) = "Diese" Or Left(vbc.Name, 7) = "Tabelle" Then
.VBComponents(Left(vbc.Name, Len(vbc.Name) - 1)).CodeModule.InsertLines 1, vbc.CodeModule.Lines(1, vbc.CodeModule.CountOfLines)
.VBComponents.Remove .VBComponents(vbc.Name)
End If
End If
Next vbc
End With
End Sub

Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen.
Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige