Speichern einer Vorlage

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


Excel-Version: Alle Versionen
nach unten

Betrifft: Speichern einer Vorlage
von: Werner Schleifer
Geschrieben am: 12.07.2002 - 19:01:41

Hallo

ich habe eine Vorlage mit 4 Blättern, daß vierte ist versteckt und heißt bak.

Ich will die Vorlage per makro abspeichern, wobei das erste blatt gegen das bak ausgestauscht werden soll.

So sieht mein Makro aus:

Sub Vorlage_speichern()
Dim Antwort, Mdlg, Stil
Mdlg = "Vorlage speichern ? (Alle Änderungen von Tätigkeiten und Kunden werden mit in die Vorlage gespeichert !!!)"
Stil = vbYesNo
Antwort = MsgBox(Mdlg, Stil)
If Antwort = vbYes Then
ActiveWorkbook.Unprotect
Sheets("back").Visible = True
Sheets("back").Select
Sheets("back").copy Before:=Sheets(1)
Sheets("Rechnung").Select
Sheets("Rechnung").Unprotect
Application.DisplayAlerts = False
ActiveWindow.SelectedSheets.Delete
Application.DisplayAlerts = True
Sheets("back (2)").Select
Sheets("back (2)").Name = "Rechnung"
Sheets("Rechnung").Select
Sheets("Rechnung").Protect
Sheets("back").Visible = False
ActiveWorkbook.Protect

Const Pfad = "C:\WINDOWS\Profiles\werner\Anwendungsdaten\Microsoft\Vorlagen\fertig2.xlt"
On Error GoTo Errorhandler
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs (Pfad)
Application.DisplayAlerts = True
MsgBox "Datei wurde gespeichert !"
Exit Sub
Else
GoTo Abbruch
End If

Abbruch:
MsgBox "Datei nicht gespeichert !", vbOKOnly
Exit Sub

Errorhandler:
MsgBox "Der Ordner wurde nicht gefunden"

End Sub


Funktioniert auch sehr gut, nur wenn ich die abgespeicherte Vorlage später öffne will komm bei excel eine Fehlermeldung:

EXCEL verursachte einen Fehler durch eine ungültige Seite
in Modul EXCEL.EXE bei 018f:3005c673.
Register:
EAX=00000018 CS=018f EIP=3005c673 EFLGS=00010206
EBX=308c9dd5 SS=0197 ESP=0062e4b4 EBP=0062e4c8
ECX=016dbab0 DS=0197 ESI=00000000 FS=15cf
EDX=00000001 ES=0197 EDI=00000018 GS=0000
Bytes bei CS:EIP:
83 20 00 8d 45 f4 50 ff 75 10 e8 6c fc ff ff ff
Stapelwerte:
00000000 016ce1c8 016ceac8 0062e4ec 308c9dd5 0062e4ec 3005c610 004adda4 00000000 00000000 00000018 00f6b274 00f6b328 006fd860 0062e504 3005c580

Diese Meldung erscheint nur bei der besagten Vorlage nach dem Speichern per makro!

Was mache ich falsch????

W.Schleifer

nach oben   nach unten

Re: Speichern einer Vorlage
von: Hans W. Herber
Geschrieben am: 13.07.2002 - 09:08:06

Hallo Werner,

ändere den Code (sinngemäss) wie folgt:


Sub Vorlage_speichern()
   Const Pfad As String = "C:\fertig2.xlt"
   Dim Antwort As Variant, Mdlg As String, Stil As Variant
   Mdlg = "Vorlage speichern?"
   Stil = vbYesNo
   Antwort = MsgBox(Mdlg, Stil)
   If Antwort = vbYes Then
      ActiveWorkbook.Unprotect
      Application.DisplayAlerts = False
      Worksheets("Rechnung").Delete
      Application.DisplayAlerts = True
      Worksheets("back").Visible = True
      Worksheets("back").Copy before:=Worksheets(1)
      With Worksheets(1)
         .Name = "Rechnung"
         .Protect
         .Select
      End With
      Worksheets("back").Visible = False
      ActiveWorkbook.Protect
      On Error GoTo Errorhandler
      Application.DisplayAlerts = False
      ActiveWorkbook.SaveAs Pfad
      Application.DisplayAlerts = True
      MsgBox "Datei wurde gespeichert !"
   Else
      MsgBox "Datei nicht gespeichert !", vbOKOnly
   End If
   Exit Sub
Errorhandler:
   MsgBox "Der Ordner wurde nicht gefunden"
End Sub

hans

nach oben   nach unten

Re: Speichern einer Vorlage
von: Werner Schleifer
Geschrieben am: 13.07.2002 - 20:04:28

Hallo,

ich habe es mit deinem Code versucht, leider ist aber mein Problem noch nicht verschwunden.
Hast du mir vielleicht noch eine andere Lösung?


W.schleifer


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Speichern einer Vorlage"