Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
248to252
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
248to252
248to252
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Speichern mit Dateiname aus Zelle ohne Makro

Speichern mit Dateiname aus Zelle ohne Makro
01.05.2003 13:16:52
Cordula
Hallo Excel-Freunde,
1. Mai = Tag der Arbeit und ich kriegs nicht hin...! :-)
mit folgendem Makro in einem Modul wird über ein Symbol die Datei in dem VZ Flavio mit dem Dateinamen aus Zelle C1 gespeichtert.
Sub speichern()
Pfad = "C:\Flavio\"
Dateiname = Cells(1, 3).Value
ThisWorkbook.SaveAs FileName:=Dateiname, FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False

On Error Resume Next
For Each VBkomp In ThisWorkbook.VBProject.VBComponents
ThisWorkbook.VBProject.VBComponents.Remove VBkomp
Next VBkomp
End Sub

Das Probelm: Erstmalige Speicherung funktioniert! In Zelle C1 steht Cordula. Öffne ich die Vorlage ein 2. Mal und überschreibe ich die Zelle C1 mit einem anderen Namen, klicke auf mein Symbol zum Speichern, erscheint die Meldung "MS Excel kann Makro "C:\Flavio\Cordula.xls! Speichern nicht finden
Dieses Speicher-Makro soll NUR in meiner Vorlage ablaufen.
Würde mich sehr freuen, wenn Ihr mir helfen könntet.
Vielen Dank schon einmal

LG
Cordula




9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Speichern mit Dateiname aus Zelle ohne Makro
01.05.2003 13:37:53
Ramses

Hallo Cordula,

du rufst das Makro aus der Vorlage auf und ThisWorkbook verweist auf deine Vorlage, bzw. auf die Datei wie sie vorher hies.

Versuch mal

For Each VBkomp In Workbooks(Dateiname & ".xls").VBProject.VBComponents
Workbooks(Dateiname & ".xls").VBProject.VBComponents.Remove VBkomp
Next VBkomp

Damit sollten eigentlich, ich habe es nicht getestet, die VB-Components nur in der neuen gespeicherten Datei gelöscht werden.

Zudem SOLL/MUSS die Datei als xlt gespeichert sein, und als Vorlage geöffnet werden. Sonst löscht du dir irgendwann wirklich einmal alles :-)

Gruss Rainer




Anzeige
Re: Speichern mit Dateiname aus Zelle ohne Makro
01.05.2003 14:16:14
Cordula

Hallo Rainer,
funktioniert leider nicht. Das Modul ordne ich der Vorlage zu. Das Makro zum Symbol weise ich der "Vorlage" zu, nicht "Alle offenen Arbeitsmappen". Trotzdem greift das Makro beim Öffnen auf die zuletzt gespeicherte Mappe (Name aus Zelle C1) zu. Ich verstehe es nicht! Hast Du evtl. noch eine Idee?
LG
Cordula

PS: Das "alles Löschen, incl. Symbolleisten", habe ich schon hinter mir... ;-))


Re: Speichern mit Dateiname aus Zelle ohne Makro
01.05.2003 14:47:01
Ramses

Hallo Cordula,

Diesen Code habe ich gerade getestet mit einer gespeicherten Vorlage in welcher dieser Code standardmässig hinterlegt ist:


Sub Delete_Current_Workbook_Modules()    
For n = ThisWorkbook.VBProject.vbComponents.Count To 1 Step -1
    For i = 1 To ThisWorkbook.VBProject.vbComponents(n).CodeModule.CountOfLines
        If ThisWorkbook.VBProject.vbComponents(n).Type <> 1 And ThisWorkbook.VBProject.vbComponents(n).Type <> 3 Then _
           ThisWorkbook.VBProject.vbComponents(n).CodeModule.DeleteLines 1
    Next
Next
End Sub() 
     Code eingefügt mit Syntaxhighlighter 1.16

Es löscht nur die Makros in der Aktiven Arbeitsmappe..
Das Problem ist, dass du bei der Zuweisung über die Symbolleiste explicit auf eine Vorlage verweist, die nicht existiert, bzw. nicht die aktuelle Arbeitsmappe ist.

Aus diesem Dilemma kenne ich nur einen Ausweg:


Option Explicit
Public myName As String

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If ThisWorkbook.Name <> myName Then
    MsgBox "VB Components werden gelöscht"
    For n = ThisWorkbook.VBProject.vbComponents.Count To 1 Step -1
        For i = 1 To ThisWorkbook.VBProject.vbComponents(n).CodeModule.CountOfLines
            If ThisWorkbook.VBProject.vbComponents(n).Type <> 1 And ThisWorkbook.VBProject.vbComponents(n).Type <> 3 Then _
                ThisWorkbook.VBProject.vbComponents(n).CodeModule.DeleteLines 1
        Next
    Next
End Sub


Private Sub Workbook_Open()
myName = ThisWorkbook.Name
End Sub 

     Code eingefügt mit Syntaxhighlighter 1.16

Beim öffnen der Datei wird die Variable "myName" gefüllt, wird die Datei unter einem anderen Namen gespeichert ( Dein Speicher-Makro ist normal abgelaufen ) wird beim schliessen der Datei geprüft ob die Namen noch identisch sind, wenn nicht werden alle VB-Module gelöscht.

Gruss Rainer

Anzeige
Re: Speichern mit Dateiname aus Zelle ohne Makro
01.05.2003 15:22:59
Cordula

Hallo Rainer,
das sieht ja schon mal gut aus! Ich werde es erst etwas später testen können, entsprechend werde ich dir erst später antworten. ich hoffe das ist ok und du schaust noch einmal in diesen Beitrag.
Vielen Dank für Deine Hilfe, bis später

Cordula


Funktioniert nicht
01.05.2003 17:21:57
Cordula

Hallo Rainer,
habe dein 2. Makro in ein Modul meiner Vorlage kopiert, leider ohne jegliche Auswirkung. Es passiert einfach nix -nix - nix!
Der Speichervorgang läuft wie üblich ab, ohne Namen aus der Zelle und mit den Makros. Liegt es möglicherweise an der Excel-Version?

LG
Cordula


Anzeige
Re: Funktioniert nicht
01.05.2003 20:26:09
Ramses

Hallo Cordula,

das Makro darf nicht in ein Modul, es muss in das Klassenmodul "Diese Arbeitsmappe" kopiert.

Doppelklick auf "Diese Arbeitsmappe" und dann dort reinkopieren

Gruss Rainer

Speichern mit Dateiname aus Zelle ohne Makro
01.05.2003 21:52:38
Cordula

Hallo Reiner,
Sorry, auch in "diese Arbeitsmappe" habe ich es kopiert und bekam folgende Meldung: "Fehler beim Kompilieren Variable nicht definiert" bei For n = This Workbook....
Und nu??

LG
Cordula

Re: Speichern mit Dateiname aus Zelle ohne Makro
01.05.2003 22:31:24
Ramses

Hallo Cordula,

das einfachste ist, du löschst die Zeile "Option Explicit"
Dann wirst du nicht mehr nach Deklarationen gefragt.

Gruss Rainer

Anzeige
Re: Speichern mit Dateiname aus Zelle ohne Makro
02.05.2003 10:32:53
Cordula

Hey, guten Morgen Rainer,
funktioniert auch nicht! Ich werde mein Dokument jetzt auf .xls umstellen, also ohne Vorlage. Vielleicht habe ich dann mehr Glück. Trotzdem: vielen vielen Dank für Deine Hilfe und Geduld -seufz-

LG
Cordula

332 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige