Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1156to1160
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
VBA Code in "DieseArbeitsmappe" extern ändern
Kai
Hallo,
Folgende Situation:
Ich möchte mit Hilfe von VBA den Code des VBAProject-Moduls "DieseArbeitsmappe" bei ca. 200 Excel-Dateien ändern. Der Code der ausgetauscht werden soll ist überall gleich und liegt als neu1.txt bei mir aufm Desktop. Die "File-Changer.xls" ebenfalls.
Quelltext:
...
Do While strDatei ""
Set Wkb = Workbooks.Open(strPfad & strDatei, False, False)
Wkb.VBProject.VBComponents("DieseArbeitsmappe").CodeModule.AddFromFile ("C:\Dokumente und Einstellungen\kai\Desktop\neu1.txt")
Application.DisplayAlerts = False
Wkb.Save
Wkb.Close SaveChanges:=False
strDatei = Dir()
Application.DisplayAlerts = True
Loop
...
Ich probiere schon seit heute morgen herauszufinden wo der Fehler ist, aber ich komme einfach nicht drauf... Es wird lediglich die erste Datei geöffnet und dann offen gelassen und nichts wird geändern... von daher liegt der Fehler halt irgendwo bei "Wkb.VBProject....". Fehlermeldungen gibt es keine. Kann mir wer helfen?
Kai
AW: VBA Code in "DieseArbeitsmappe" extern ändern
07.05.2010 16:49:12
Ramses
Hallo
Zeig mal den ganzen Code
Gruss Rainer
Ggf verlangt VBComponents einen numer...
07.05.2010 16:51:29
Luc:-?
…Index, Kai,
dann müsstest du mit dem und evtl noch Namensvgl arbeiten oder die Komponente direkt ansprechen, wenn das möglich ist…
(Irgendeinen Grd wird's schon dafür geben, dass ich das immer so mache…) ;-)
Gruß Luc :-?
AW: VBA Code in "DieseArbeitsmappe" extern ändern
07.05.2010 18:56:22
Nepumuk
Hallo,
normal ist das aber nicht. Bei VBA gut sollte man schon erwarten können, dass du dir mal Gedanken machts. In 200 Dateien den selben Code !!! Das schreit seit 198 Dateien förmlich nach einem Addin.
Gruß
Nepumuk
AW: VBA Code in "DieseArbeitsmappe" extern ändern
10.05.2010 09:44:19
Kai
Ein Addin kommt auf Grund mangelnder Flexibilität und der häufigen Weitergabe der Dateien absolut nicht in Frage. Gedanken habe ich mir darum schon gemacht...
Luc, was genau meinst du mit Index? Sorry, aber ich stehe da gerade aufm Schlauch :)
@Ramses:
'LOAD
Private Sub CommandButton1_Click()
Dim Wkb As Workbook, Zielmappe As Workbook
Dim strPfad As String, strDatei As String, tabName As String
Dim abbruch As Integer
abbruch = 0
On Error GoTo Errorhandling:
Set Zielmappe = ThisWorkbook
tabName = ActiveSheet.Name
'Abort condition
Do While abbruch = 0
'Choose process
MsgBox "Load process folder. Press 'Cancel' when completed."
Application.ScreenUpdating = False
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "Select folder"
.ButtonName = "Choose folder..."
.InitialView = msoFileDialogViewList
If .Show = -1 Then
strPfad = .SelectedItems(1) & "\"
Else
strPfad = ""
End If
End With
If strPfad = "" Then
MsgBox ("Done")
abbruch = 1
GoTo AbortLoad
Else
'MsgBox strPfad
End If
'Load process
strDatei = Dir(strPfad & "*.xls", vbDirectory)
Do While strDatei  ""
Set Wkb = Workbooks.Open(strPfad & strDatei, False, False)
Wkb.VBProject.VBComponents("DieseArbeitsmappe").CodeModule.AddFromFile ("C:\Dokumente und  _
Einstellungen\kai\Desktop\neu1.txt")
Wkb.Worksheets("control").Unprotect Password:=""
Wkb.Worksheets("control").Cells(10, 1) = "bla"
Wkb.Worksheets("control").Cells(11, 1) = "bla"
Wkb.Worksheets("control").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, Password:=""
Wkb.Worksheets("data").Cells(18, 8) = "bla"
Wkb.Worksheets("data").Cells(20, 8) = "bla"
Wkb.Worksheets("data").Cells(35, 8) = "bla"
Wkb.Worksheets("data").Cells(37, 8) = "bla"
Application.DisplayAlerts = False
Wkb.Save
Wkb.Close SaveChanges:=False
strDatei = Dir()
Application.DisplayAlerts = True
Loop
Application.ScreenUpdating = True
Loop
AbortLoad:
Application.ScreenUpdating = True
Errorhandling:
If Err.Number = 9 Then MsgBox ("Wrong file!")
End Sub

Eventuell ist der Code an der ein oder anderen Stelle nicht ganz sauber. Aber funktionieren tut er ohne die Zeile "Wkb.VBProject.VBComponents("DieseArbeitsmappe").CodeModule.AddFromFile ("C:\Dokumente und Einstellungen\kai\Desktop\neu1.txt")" einwandfrei!!
Kann mir eventuell damit jemand weiterhelfen? Ich verzweifel bald
Anzeige
AW: VBA Code in "DieseArbeitsmappe" extern ändern
10.05.2010 10:12:12
Anton
Hallo Kai,
ersetze
If Err.Number = 9 Then MsgBox ("Wrong file!")
durch
If Err.Number 0 Then MsgBox Err.Description
dann siehst du vllt mehr.
mfg Anton
AW: VBA Code in "DieseArbeitsmappe" extern ändern
10.05.2010 11:02:26
Kai
Hallo Anton,
Oh man. Manchmal sieht man den Wald vor lauter Bäumen nicht mehr...
Vielen Dank! Problem schon gelöst.
Fehlermeldung: "Der programmatische Zugriff auf das Visual-Basic-Projekt ist nicht sicher"
Lösung: Extras, Makro, Sicherheit, Vertrauenswürdige Quellen, "Zugriff auf Visual-Basic-Project vertrauen" aktivieren
Danke an alle Beteiligten.
Gruß
Kai

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige