Portal | Forenübersicht | Neues Thema | Suchen | FAQ | Registrieren | Login
Forum > Excel & VBA > Add-Ins > Speichern von Benutzerdaten im AddIn
Fragen zu den AddIn´s aus dem Downloadbereich
In diesem Board befinden sich 22 Themen.
Die Beiträge bleiben immer erhalten.
Es wird moderiert von P@ulchen, RO_SCH.
Seite 1 2 Neues Thema letztes Thema nächstes Thema Dieses Board durchsuchen Diesen Thread zu meinen persönlichen Favoriten hinzufügen Abonnieren Ohne Zitat Antworten Druckt alle Antworten dieses Themas


Urkle ist offline Urkle  Speichern von Benutzerdaten im AddIn Antworten Zitatantwort Einzelbeitrag drucken Dieses Thema weiterempfehlen
Profil private Nachricht senden Email
25.3.2009 - 14:37 Uhr
46 Posts
Kenner


Hallo Zusammen,
ich hab ein Addin, was ein Kontextmenu mit diversen Funktionen darstellt.
Unter anderem kopiert es Daten von Excel nach Outlook, funktioniert alles.
NUR:
Da gibt es es Setup zu diesem Excel2Outlook Funktion[Exc2Outsetup], welches die Spalten der Daten variabel hält. Und genau dies funktioniert so lange, wie das Addin nicht geschlossen bzw. Excel geschlossen wird. --> Blöd, dann brauch ich es auch nicht.
Ich hab es mit Daten aus einem Addin-internen Worksheet versucht, ging nicht, weil - sobald ich es als Addin definiere [thisworkbook.isaddin = true], dann kann er nicht mehr auf die Daten zugreifen.
Dann hab ich es mit einer externen txt-Datei versucht, das geht, ist aber umständlich immer zwei Datein zu kopieren--> auf andere Rechner...
Jetzt bin ich bei einer Userform (siehe Anhang), da ist genau das o.g. Problem, weil ja das Addin jedesmal neu gestartet wird, wenn ich Excel aufrufe --< Initialisierung = alles auf Anfang bei Userform [Data].

WAS KANN ICH TUN UM BENUTZERDATEN IM ADDIN ZU SPEICHERN??

Urkle hat folgende Datei angehängt:

6_from_Urkle_excl2outl-kontext.xla | Dateigrösse: 147 KB


RO_SCH ist offline RO_SCH  Re: Speichern von Benutzerdaten im AddIn Antworten Zitatantwort Einzelbeitrag drucken Dieses Thema weiterempfehlen
Profil private Nachricht senden
25.3.2009 - 15:37 Uhr
2406 Posts
Super-Moderator


Hi Urkle,

gar nichts !!! - laut Definition kann ein Add-In nicht verändert werden, solange es die Endung .xla hat.

Du must aber keine Textdatei kopieren, die kannst du anlegen lassen beim ersten Ausführen des Add-In, falls diese nicht vorhanden ist.

Die Abfrage, ob die txt-Datei existiert, sollte ein leichtes sein, oder ?!?

Hilft dir das weiter ?!?

Gruß Roland

Urkle ist offline Urkle  Re: Speichern von Benutzerdaten im AddIn Antworten Zitatantwort Einzelbeitrag drucken Dieses Thema weiterempfehlen
Profil private Nachricht senden Email
25.3.2009 - 15:58 Uhr
46 Posts
Kenner


Hallo RO_SCH,
ich habs befürchtet.
Ja, die Abfrage funktioniert ja schon bei mir... ich wollte nur ne elegante Lösung.
Danke trotzdem.

P@ulchen ist offline P@ulchen  Re: Speichern von Benutzerdaten im AddIn Antworten Zitatantwort Einzelbeitrag drucken Dieses Thema weiterempfehlen
Profil private Nachricht senden
25.3.2009 - 19:10 Uhr
717 Posts
Administrator


Hallo zusammen,

@RO_SCH
Ein AddIn kann ich schon ändern...
Es ist ohne Probleme möglich, benutzerdefinierte Daten auf einem Blatt zu hinterlegen, diese im Code des AddIns auszulesen, zu verändern und abzuspeichern.

@Urkle
Wenn Du, wie in Deinem Fall, schon ein AddIn erstellt hast, später aber Tabelle(n) hinzufügen möchtest, gehst Du folgendermaßen vor:

Im Projektfenster des VBA-Editors DieseArbeitsmappe auswählen und dann im Eigenschaftsfenster die Eigenschaft "IsAddIn" auf False stellen.
Jetzt kannst Du beliebig Blätter einfügen, umbenennen etc...
Nicht vergessen, die IsAddIn-Eigenschaft vor dem Speichern wieder auf True zu setzen!

Ich habe das schon mal in Deinem AddIn umgesetzt und ein paar "kleine" Veränderungen vorgenommen:

1. Blatt "tbl1" eingefügt
Hier werden in A1:A40 die Value-Eigenschaften der OptionButton eingetragen.

2. Ein Klassenmodul eingefügt
Alle OptionButton werden einer Klasse zugewiesen.

Grund:
Du hast 40 OptionButton, die im Grunde genommen alle das Selbe machen: Deaktivieren der anderen OptionButton in ihrer Gruppe (Zeile) und sich selbst aktivieren.
Du hattest dafür 40 Makros erstellt.

Um dies zu umgehen, habe ich ein Userform_Initialize() eingefügt.
Dieses Makro wird immer beim Aufruf der Userform ausgeführt und weist alle OptionButton einer Klasse zu. Außerdem wird gleichzeitig die im Blatt "tbl1" hinterlegte Value-Eigenschaft für jeden OptionButton übernommen.

Das Zuweisen der OptionButton in eine Klasse bewirkt, dass das OptionButton_Click-Ereignis bei allen OptionButton ausgeführt wird.
Du findest dieses Makro im Klassenmodul clsOpt.

In diesem Makro erfolgt auch die Ermittlung der Gruppe (Zeile) des OptionButton.
Dies habe ich über eine Runden-Funktion realisiert, die an Hand des OptionButton-Namen immer auf volle Zehner aufrundet und somit eindeutig feststellt, in welcher Gruppe sich der aktuelle OptionButton befindet.
Alle OptionButton dieser Gruppe werden dann deaktiviert, der aktuelle OptionButton wird aktiviert.

3. Änderung des Makros btn_setzen_Click()
Hier werden mittels Schleife die Value-Eigenschaften der OptionButton in das Blatt "tbl1" übertragen.
Danach wird über die "COUNTIF"-Funktion geprüft, ob genau 4 OptionButton aktiviert sind. Ist dies der Fall, wird die Userform geschlossen und das AddIn gespeichert, ansonsten kommt die Fehlermeldung.
Somit entfällt auch das Makro zeilentest...

Ich habe die Makros auskommentiert, damit Du Dich leichter reinfindest

Schau es Dir mal an und gib Bescheid, falls noch Fragen sind...

Gruß
P@ulchen

P@ulchen hat folgende Datei angehängt:

6_from_P@ulchen_excl2outl-kontext.xla | Dateigrösse: 127 KB


Kaum macht man es richtig - schon funktionierts...

Urkle ist offline Urkle  Re: Speichern von Benutzerdaten im AddIn Antworten Zitatantwort Einzelbeitrag drucken Dieses Thema weiterempfehlen
Profil private Nachricht senden Email
31.3.2009 - 12:13 Uhr
46 Posts
Kenner


Hallo P@ulchen,
jetzt weiß ich, es gibt noch einen Gott!! UND ich stelle fest, ich sollte mich noch mehr mit dieser Materie beschäftigen.
Genau so soll es sein.
Wo soll ich den Kaffee hinschicken?
Danke und Gruß!
Urkle

P@ulchen ist offline P@ulchen  Re: Speichern von Benutzerdaten im AddIn Antworten Zitatantwort Einzelbeitrag drucken Dieses Thema weiterempfehlen
Profil private Nachricht senden
31.3.2009 - 12:23 Uhr
717 Posts
Administrator


Kaffee nach Leipzig - bitte dünn und stark!

Freut mich, wenn ich Dir helfen konnte.

Gruß
P@ulchen
Kaum macht man es richtig - schon funktionierts...

Urkle ist offline Urkle  Re: Speichern von Benutzerdaten im AddIn Antworten Zitatantwort Einzelbeitrag drucken Dieses Thema weiterempfehlen
Profil private Nachricht senden Email
4.5.2009 - 14:28 Uhr
46 Posts
Kenner


Hallo P@ulchen,
komische Sache. Jetzt gehts nicht mehr. Habe mein aktualisiertes Addin, als auch Deine von Dir hier abgelegte Version auf meinem Rechner getestet. Jetzt findet er die Spalten nicht mehr bzw. Fehlermeldung, das das Fälligkeitsdatum in Spalte NULL nicht ist...
Null heisst, dass er die Daten aus Deiner programmierten Klasse nicht einliest...
Ich hänge mal meine Version dran, kann aber keinen Unterschied feststellen.
Wieso gehts das Addin Excel2Outlook nicht mehr?

Kannst Du mir erleutern, wie der Wert "Spalte_feallig" in die Sub eingelesen wird?

Urkle hat folgende Datei angehängt:

6_from_Urkle_excl2outl-kontext-200.xla | Dateigrösse: 119 KB


Urkle ist offline Urkle  Re: Speichern von Benutzerdaten im AddIn Antworten Zitatantwort Einzelbeitrag drucken Dieses Thema weiterempfehlen
Profil private Nachricht senden Email
8.7.2010 - 9:47 Uhr
46 Posts
Kenner


Hallo P@ulchen,
..wie schon vorher beschrieben interessiert mich nach wie vor, wie
die Globalen Variablen
Public Spalte_project As Integer
Public Spalte_name As Integer
Public Spalte_Inhalt As Integer
Public Spalte_feallig As Integer
belegt werden, damit die Werte zu Inhalten im Outlook Objekt führen.

Bei mir sagt er:
1
2
3
4
5
6
If Err.Number = 13 Then
        Err.Clear
         MsgBox "Format ist kein DATUM in Spalte" & actColFeallig
        End If
        If faelligkeit = "" Then
        MsgBox "...kein Fälligkeitsdatum in Spalte " & actColFeallig


für actColFeallig = 0
für actColFeallig = 0

Ist das bei Dir auch?





Urkle hat folgende Datei angehängt:

6_from_Urkle_ecxel2outlook.xla | Dateigrösse: 92 KB


RO_SCH ist offline RO_SCH  Re: Speichern von Benutzerdaten im AddIn Antworten Zitatantwort Einzelbeitrag drucken Dieses Thema weiterempfehlen
Profil private Nachricht senden
8.9.2010 - 19:57 Uhr
2406 Posts
Super-Moderator


Hi Urkle,

habe mir das AddIn mal angeschaut, die Public Variablen werden nicht gefüllt, nur angefragt.

Da ich aber auch nicht genau weis, was das AddIn eigentlich machen soll, habe ich da jetzt auch nicht den ganz genauen Durchblick.

Aber ich kenne ja auch nicht die Datei, die dahintersteckt, und die Daten zur Verfügung stellt.

Im Sinne deiner Frage: JA das ist bei mir auch.

Gruß Roland

Urkle ist offline Urkle  Re: Speichern von Benutzerdaten im AddIn Antworten Zitatantwort Einzelbeitrag drucken Dieses Thema weiterempfehlen
Profil private Nachricht senden Email
10.9.2010 - 17:39 Uhr
46 Posts
Kenner


RO_SCH,
ich glaube das ist der Tipp.
Wenn Du dir P@ulchens Variante ansiehst... findest Du unter change_colom()
die Verknüpfung zu einer TXT Datei (laut def. : Exl2outl.dat), wo ich die Werte hinterlegt hatte.
ABER!! Ich wollte ja genau das verhindern.
P@ulchen hatte ne Variante, miti der man in eine Tabelle schreiben kann. Nun denke ich, man kann diese sub löschen...

Wo ist mein Denkfehler?

Ziel: ich will nur eine XLA Datei, nicht noch irgend welche LOG oder DAT Datein mitschleppen ---> Übertragung auf andere Rechner....

Gruß Urkle

RO_SCH ist offline RO_SCH  Re: Speichern von Benutzerdaten im AddIn Antworten Zitatantwort Einzelbeitrag drucken Dieses Thema weiterempfehlen
Profil private Nachricht senden
10.9.2010 - 18:33 Uhr
2406 Posts
Super-Moderator


Hi Urkle,

ich finde den von dir geposteten String "Exl2outl.dat" im ganzen Code nicht.

Kannst du mir genau sagen, wo man den findet ?

Gruß Roland

Seite 1 2 nach oben

Forenauswahl:





Numaek's Forum V4.1.0 © 2005 by numaek
Originaltemplate by numaek