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
1032to1036
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

Makro in die ... setzen

Makro in die ... setzen
24.12.2008 14:28:50
Kurt
Hallo Zusammen,
erst mal ein schönes Weihnachtsfest ALLEN "im Haus" Herber,
habe ein kleines Problem, ich kopieren ein Modul und eine UF
in eine neue Datei, das klappt soweit alles.
Jetzt möchte ich gern noch in die "Dies Arbeitsmappe"
ein Workbook_Open einsetzen, krieg das nicht hin.
Hier mein funktionierendes Makro:
Sub test()
'------- ab Modul kopieren ---------------
Dim Pfade As String
Pfade = ThisWorkbook.Path & "\modPW.bas"
Application.VBE.ActiveVBProject.VBComponents("modPW").Export Pfade
Workbooks(WBName).Activate
With ActiveWorkbook
Application.VBE.ActiveVBProject.VBComponents.Import Pfade
End With
'-------------------
'Workbooks(akw).Activate
Application.VBE.ActiveVBProject.VBComponents("DatumSuchen").Export Pfade
Workbooks(WBName).Activate With ActiveWorkbook
Application.VBE.ActiveVBProject.VBComponents.Import Pfade
End With
'--------------------------------------------
Workbooks(akw).Activate
End Sub


Das sollte rein:
With wkb.VBProject.VBComponents(wkb.CodeName).CodeModule
.InsertLines 3, "


Private Sub Workbook_Open()"
.InsertLines 8,  "Call Speicherung_ins_C_Laufwerk"
.InsertLines 11, "End Sub

" End With
Hoffentlich kann mir jemand helfen,
danke im voraus,
gru Kurt aus K

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro in die ... setzen
24.12.2008 14:44:00
Tino
Hallo,
Du musst den String auch richtig zusammenbauen.

Dim strCodeString As String
strCodeString = "Private Sub Workbook_Open()" & Chr(10) & _
"    .InsertLines 8, ""Call Speicherung_ins_C_Laufwerk""" & Chr(10) & _
"    .InsertLines 11, """"" & Chr(10) & _
"End Sub"
With wkb.VBProject.VBComponents(wkb.CodeName).CodeModule
.InsertLines 3, strCodeString
End With


Gruß Tino

Leider keine Reaktion aber
24.12.2008 15:23:00
Kurt
Hallo Tino,
leider passiert nichts, es wird nicht in die "DieseArbeitsmappe" geschrieben.
habe so reingesetzt:
'------- ab Modul kopieren ---------------
Dim Pfade As String
Pfade = ThisWorkbook.Path & "\modPW.bas"
Application.VBE.ActiveVBProject.VBComponents("modPW").Export Pfade
Workbooks(WBName).Activate '-- Name neue Datei: Lauf+Abge.xls
With ActiveWorkbook
Application.VBE.ActiveVBProject.VBComponents.Import Pfade
End With
'-------------------
Dim wkb As Workbook
Dim strCodeString As String
With wkb.VBProject.VBComponents(wkb.CodeName).CodeModule
.InsertLines 3, strCodeString
End With
strCodeString = "

Private Sub Workbook_Open()" & Chr(10) & _
"    .InsertLines 8, ""Call Speicherung_ins_C_Laufwerk""" & Chr(10) & _
"    .InsertLines 11, """"" & Chr(10) & _
"End Sub

"
'--------------------------
' ActiveSheet.Unprotect
' ActiveSheet.Shapes("Button 63").Select
' Selection.Delete
'Workbooks(akw).Activate '-------------------------------------------
Application.VBE.ActiveVBProject.VBComponents("DatumSuchen").Export Pfade
Workbooks(WBName).Activate With ActiveWorkbook
Application.VBE.ActiveVBProject.VBComponents.Import Pfade
End With
'--------------------------------------------
Workbooks(akw).Activate
Application.VBE.ActiveVBProject.VBComponents("UFAktion").Export Pfade
Workbooks(WBName).Activate
With ActiveWorkbook
Application.VBE.ActiveVBProject.VBComponents.Import Pfade
End With
'--------------------------------------------
Workbooks(akw).Activate
es wird aber jetzt ein 2. Modul reingesetzt modPW1
mfg Kurt aus K

Anzeige
mit Doppel den Fehler habe ich gefunden
24.12.2008 15:29:00
Kurt
Hallo Tino,
war mein Fehler mit Doppel anlegen.
Aber leider immer noch nichts reingeschrieben.
mfg Kurt aus K
AW: mit Doppel den Fehler habe ich gefunden
24.12.2008 15:49:10
Tino
Hallo,
habe Deinen Code nicht getestet, dazu müsste ich mir erst die Umgebung schaffen.
Du musst zuerst in den String schreiben und danach über .InsertLines den String in die Mappe schreiben.

Dim wkb As Workbook
Dim strCodeString As String
strCodeString = "Private Sub Workbook_Open()" & Chr(10) & _
"    .InsertLines 8, ""Call Speicherung_ins_C_Laufwerk""" & Chr(10) & _
"    .InsertLines 11, """"" & Chr(10) & _
"End Sub"
With wkb.VBProject.VBComponents(wkb.CodeName).CodeModule
.InsertLines 3, strCodeString
End With


Tip, schreibe deinen Code als Zitat man kann ihn sonst sehr schlecht lesen.
Gruß Tino

Anzeige
geht auch nicht
24.12.2008 16:03:27
Kurt
Hallo Tino,
habe es so durchgeführt.
Leider ohne Erfolg.
mfg Kurt aus K
AW: Beispielmappe?
24.12.2008 16:04:44
Tino
Hallo,
hast Du eine Beispielmappe?
Gruß Tino
AW: Beispielmappe?
24.12.2008 16:08:00
Kurt
Hallo Tino,
werde eine gleich erstellen.
mfg kurt aus k
AW: mit Doppel den Fehler habe ich gefunden
24.12.2008 16:08:41
Tino
Hallo,
was ist eigendlich wkb bei Dir, kann nicht sehen dass eine Datei zugeordnet wird.
Gruß Tino
Tino hier das Muster
24.12.2008 16:19:53
Kurt
Hallo Tino,
hier das Muster,
wkb habe ich von einem andern Modul einfach übernommen.
Weiß auch nicht.
https://www.herber.de/bbs/user/57864.xls
mfg Kurt aus K
AW: Tino hier das Muster
24.12.2008 16:40:09
Tino
Hallo,
in dem Code müsste mal reichlich aufgeräumt werden, ist nicht schön gemacht.
So aus dem Bauch heraus ohne den Code auszuführen, müsste es so gehen.
https://www.herber.de/bbs/user/57865.xls
Gruß Tino
Anzeige
DANKE -)
24.12.2008 16:54:33
Kurt
Hallo Tino,
funktioniert !!!
Danke.
Schöne Fest und jetzt schon ein gesundes neues Jahr,
mfg Kurt aus K
wünsche ich Dir auch oT.
24.12.2008 17:29:00
Tino

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige