Microsoft Excel

Herbers Excel/VBA-Archiv

Class Properties Speicherbar | Herbers Excel-Forum


Betrifft: Class Properties Speicherbar von: Andreas
Geschrieben am: 26.01.2010 12:02:26

Hallo Zusammen,
erstmal ein gutes neues Jahr.
Die Methode Eigenschaften eines Klassen-Objektes als Variable zu verwenden, will ich gerne anwenden.

Ich möchte die ExcelSpaltenIndexe den Eigenschaften des KlassenObjektes "clsExcelParameter" zuordnen, also so etwas

MyExcelParameter.columnNr = 1
MyExcelParamter.coloumnName = 6
MyExcelParameter.columnHyp = 2
MyExcelParameter.columnDocNo = 2
MyExcelParameter.columnIss = 3

usw.

Die Klassse wird initialisiert, Private Variablen deklarieren, Get und Let Properties (Schnittstellen) schreiben etc.

Bleiben die Property Werte erhalten, wenn man die Arbeitsmappe speichert und schliesst?

THx.
Andi

  

Betrifft: AW: Class Properties Speicherbar von: Rudi Maintaire
Geschrieben am: 26.01.2010 12:59:01

Hallo,

Bleiben die Property Werte erhalten, wenn man die Arbeitsmappe speichert und schliesst?

warum sollten sie? Die Klasse ist dann ja auch tot.

Gruß
Rudi


  

Betrifft: AW: Class Properties Speicherbar von: Andreas
Geschrieben am: 26.01.2010 13:26:15

Hi Rudi,
Warum das Ganze?
Weil ich Parameter Daten variabel handhaben möchte.
Über ein Menü sollen die Parameter eingestellt werden.
Beim Verlassen und schliessen der Datei sollen die Daten gespeichert werden.
Beim Öffnen der Datei sollen die Parameterdaten geladen werden, so wie man diese halt zuvor gespeichert hatte.
Ich möchte nicht mehr ein Excelsheet "Veryhidden" oder eine separate Datei (*.txt etc) anzapfen.
An den "unsichtbaren" selbts initierten Objekten stört mich, die Eigenschaften sind nicht speicherbar bzw. die zuvor 1-n initierten Klassen werden beim Schliessen der Datei implizit "zerstört".

Im Gegensatz kann man die Klasseneigenschaften der Klasse "Workbook" und deren Eigenschaften speichern.

Zum Beispiel:
Thisworkbook.sheets(1).cells(1,1).commandbutton1.caption = "WertSpeicherBar"

aber

MeinPseudoObjekt.caption = "WertNichtSpeicherbar"


Wäre so etwas möglich:

Thisworkbook.sheets(1).MeineEigenschaft.columnNr = 1

also eine Unterklasse?! in eine bestehende Klasse von MS einbinden.

Oder ist das alles nur Quatsch

THX.

Andreas
















  

Betrifft: AW: Class Properties Speicherbar von: Rudi Maintaire
Geschrieben am: 26.01.2010 13:38:03

Hallo,
du könntest die Werte in der Registry ablegen. Oder über die Dateieigenschaften.
Siehe SaveSetting/ GetSetting bzw. CustomProperties

Gruß
Rudi


  

Betrifft: AW: Class Properties Speicherbar von: Andreas
Geschrieben am: 26.01.2010 13:53:17

Hi Rudi,

Danke für Deine Vorschläge.
Die Registry zu verwenden wird wahrscheinlich ohne XP Adminrechte nicht umsetzbar sein.

Also, CustomProperties ist mein Thema. THX

Gruß
Andi


  

Betrifft: Danke für die Hilfe CustomPropeties von: Andreas
Geschrieben am: 26.01.2010 14:12:31

http://msdn.microsoft.com/en-us/library/aa196425(office.11).aspx

TopicClosed


  

Betrifft: nat. CustomDocumentProperties owT von: Rudi Maintaire
Geschrieben am: 26.01.2010 13:42:39




  

Betrifft: AW: Class Properties Speicherbar von: Andreas
Geschrieben am: 26.01.2010 13:36:00

Hi Rudi,
Warum das Ganze?
Weil ich Parameter Daten variabel handhaben möchte.
Über ein Menü sollen die Parameter eingestellt werden.
Beim Verlassen und schliessen der Datei sollen die Daten gespeichert werden.
Beim Öffnen der Datei sollen die Parameterdaten geladen werden, so wie man diese halt zuvor gespeichert hatte.
Ich möchte nicht mehr ein Excelsheet "Veryhidden" oder eine separate Datei (*.txt etc) anzapfen.
An den "unsichtbaren" selbts initierten Objekten stört mich, die Eigenschaften sind nicht speicherbar bzw. die zuvor 1-n initierten Klassen werden beim Schliessen der Datei implizit "zerstört".

Im Gegensatz kann man die Klasseneigenschaften der Klasse "Workbook" und deren Eigenschaften speichern.

Zum Beispiel:
Thisworkbook.sheets(1).commandbutton1.caption = "WertSpeicherBar"

aber

MeinPseudoObjekt.caption = "WertNichtSpeicherbar"


Wäre so etwas möglich:

Thisworkbook.sheets(1).MeineEigenschaft.columnNr = 1

also eine Unterklasse?! in eine bestehende Klasse von MS einbinden.

Oder ist das alles nur Quatsch?

THX.

Gruß
Andreas