AW: Zugriff auf Vorlagenverzeichnis
28.11.2003 09:43:10
George
Option Explicit
' Beispiel
Public
Sub NeueDateiNachVorlageBilden()
On Error GoTo ErrH
Dim Vorlage As Variant, WrbVorlage As Workbook, WrbNew As Workbook, Sh As Worksheet
' Vorlage finden.
' GetOpenFilename Displays the standard Open dialog box and gets a file name from the user without actually opening any files
Vorlage = Application.GetOpenFilename(FileFilter:="MS Excel Files (*.xls),*.xls", _
Title:="Dateien Offnen", _
MultiSelect:=False)
' die Variable Vorlage sollte den Path der Vorlage bekommen (als String)
' falls man aber im Open Dialog auf Storno druckt, bekommt die Vorlage den
' logischen Wert False. Dashalb ist sie von Typ Variant, weil dann kann alle
' Datentypen beinhalten, Strings oder Bools usw. ;-)
' also falls man nicht Storno gedruckt hat, kann man weiter machen
If (Vorlage <> False) Then
' die Vorlage offnen und die Referentz auf sie in die Variable WrbVorlage speichern
' Dei Variable WrbVorlage reprezentiert jetzt die Vorlage, wenn man mit der Vorlage
' "sprechen" will, tut es durch die Var. WrbVorlage :-)
Set WrbVorlage = Application.Workbooks.Open(Filename:=Vorlage)
' eine neue Datei bilden und den Verweiss(Referentz) wieder in eine Variable speichern
Set WrbNew = Application.Workbooks.Add ' Datei ist nicht gespeichert!
' in die neue Datei die Sheets von Vorlage kopieren
For Each Sh In WrbVorlage.Worksheets
Sh.Copy before:=WrbNew.Worksheets(1)
Next Sh
' Vorlage wieder schleissen, ohne zu Fragen :-)
Application.DisplayAlerts = False
WrbVorlage.Close
Application.DisplayAlerts = True
Else
End
End If
Exit Sub
ErrH:
' falls Fehler auftauchen
MsgBox "Laufzeitsfehler " & Err.Description
End Sub
' hat es geklappt? :-)