Herbers Excel-Forum - das Archiv

Warum kann das nicht funktionieren?

Bild

Betrifft: Warum kann das nicht funktionieren?
von: steve

Geschrieben am: 07.04.2005 15:38:30
Hallo,
ich habe von Hans ein Makro etwas umgebaut, aber leider funktioniert es nicht richtig, es ist zum löschen eines Makros in einer anderen Datei. Warum klappt dies bei mir nicht?
Sub loesche_anderemappe()
Dim sFile As String
Dim NewDateiname3 As String
Dim NewPfad3 As String
Dim prtcmd3 As String
With Sheets("Verknüpfungen")
NewDateiname3 = .Range("A23")
NewPfad3 = .Range("A22")
End With
prtcmd3 = NewPfad3 & NewDateiname3
Application.ScreenUpdating = False
sFile = NewPfad3 & NewDateiname3 & ".xls"
If Dir(sFile) = "" Then
MsgBox "Arbeitsmappe wurde nicht gefunden!"
Else
Workbooks.Open (Filename = prtcmd3 & ".xls")
On Error GoTo ERRORHANDLER
With ActiveWorkbook.VBProject
.VBComponents.Remove .VBComponents("Textimport")
End With
End If
Application.ScreenUpdating = True
Exit Sub
ERRORHANDLER:
MsgBox "Modul wurde nicht gefunden!"
Application.ScreenUpdating = True
End Sub

Vielen Dank für eure Hilfe.
MfG
Steve
Bild

Betrifft: AW: Warum kann das nicht funktionieren?
von: K.Rola
Geschrieben am: 07.04.2005 15:45:35
Hallo,
wo hast du diese Syntax her? Workbooks.Open (Filename = prtcmd3 & ".xls")
Was sagt denn der debugger, was wird markiert?
Gruß K.Rola
Bild

Betrifft: AW: Warum kann das nicht funktionieren?
von: steve

Geschrieben am: 07.04.2005 15:53:58
er hat mir die von dir genannte Zeile makiert und mir einen Syntaxfehler gemeldet. Daraufhin habe ich ein bisschen am Code gespielt, und jetzt bringt er mir die Fehlermeldung Nr. 1004 - das er die Datei falsch.xls nicht findet, obwohl ich mich nie auf eine Datei mit solch einem Namen bezogen habe.
Den Syntaxfehler hat er mir gebracht, als die Zeile noch so aussah:
Workbooks.Open (Filename: = prtcmd3 & ".xls")
MfG
Steve
Bild

Betrifft: AW: Warum kann das nicht funktionieren?
von: K.Rola
Geschrieben am: 07.04.2005 16:03:24
Hallo,
dann wird wohl die Variable prtcmd3 den Wert FALSCH liefern.
Gruß K.Rola
Bild

Betrifft: Quatsch, ist ja als string deklariert. oT
von: K.Rola
Geschrieben am: 07.04.2005 16:05:54
,
Bild

Betrifft: AW: Quatsch, ist ja als string deklariert. oT
von: steve
Geschrieben am: 07.04.2005 16:49:04
Frage ist noch offen.
Bild

Betrifft: AW: Quatsch, ist ja als string deklariert. oT
von: K.Rola
Geschrieben am: 07.04.2005 17:11:21
Hallo,
lad mal ein aufs Nötigste abgespecktes Beispiel hoch.
Gruß K.Rola
Bild

Betrifft: AW: Warum kann das nicht funktionieren?
von: IngoG

Geschrieben am: 07.04.2005 17:59:35
Hallo Steve,
bei mir funzt das macro nachdem ich die Syntax unten etwas korrigiert habe.
Du mußt ausserdem sicherstellen, dass im Tabellenblatt "Verknüpfungen" in A23 der Dateiname (ohne.xls) und in a22 der vollständige Pfad mit abschließendem "\" steht.
Bei der OPEN-Methode mußt Du die Klammern weglassen und statt = ein := benutzen.
ansonsten läufts.
Code siehe unten
Gruß Ingo
PS eine Rückmeldung wäre nett...
Sub Loesche_CodeInAndererMappe()
Dim sFile As String
Dim NewDateiname3 As String
Dim NewPfad3 As String
Dim prtcmd3 As String
With Sheets("Verknüpfungen")
NewDateiname3 = .Range("A23")
NewPfad3 = .Range("A22")
End With
prtcmd3 = NewPfad3 & NewDateiname3
Application.ScreenUpdating = False
sFile = NewPfad3 & NewDateiname3 & ".xls"
If Dir(sFile) = "" Then
MsgBox "Arbeitsmappe wurde nicht gefunden!"
Else
Workbooks.Open Filename:=prtcmd3 & ".xls"
On Error GoTo ERRORHANDLER
With ActiveWorkbook.VBProject
.VBComponents.Remove .VBComponents("Textimport")
End With
End If
Application.ScreenUpdating = True
Exit Sub
ERRORHANDLER:
MsgBox "Modul wurde nicht gefunden!"
Application.ScreenUpdating = True
End Sub

Bild

Betrifft: AW: Warum kann das nicht funktionieren?
von: steve
Geschrieben am: 08.04.2005 15:03:25
Vielen Dank funktioniert.
Bild

Betrifft: Danke für die Rückmeldung OT
von: IngoG
Geschrieben am: 08.04.2005 16:15:56
-
 Bild