Microsoft Excel

Herbers Excel/VBA-Archiv

Datei nicht schreibgeschützt speichern

Betrifft: Datei nicht schreibgeschützt speichern von: Barbara
Geschrieben am: 21.10.2014 12:41:23

Hallo

würde gerne ein Makro schreiben, das Folgendes macht.

Die Datei unter folgendem Namen speichern:
"Berechnung" & V_Name
wobei V_Name eine benannte Zelle ist.

Und die Schwierigkeit:
Die vorliegende Datei ist schreibgeschützt, sie soll aber nicht schreibgeschützt gespeichert werden. Und da komme ich nicht dahinter, auch nicht mit Makrorekorder.

Bitte um konkrete Hilfe.

LG,
Barbara

  

Betrifft: AW: Datei nicht schreibgeschützt speichern von: Barbara
Geschrieben am: 21.10.2014 14:01:31

Noch eine Zusatzangabe:
Die Datei soll nicht gleich gespeichert werden, sondern der User soll im Speicherdialogfenster den oben genannten Namen vorgeschlagen bekommen.
Sodass er selbst entscheiden kann, was er tut, falls diese Datei bereits vorhanden ist.

Danke,
LG,
Barbara


  

Betrifft: AW: Datei nicht schreibgeschützt speichern von: fcs
Geschrieben am: 21.10.2014 14:37:48

Hallo Barbara,

folgendes Makro sollte funktionionieren.

Gruß
Franz

'Erstellt unter Excel 2010
Sub Speichern_Unter()
  Dim strVorgabename As String
  'strVorgabename = "Berechnung" & ActiveWorkbook.Worksheets("Tabelle1").Range("V_Name").Text
  strVorgabename = "Berechnung" & Application.Range("V_Name").Text
  
  Application.Dialogs(xlDialogSaveAs).Show strVorgabename
End Sub



  

Betrifft: AW: Datei nicht schreibgeschützt speichern von: Barbara
Geschrieben am: 21.10.2014 15:58:33

Danke, funktioniert, aber der Haken bei
"Speichern unter" - Tools (Unten neben dem "Speichern"-Button) - Allgemeine Optionen - "Schreibschutz empfehlen"
ist immer noch an, weil ich die Datei schreibgeschützt aufgemacht habe. Der soll aber weg.


  

Betrifft: AW: Datei nicht schreibgeschützt speichern von: Rudi Maintaire
Geschrieben am: 21.10.2014 16:28:44

Hallo,
'Erstellt unter Excel 2010

Sub Speichern_Unter()
  Dim strVorgabename As String
  'strVorgabename = "Berechnung" & ActiveWorkbook.Worksheets("Tabelle1").Range("V_Name").Text
  strVorgabename = "Berechnung" & Application.Range("V_Name").Text
  ActiveWorkbook.ReadOnlyRecommended = False
  Application.Dialogs(xlDialogSaveAs).Show strVorgabename
End Sub

Gruß
Rudi


  

Betrifft: AW: Datei nicht schreibgeschützt speichern von: Barbara
Geschrieben am: 21.10.2014 16:52:42

Vielen Dank, Rudi und Franz, das funktioniert.

Nächstes Problem:
In den Dateinamen soll das Datum als Zahl rein. Ich kann es zwar als Excel-Formel darstellen, aber nicht in VBA.
So sieht der gewünschte Dateiname in einer Excelzelle aus:
=JAHR(HEUTE())&MONAT(HEUTE())&TAG(HEUTE())& " Datenblatt " & V_Name
Also zB: "20141021 Datenblatt Müller"

Außerdem kommt noch die Schwierigkeit, wenn V_Name einen Punkt enthält, wie zB "B.Müller".
Dann wird statt dem Wunschnamen
"20141021 Datenblatt B.Müller"
nichts vorgeschlagen, obwohl bei händischer Speicherung ein solcher Dateiname zulässig ist.

Gibt es da vielleicht eine Lösung?


  

Betrifft: AW: Datei nicht schreibgeschützt speichern von: Rudi Maintaire
Geschrieben am: 21.10.2014 17:07:42

Hallo,

Sub Speichern_Unter()
  Dim strVorgabename As String
  'strVorgabename = "Berechnung" & ActiveWorkbook.Worksheets("Tabelle1").Range("V_Name").Text
  strVorgabename = Format(Date, "YYYYMMDD") & "_" & "Berechnung " & Application.Range("V_Name"). _
Text & ".xlsx"
  ActiveWorkbook.ReadOnlyRecommended = False
  Application.Dialogs(xlDialogSaveAs).Show strVorgabename
End Sub
Anstatt
=JAHR(HEUTE())&MONAT(HEUTE())&TAG(HEUTE())
geht's kürzer mit
=Text(Heute();"JJJJMMTT")

Gruß
Rudi


  

Betrifft: AW: Datei nicht schreibgeschützt speichern von: Barbara
Geschrieben am: 22.10.2014 23:55:08

Hi Rudei,
auch das funktioniert.

Nochmals vielen Dank.

LG,
Barbara


 

Beiträge aus den Excel-Beispielen zum Thema "Datei nicht schreibgeschützt speichern"