Datei Speichern mit Makro

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
InputBox MsgBox
Bild

Betrifft: Datei Speichern mit Makro
von: Peter
Geschrieben am: 04.11.2003 16:03:44

Hallo,
ich bin neu hier und suche schon geraume Zeit ein Makro das eine Datei Speichert in dem Pfad von wo sie geöffnet worden ist, mit neuem Namen und vorher muss der Projektschutz enfernt werden

so das Makro habe ich gefunden das speichert auch aber nicht in dem Ordner wo die datei war.
Das mit dem Unprotect klappt leider auch nicht.(habe ich selber eingefügt)
Ach ja der Projektschutz sollte beim öffnen wieder Aktiv sein.



Sub Save()
ActiveSheet.Unprotect password:="xxxxx"
  Dim sInput As String
  
  sInput = InputBox("Dateiname eingeben:", "Pfad")
  If sInput = "" Then
     MsgBox "Kein Speichername eingegeben!", vbExclamation, "Info"
     sInput = InputBox("Dateiname eingeben:", "Pfad")
  Else
    'Hier deine Prozedur bzw. dein Speichern eintragen z.B
     ActiveWorkbook.SaveAs sInput
     MsgBox ("Das Blatt wurde unter" & sInput & " gespeichert ")
  End If
  ActiveWorkbook.Close savechanges:=False
  ActiveSheet.Protect password:="xxxxx"
End Sub



vieleicht kann jemand helfen.
Peter
Bild


Betrifft: AW: Datei Speichern mit Makro
von: marla
Geschrieben am: 04.11.2003 16:51:09

bin zwar auch ein ziemlicher VBA-Neuling, aber wenn ich mich nicht irre, musst du das ActiveSheet.Protect... vor den close Befehl schreiben, sonst ist die Datei ja schon geschlossen!


Bild


Betrifft: AW: Datei Speichern mit Makro
von: Peter
Geschrieben am: 04.11.2003 17:16:10

Hi Marla,
da haste schon recht, aber leider kann ich auch garnicht speichern
"fehler 1004 projektschutz erst entfernen bla bla"

Peter


Bild


Betrifft: AW: Datei Speichern mit Makro
von: Klaus Schubert
Geschrieben am: 04.11.2003 17:31:16

Hallo Peter,

ist der Projektschutz unter Office XP was Neues ?
Kenne nur Office 2000 und da gibt es Projektschutz nur unter VBA !

Auf jeden Fall schützt bzw. entfernst du in deinem Code keinen Projektschutz,sondern den Blattschutz !!!

Für dein anderes Problem hier etwas Code:


Sub Save()
  Dim sInput As String
  
'Hier den BLATTSCHUTZ (=ActiveSheet) entfernen falls benötigt
'  ActiveSheet.Unprotect password:="xxxxx"
  
  sInput = InputBox("Dateiname eingeben:", "Pfad")
    If sInput = "" Then
        MsgBox "Vorgang wird abgebrochen", vbExclamation, "Info"
        Exit Sub
  End If
         
    
    sInput = ActiveWorkbook.Path & "\" & sInput & ".xls"
    
 'Hier den BLATTSCHUTZ (=ActiveSheet) aktivieren falls benötigt, damit dieser auch mitgespeichert wird !!!
 '  ActiveSheet.Protect password:="xxxxx"
    
    ActiveWorkbook.SaveAs sInput
    MsgBox ("Das Blatt wurde unter" & sInput & " gespeichert ")
 
  
    ActiveWorkbook.Close savechanges:=False
  
End Sub


Gruß Klaus


Bild


Betrifft: AW: Datei Speichern mit Makro
von: Peter
Geschrieben am: 05.11.2003 10:10:32

HAllo Klaus,
ersmal danke so gehts mit dem speichern

das mit dem Blattschutz hab ich mir schon fast gedacht.

HAbe jetzt etwas über SendKeys gefunden für den Projektschutz zu deaktivieren.

muss aber jetzt erstmal arbeiten.

Peter


Bild


Betrifft: AW: Datei Speichern mit Makro
von: Peter
Geschrieben am: 05.11.2003 22:50:54

HAllo nochmal , hab noch ein problem .
wie kann ich diese zwei prozeduren zusammen bekommen erst soll der VBAschutz deaktiviert werden mit Proz1 und dann die Datei gespeichert werden mit Proz2
beide laufen als einzelne makros, nur wie kann ich die mit einem aufruf starten??

Proz1::

Sub UnlockedVBAProject()
  If Val(Application.Version) > 8 Then
     SendKeys _
        "%{F11}%xi" & _
        "Passwort" & "{TAB}" & "{ENTER}" & "{ENTER}%{q}"
   
  End If
  
End Sub


Proz2::

Sub Save()
  Dim sInput As String
  
'Hier den BLATTSCHUTZ (=ActiveSheet) entfernen falls benötigt
'  ActiveSheet.Unprotect password:="xxxxx"
  
  sInput = InputBox("Dateiname eingeben:", "Pfad")
    If sInput = "" Then
        MsgBox "Vorgang wird abgebrochen", vbExclamation, "Info"
        Exit Sub
  End If
         
    
    sInput = ActiveWorkbook.Path & "\" & sInput & ".xls"
    
 'Hier den BLATTSCHUTZ (=ActiveSheet) aktivieren falls benötigt, damit dieser auch mitgespeichert wird !!!
 '  ActiveSheet.Protect password:="xxxxx"
    
    ActiveWorkbook.SaveAs sInput
    MsgBox ("Das Blatt wurde unter" & sInput & " gespeichert ")
 
  
    ActiveWorkbook.Close savechanges:=False
  
End Sub





Peter


Bild


Betrifft: AW: Datei Speichern mit Makro
von: Klaus Schubert
Geschrieben am: 06.11.2003 16:58:58

Hallo Peter,

indem du in deiner ersten Prozedur einfach die zweite Prozedur aufrufst. Du kannst deine Prozedur Save() in einer anderen Prozedur aufrufen, indem du im Code an der entsprechenden Stelle Save oder Call Save eingibst (ohne Klammern). Das Call wird nach meiner Erfahrung aber nur dann nötig, wenn du mehrere Werte an die zweite Prozedur übergeben willst.

Wenn du jetzt deine erste Prozedur aufrufst, wird die zweite danach abgearbeitet:


Sub UnlockedVBAProject()
  If Val(Application.Version) > 8 Then
     SendKeys _
        "%{F11}%xi" & _
        "Passwort" & "{TAB}" & "{ENTER}" & "{ENTER}%{q}"
   
  End If
  
Save 'oder Call Save
End Sub



Gruß Klaus


Bild


Betrifft: AW: Datei Speichern mit Makro
von: Peter
Geschrieben am: 06.11.2003 17:48:22

Hi Klaus,
hab ich schon versucht, nur leider klappt das nicht.

1004 Dateiformat kann nicht gespeichert werden.

wenn ich die Einzeln nacheinander aufrufe gehts nur zusammen nicht

habe auch neues MAkro

sub makro
unlock
save
sub end

geht auch nicht

Peter


Bild

Beiträge aus den Excel-Beispielen zum Thema " Datei Speichern mit Makro"