Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1188to1192
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

VBA - Formulare und Objekte Exportieren

VBA - Formulare und Objekte Exportieren
Sascha
einen schönen guten abend an alle,
hab da ein kleines problem, und vielleicht kann mir jemand helfen.
ich arbeite mit mehreren excel dateien (ca. 15) in denen daten per vba mittels userform etc erfasst und berechnet werden.
jetzt habe ich das problem, wenn ich userformen etc. ändere, oder optimieren möchte, muss ich das bei allen 15 dateien machen.
gibt es eine möglichkeit den gesamten ordner im vba projekt "formulare" zu exportieren um ihn in einer anderen excel datei zu importieren.?
lieben gruß
sascha
VBA Projekt - Import Export
13.12.2010 20:21:45
Matthias
Hallo
Du kannst doch VBA-Projekte Im- und Exportieren
Userbild
einfach mit rechter Maustaste auf das Formular klicken
Gruß Matthias
AW: VBA Projekt - Import Export
13.12.2010 20:31:38
Sascha
hallo matthias...
danke für deine schnelle antort...
ja das mit den exportieren von einzelnen userformen etc. das funktioniert...
aber kann man auch den gesamten ordner exportieren, (da sich in dem ordner formulare bei mir fast 30 userformen befinden)
lieben gruß
sascha
Hast du eine Maus? Probier mal D&D! orT
13.12.2010 22:18:15
Luc:-?
Gruß Luc :-?
AW: Hast du eine Maus? Probier mal D&D! orT
14.12.2010 12:13:57
Sascha
hallo luc,
was meinst du mit D&D?
lieben gruß
Anzeige
Drag&Drop! Gruß owT
14.12.2010 13:12:03
Luc:-?
:-?
AW: VBA - Formulare und Objekte Exportieren
14.12.2010 12:30:39
Sascha
@ luc - du meist drop&drag...
ja das geht mit einzelnen forms....aber ich möchte gerne alle userformen auf einmal bewegen
lieben gruß
sascha
Drag'n'Drop geht NUR mit Einzelmodulen,...
14.12.2010 13:25:36
Luc:-?
…Sascha,
eine UF ist auch ein Modul (.frm). Alle gleichzeitig geht dann nur mit VBA über VBProject…Components. Bspp für Module sind im Archiv zu finden.
Tipp: Die .frm-Module eindeutig identifizieren (Typ, mal rausbekommen, was der für 'ne TypNr hat, bei Dokumentklassenmodulen ist das bspw 100) und dann in einer For Each-Schleife über die .Components genau nach diesen suchen und, wenn gefunden, exportieren bzw in das andere Projekt importieren.
Gruß Luc :-?
Anzeige
Nachtrag: MakroRec geht dafür nicht! owT
14.12.2010 13:26:46
Luc:-?
:-?
AW: Drag'n'Drop geht NUR mit Einzelmodulen,...
14.12.2010 20:44:52
Sascha
Hallo Luc,
nochmals vielen Dank für deine Hilfe, aber ich lese aus deinen Antworten raus,
dass dies garnicht (zumindest für mich) so leicht umzusetzen ist.
liebe grüße
sascha
Das mag sein! Schau mal ins Archiv! ;-) owT
15.12.2010 02:50:19
Luc:-?
:-?
AW: VBA - Formulare und Objekte Exportieren
15.12.2010 14:05:10
Sascha
So ich nochmal...
hab hier im archiv etwas gestöbert und zum exportieren von Modulen folgende codezeilen gefunden
von Heiko S. (https://www.herber.de/forum/archiv/624to628/t625181.htm)
Sub ExportModule()
Dim vbc As Object
Dim strPath As String
strPath = "C:\Copy\Muell\"
With ActiveWorkbook.VBProject
For Each vbc In .VBComponents
vbc.Export strPath & vbc.Name & ".bas"
Next vbc
End With
End Sub

Das funktioniert auch super.
Jetzt meine Frage:
wie kann ich die Exportierten Daten per VBA wieder Importieren?
liebe grüße
sascha
Anzeige
K.A., viell Import? Übrigens hast du für...
15.12.2010 15:07:45
Luc:-?
…UF-Module die falsche Typ-Endung, Sascha!
Das sind forms, also .frm! Deshalb habe ich ja auch TypVgl geschrieben. Neben .bas (=normale Module) gibt's noch .cls (alle Klassenmodule) und eben .frm (könnte auch frame bedeuten). Mit der falschen Endung wirst du die wohl kaum wieder richtig importieren können.
Gruß Luc :-?
AW: K.A., viell Import? Übrigens hast du für...
16.12.2010 11:03:59
Sascha
hallo luc...
ja jetzt versteh ich so langsam was du meinst :) -- (werd auch mein status bei excel vba runtersetzen :) )
also ich habs jetzt so gelöst...codezeilen hier im archiv gefunden von nepumuk:
Module Exportieren:
Public Sub prcExort()
Dim objVBComponent As Object
Dim objWorkbook As Workbook
Dim strType As String
Set objWorkbook = ActiveWorkbook
For Each objVBComponent In objWorkbook.VBProject.VBComponents
With objVBComponent.CodeModule
Select Case objVBComponent.Type
Case 1
strType = ".bas"
Case 2, 100
strType = ".cls"
Case 3
strType = ".frm"
End Select
objWorkbook.VBProject.VBComponents(objVBComponent.Name).Export _
"C:\Export\" & objVBComponent.Name & strType
End With
Next
End Sub

Module Importieren: (Wobei ich hier auf den Import von .cls dateien verzichte)
Public Sub prcImport()
Dim objVBComponents As Object, strFilename As String
With ActiveWorkbook.VBProject
For Each objVBComponents In .VBComponents
Select Case objVBComponents.Type
Case 1, 2, 3
.VBComponents.Remove .VBComponents(objVBComponents.Name)
Case 100
With objVBComponents.CodeModule
.DeleteLines 1, .CountOfLines
End With
End Select
Next
strFilename = Dir$("C:\Gerling\GK\60_Kunden\6020_Dokumentation (Entwicklung)\! _
_Dokumentation\Neue Doku mit O2010\Vorlagen_Doku_Office 2010\ABFRAGEMASKE\ExportOfficebsp\" & "*.*")
Do While strFilename  ""
If UCase$(Right$(strFilename, 4)) = ".BAS" Or _
UCase$(Right$(strFilename, 4)) = ".FRM" Then
.VBComponents.Import "C:\Export\" & strFilename
End If
strFilename = Dir$
Loop
On Error Resume Next
For Each objVBComponents In .VBComponents
If objVBComponents.Type = 2 Then
Err.Clear
If Left$(objVBComponents.Name, 17) = "DieseArbeitsmappe" Or _
Left$(objVBComponents.Name, 7) = "Tabelle" Or _
Left$(objVBComponents.Name, 8) = "Diagramm" Then
.VBComponents(Left$(objVBComponents.Name, Len(objVBComponents.Name) - 1)).  _
_
CodeModule.InsertLines 1, objVBComponents.CodeModule.Lines( _
1, objVBComponents.CodeModule.CountOfLines)
If Err.Number = 0 Then
.VBComponents.Remove .VBComponents(objVBComponents.Name)
Else
Debug.Print objVBComponents.Name
End If
End If
End If
Next
End With
End Sub

liebe grüße
Sascha
Anzeige
Na, siehste, geht doch...! FroWeihn! owT
16.12.2010 15:08:32
Luc:-?
:-?

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige