Eigenschaften exportieren

Ich habe mal damit angefangen, die Eigenschaften zum Export auszulesen.

images/upload/moz-screenshot-6.jpg

Ich würde dann die hier ausgewählten Eigenschaften in XML speichern und dann später wieder restaurieren.
Im oberen Teil bin ich pauschal hingegangen und habe alle Properties von CurrentDB gelesen - hier würde evtl. eine fest definierte Teilmenge ausreichen.
Bisher lese ich:
- CurrentDb.Properties (<> "")
- CurrentDb.Containers("Databases").Documents("SummaryInfo").Properties (ab Index 8)
- CurrentDb.Containers("Databases").Documents("UserDefined").Properties (ab Index 8)
- References (not BuiltIn and not IsBroken)
- VBE.ActiveVBProjekt (Name, Description, HelpContextID und HelpFile)

Weitere Vorschläge nehme ich gerne an.
wenn ich damit fertig bin, wird's auch die Möglichkeit geben, ein Projekt auf Knopfdruck komplett neu zu erstellen :wink:

Dabei werde ich dann auch vorsehen, bestimmte Konstanten in den Values der Properties durch Funktionen zu ersetzen:
  • {SVNRevision}
    wird ersetzt durch die aktuelle SVN-Revisionsnummer
  • {WINUser}
    wird ersetzt durch den Windows-Benutzernamen
  • {WINComputer}
    wird ersetzt durch den Windows-Computernamen
    EDIT (06.12.2007):
  • {SVNDate}
    wird ersetzt durch das SVN-Datum des Projektordners
  • {SVNDateTime}
    wird ersetzt durch SVN-Datum/Uhrzeit des Projektordners
  • {Date}
    wird ersetzt durch das aktuelle Datum
  • {DateTime}
    wird ersetzt durch das aktuelle Datum + Uhrzeit

"GillesB"
Bisher lese ich:
- CurrentDb.Properties (<> "")
- CurrentDb.Containers("Databases").Documents("SummaryInfo").Properties (ab Index 8)
- CurrentDb.Containers("Databases").Documents("UserDefined").Properties (ab Index 8)
- References (not BuiltIn and not IsBroken)
- VBE.ActiveVBProjekt (Name, Description, HelpContextID und HelpFile)

Weitere Vorschläge nehme ich gerne an.


Das ist schon sehr gut!

Ich habe in deiner Liste ein paar Konfigurationseinstellungen vermisst und dabei festgestellt, dass ein paar wichtige Einstellungen offenbar nur über GetOption/SetOption erreichbar sind. Das sollte dann meiner Meinung hier ebenfalls enthalten sein. Unschön ist, dass es AFAIK keine Collection dieser Optionen gibt und du die einzelnen Options nur direkt über Ihren Namen ansprechen kannst.

Für mich sehr wichtig sind:
"Conditional Compilation Arguments"
und
"Error Trapping"

Evtl. wäre es sinnvoll, wenn pro Option festgelegt werden kann, ob diese
ins Repository soll, oder nicht. Es gibt ja evtl. ein paar Optionen (z.B. "Tab Stop Width"), die eigentlich Benutzerspezifisch sind, die ich aber trotzdem für alle Entwickler in einem Projekt verbindlich festlegen will, weil ich sonst Zustände kriege, wenn ich fremden Code bearbeiten muss.

Gruß
Phil

PS:
Eine vollständige Liste der Options habe ich hier gefunden:
http://www.ms-o…d.php?p=962333
"StiefelP"
Ich habe in deiner Liste ein paar Konfigurationseinstellungen vermisst und dabei festgestellt, dass ein paar wichtige Einstellungen offenbar nur über GetOption/SetOption erreichbar sind. Das sollte dann meiner Meinung hier ebenfalls enthalten sein. Unschön ist, dass es AFAIK keine Collection dieser Optionen gibt und du die einzelnen Options nur direkt über Ihren Namen ansprechen kannst.
...
Evtl. wäre es sinnvoll, wenn pro Option festgelegt werden kann, ob diese
ins Repository soll, oder nicht.


Wie wär's mit einer Konfigurationsdatei, in der die "GetOption"-Werte an- und ausgeschaltet werden können?
So kann man da eingreifen, auch ohne dass OASIS dafür einen umfangreichen Editor mitliefert.
Den könnte man später immer noch einbauen.
-> Ausserdem kann man so quasi "on the fly" neue Optionen einbauen, ohne dass der Quelltext dafür angepackt werden muss.

Eventuell lagere ich in diesem Zuge auch gleich die kompletten Einstellungen für OASIS in eine Datei aus.

Apropos Editor: - die Liste der Properties erhält von mir noch 'nen Editor spendiert ;-)
images/upload/PropertyEdit.png