evinben
Goto Top

Meldung in Outlook (ohne Schaltflächen) unterhalb einer Sekunde anzeigen

System: Win7 x32 + Outlook 2007


Wäre es möglich in Outlook eine Meldung über VBA anhand UserForm für nur 500 Millisekunden auszugeben und wie?

Ausgereifter wäre es allerdings wenn diese Meldung (im Falle den Wert einer Variable, welche sich in ThisOutlookSession befindet) irgendwo in dem Fenster der neuverfassten Nachrichten (z. B. in der Statusleiste) ohne einen Timer permanent angezeigt wird.

Vorhaben:
Damit ihr den Fall besser versteht, gehe es hier konkret darum die Standardsprache für die Korrekturhilfe für den ausgewählten Text nach jeder Umschaltung irgendwo anzuzeigen. Da in der Praxis die Umschaltung von Sprache zu Sprache doch zu schnell erfolgt (da es zu viele Sprachen sind), soll sich der Popup auch nicht zu lang zögern, damit die Umschaltung zügig erfolgen kann und diese am Bildschirm nicht stört.
Wenn jedoch die aktuelle Korrektursprache irgendwo im Fenster (aber außerhalb des Textbereiches) angezeigt werden kann (was ja dann die beste Lösung wäre!), dann wäre ein Timer (TimeOut) überflüssig, da der aktuelle Status (EN, DE usw...) permanent angezeigt werden darf. So wäre es eindeutig viel praktischer.

Meine Versuche mit Statusbar=vMeineVar und sonstige UserForm-Experimentent scheiterten bisher.
Daher freue mich umso mehr für eure Hilfe face-wink. Sehr neugierig bin ich geworden, wie das Problem zu lösen wäre.

Gruß
Evinben

Content-ID: 208792

Url: https://administrator.de/contentid/208792

Ausgedruckt am: 24.11.2024 um 12:11 Uhr

colinardo
colinardo 28.06.2013 um 12:16:26 Uhr
Goto Top
Hallo Evinben,
für dein Vorhaben wäre vielleicht ein benutzerdefiniertes Formular in Outlook geeignet. Damit kannst du das Standardformular zum erstellen einer Nachricht mit weiteren Steuerelementen erweitern. Du könntest dann ein Label einfügen der eine benutzerdefinierte Property anzeigt, und diese Property änderst du im VBA-Projekt. Soweit die grobe Vorgehensweise.
Infos zum erstellen von Benutzerdefinierten Formularen findest du z.B. hier

Grüße Uwe
evinben
evinben 28.06.2013 um 12:31:10 Uhr
Goto Top
Hallo colinardo,

wie ich oben bereits geschrieben habe, habe ich bereits mit UserForm probiert. Das wesentliche Problem dabei ist einen Timer zu setzen. Darum geht es eigentlich.

Du könntest dann ein Label einfügen der eine benutzerdefinierte Property anzeigt, und diese Property änderst du im VBA-Projekt.
Unter Eigenschaften des erstellten UserForm gibt es keine Timer-Option standardmäßig. Der Timer muss in den Code rein und hier scheiterten meine Versuche in Outlook.
In Excel und in Access wäre es mit dem Timer kein Problem, jedoch für Outlook winde ich nichts passendes.

Gruß
Evinben
evinben
evinben 28.06.2013, aktualisiert am 29.06.2013 um 13:17:18 Uhr
Goto Top
... o... Sorry, du meinst die Formulare für die Outlook-Fenster selbst und nicht die UserFormulare!

Hmmm... das habe ich zuletzt vor drei Jahren gemacht. Schauen wir mal, wie weit ich es diesmal hin bekommen werde.

Bis Bald

Gruß
Evinben
colinardo
colinardo 28.06.2013 um 12:33:49 Uhr
Goto Top
Lese mal die Seite unter dem Link, ich meinte keine UserForm sonder ein benutzerdefiniertes Formular (keine VBA-Form) !!
evinben
evinben 28.06.2013, aktualisiert am 29.06.2013 um 13:17:46 Uhr
Goto Top
Hallo colinardo,

das habe ich ja gleich erkannt - siehe mein letztes Schreiben vor dir face-wink

Ich werde es versuchen und berichten

Gruß
Evinben
colinardo
colinardo 28.06.2013 aktualisiert um 12:53:51 Uhr
Goto Top
Zitat von @evinben:
Der Timer muss in den Code rein und hier scheiterten meine Versuche in Outlook.
In Excel und in Access wäre es mit dem Timer kein Problem, jedoch für Outlook winde ich nichts passendes.
Zur Info:
Ein simpler Timer könnte in Outlook so aussehen:
Sub myTimer()
start:
    EndTime = Timer + 5
    While Timer < EndTime
        DoEvents
    Wend
    MsgBox "5 Sekunden verstrichen"  
    GoTo start
End Sub
evinben
evinben 28.06.2013, aktualisiert am 29.06.2013 um 13:18:59 Uhr
Goto Top
Hallo colinardo,

jetzt glaube ich hier zur Verwirrung gestiftet zu haben. Wenn die 1. Lösung (anhand einer Meldung, anstatt einer permanenten Statusanzeige) umgesetzt werden soll, dann geht es mir hier darum eine Meldung anzuzeigen und sie dann nach 500 Millisekunden automatisch zu schließen. Mit MsgBox wie oben wird es daher nichts.

Eine Meldung anhand UserForm anzuzeigen würde zwar wunderbar funktionieren, jedoch habe ich bisher keine Möglichkeit gefunden einen TimeOut zu setzen (was ich oben als "Timer" bezeichnet habe).

So, nun habe ich eine Lösung für UserForm gefunden:

Option Explicit
 Private Declare Sub Sleep Lib "kernel32.dll" _  
     (ByVal dwMilliseconds As Long)

 Private Sub UserForm_Activate()
     Call Sleep(500)
     Unload Me
 End Sub

Nun bleibt es den Wert der Variable, welche sich in ThisOutlookSession befindet, an UserForm(ular) so zu übergeben, so dass ihr Text dann in der Meldung ohne irgendwelchen Schaltflächen angezeigt wird.

Tipps wären willkommen.

(Bei Gelegenheit werde ich es dann mit benutzerdefinierten Outlook-Formularen ebenso probieren. Hierfür bräuchte ich mehr Zeit zum Experimentiren.)


Gruß
Evinben
colinardo
colinardo 28.06.2013 aktualisiert um 14:12:33 Uhr
Goto Top
Zitat von @evinben:
Nun bleibt es den Wert der Variable, welche sich in ThisOutlookSession befindet, an UserForm(ular) so zu übergeben, so dass ihr Text dann in der Meldung ohne irgendwelchen Schaltflächen angezeigt wird.
Deklariere die Variable als Public in ThisOutlookSession, dann machst du im Activate-Event der Form folgendes:
Private Sub UserForm_Activate()
   Label1.Caption = ThisOutlookSession.NAME_DEINER_VARIABLEN
End Sub
76109
76109 28.06.2013, aktualisiert am 30.06.2013 um 10:32:13 Uhr
Goto Top
Hallo evinben!

Alternativ zu Colinardos Vorschlag:
Erstelle eine UserForm1 mit Meldetext (ohne Buttons), füge den Code in ein Modul ein und starte die Sub 'SendMsg'
Public Sub SendMsg()
    UserForm1.Show vbModeless
    Call Pause(0.5)     '500 Millisekunden  
    Unload UserForm1
End Sub

'Pause in Sekunden ( 1s = 1, 100ms = 0.1, 500ms = 0.5, 10ms = 0.01...)  
Public Sub Pause(ByVal Sekunden As Double)
    Dim StopTime As Double
    StopTime = Date + ((Timer + Sekunden) / 86400)
    Do While StopTime >= (Date + Timer / 86400)
        DoEvents
    Loop
End Sub

Gruß Dieter

[edit] Divisor (400) durch regulären Divisor (86400) ersetzt [/edit]
evinben
evinben 28.06.2013, aktualisiert am 29.06.2013 um 13:22:41 Uhr
Goto Top
Hallo Dieter,

danke für den Tipp. Vielleicht könnte ich diese Lösung mal doch gebrauchen.

Momentan hänge ich jedoch noch daran die Variable (aus ThisOutlookSession) an UserForm zu übermitteln, da der Tex nicht konstant ist.

Collinardo@ hat mir daher oben empfohlen die Variable als Public zu deklarieren und das habe ich wie folgt Schrit für Schrit getan:

Wenn in UserForm wie folgt steht

Option Explicit
 Private Declare Sub Sleep Lib "kernel32.dll" _  
     (ByVal dwMilliseconds As Long)
     
 Private Sub UserForm_Activate()
    Label1.Caption = ThisOutlookSession.MeineVar
    Call Sleep(500)
    Unload Me
 End Sub

und dabei die Variable MeineVar wie folgt in einem Modul deklariert ist

Public MeineVar As String

dann wird beim Aufruf von UserForm über ThisOutlookSession mit
UserForm.Show

folgende Fehlermeldung von Compiler ausgegeben

"Methoden oder Datenobjekt nicht gefunden"

und dabei die Variable in UserForm markiert.


Hierfür bräuchte ich weiterhin paar Tipps

Gruß
Evinben
colinardo
colinardo 28.06.2013 um 19:18:15 Uhr
Goto Top
du hattest oben geschrieben das die Variable in ThisOutlookSession steht. dann musst du sie auch dort als Public deklarieren, wenn du ThisOutlookSession.MeineVar nutzt.
Wenn du sie in einem Modul als Public setzt kannst du sie direkt ohne das ThisOutlookSession adressieren ...
evinben
evinben 28.06.2013 aktualisiert um 19:36:20 Uhr
Goto Top
Hallo colinardo,

so habe ich es auch ursprünglich gemacht, da das gleiche Problem aufgetreten war, habe ich sie dann zuletzt in einem Modul deklariert.
Die Fehlermeldung des Compilers lautet momentan

"Variable nicht definiert"

obwohl wie oben geschrieben die Variable in einem Modul als Public deklariert ist.

UserForm:
Private Sub UserForm_Activate()
   Label1.Caption = MeineVar
End Sub

Gruß
Evinben
colinardo
colinardo 28.06.2013 aktualisiert um 20:11:41 Uhr
Goto Top
Das muss aber alles gehen !! Ich hoffe nicht das du die Variable in einer Sub oder Function als Public deklariert hast. Die muss außerhalb einer Prozedur definiert werden !!! Und Inhalt haben sollte sie auch.
76109
76109 28.06.2013, aktualisiert am 30.06.2013 um 10:32:45 Uhr
Goto Top
Hallo Evinben!

Füge diesen Code in die UserForm ein:
Public Sub SendMsg(ByVal strText As String)
    Label1.Caption = strText
    Show vbModeless
End Sub

Und diesen Code in ein Modul und starte die Sub Test:
Sub Test()
    UserForm1.SendMsg "Mein Text"  
    Call Pause(0.5)
    Unload UserForm1
End Sub

'Pause in Sekunden ( 1s = 1, 100ms = 0.1, 500ms = 0.5, 10ms = 0.01...)  
Public Sub Pause(ByVal Sekunden As Double)
    Dim StopTime As Double
    StopTime = Date + ((Timer + Sekunden) / 86400)
    Do While StopTime >= (Date + Timer / 86400)
        DoEvents
    Loop
End Sub

Gruß Dieter

[edit] Divisor (400) durch regulären Divisor (86400) ersetzt [/edit]
evinben
evinben 28.06.2013, aktualisiert am 29.06.2013 um 13:24:14 Uhr
Goto Top
Hallo colinardo,

alles ist so wie du es betont hast:
- Inhalt hat sie (die Variable MeineVar wird in einer Sub in ThisOutlookSession gesetzt und sicher mit Inhalt gefüllt)
- ist außerhalb einer Sub (sogar in einem komplett leereren Modul!)
Alles ist genau so, wie ich es oben bereits offen gepostet habe.

Deine Reaktion/Ausrufezeichen wundern mich nun...

Gruß
Evinben
evinben
evinben 28.06.2013 um 21:20:16 Uhr
Goto Top
Hallo Dieter,

soeben habe ich es ausprobiert:

"Laufzeitfehler '424': Objekt erforderlich"
Nach Klick auf Debbugen wird folgende Zeile gelb hervorgehoben:
UserForm1.SendMsg "Mein Text"  


Jedoch dein vorheriger Code funktioniert dagegen problemlos.
Es wundert mich, dass dein letzter Code bei dir so funktioniert.

(MS-Outlook 2007, x32 unter Win7 x32)

Gruß
Evinben
colinardo
colinardo 28.06.2013 um 22:43:02 Uhr
Goto Top
das kommt vom Copy 'n Paste Syndrom .
Heißt deine Form wirklich UserForm1 ?

Ich würde hier kein Code posten und Dinge behaupten die ich nicht vorher schon mal ausprobiert habe. Deshalb liegt der Fehler eindeutig bei Dir, Sorry.
Mehr als helfen kann ich hier nicht. Und wir haben hier schon sehr viel Geduld aufgebracht.
evinben
evinben 28.06.2013, aktualisiert am 29.06.2013 um 13:26:21 Uhr
Goto Top
Hallo colinardo,

Ich würde hier kein Code posten und Dinge behaupten die ich nicht vorher schon mal ausprobiert habe. Deshalb liegt der Fehler eindeutig bei Dir, Sorry.
Mehr als helfen kann ich hier nicht. Und wir haben hier schon sehr viel Geduld aufgebracht.

wieso fühlst du dich angegriffen? Keine behauptet, dass der Fehler an dir wäre bzw. sowie keiner behauptet, dass der Fehler nicht an mir liegen würde.

Mal schön ganz ruhig face-wink. Es gibt wichtigere Dinge im Leben.

Mehr als helfen kann ich hier nicht. Und wir haben hier schon sehr viel Geduld aufgebracht.
Du bist ja in keiner Weise verpflichtet hier in Forum zu helfen.

Du hast Fakten und ich habe Fakten. Die Frage ist nicht wer letztendlich schuldig wäre, sondern wie das technische Problem zu lösen wäre.

Bei so einem kurzen Weg aufzugeben wäre es persönlich nichts für mich.

Jedoch auf deine Frage zu beantworten: es ist ja egal wie das UserForm(ular) letztendlich heißt, hauptsächlich es mit dem richtigen Nahmen in der jeweiligen Sub... anzusprechen.
D. h. für den Code von Dieter habe ich mir UserForm1 erstellt und für deinen Code eins mit einem anderen Namen, was äquivalent wäre, und es dann mit
Name_des_UserForms.Show
aus einer Sub in ThisOutlookSession anspreche (mit gefüllter Variable MeineVar, welche in einem leereren Modul als Public deklariert worden ist usw.).
Oben habe ich ja alle meine Schritte beschrieben.

Gruß
Evinben
colinardo
colinardo 29.06.2013 um 09:27:49 Uhr
Goto Top
OK, zurück zum wesentlichen.
Dieters Code hier funktioniert einwandfrei unter Outlook 2007:
siehe dieses DEMO-Video.
Poste uns mal mehr aus deinem Projekt-Code damit wir der Ursache auf den Grund gehen können. Vielleicht hat sich da ein nicht sichtbares Sonderzeichen eingeschlichen, das den Fehler verursacht.

Zitat von @76109:
Hallo Evinben!

Füge diesen Code in die UserForm ein:
Public Sub SendMsg(ByVal strText As String)
     Label1.Caption = strText
     Show vbModeless
End Sub

Und diesen Code in ein Modul und starte die Sub Test:
Sub Test()
     UserForm1.SendMsg "Mein Text"  
     Call Pause(0.5)
     Unload UserForm1
 End Sub
 
 'Pause in Sekunden ( 1s = 1, 100ms = 0.1, 500ms = 0.5, 10ms = 0.01...)  
 Public Sub Pause(ByVal Sekunden As Double)
     Dim StopTime As Double
     StopTime = Date + ((Timer + Sekunden) / 400)
     Do While StopTime >= (Date + Timer / 400)
         DoEvents
     Loop
 End Sub
Gruß Dieter

Grüße Uwe
evinben
evinben 29.06.2013 aktualisiert um 11:09:25 Uhr
Goto Top
Hallo Uwe,

danke dir, dass du dich doch meldest und nicht aufgibst. Es freut mich sehr.

Das Video habe mir heruntergeladen und mehrmals alles vorsichtig miteinander verglichen.
Nur einen einzigen Unterschied habe ich gefunden, was jedoch keine Auswirkung auf Funktion hat:
In deinem Video bei UserForm1 ist ByVal in der Zeile
Public Sub SendMsg(ByVal strText As String)

rausgelassen worden. Ansonsten nichts mehr.

Den anderen Code starte ich sowohl über einen leereren Modul als auch über ThisOutlookSession (dort habe ich sicherheitshalber alle meine restlichen Codes, welche hierfür irrelevant sind, vorher entfernt, um im Falle der Fälle eventuelle nicht ahnende Kollisionen zu vermeiden).

Leider wird beim Ausführen weiterhin dieselbe Fehlermeldung wie oben angezeigt:
"Laufzeitfehler '424': Objekt erforderlich"

Das Objekt UserForm1 kann aus unbekannten Gründen nicht gefunden werden, jedoch funktioniert einwandfrei (wenn in ihm enthaltene Sub gestartet wird).
Sicherheitshalber habe ich das UserFormular UserForm1 entfernt und neuerstellt. Dann mehrmals umbenannt (synchron ebenso in der Sub in dem Modul).
Leider keine Besserung bisher.

Anbei der angeforderte Code 1:1, ohne einzige Änderung:
'######################################  
'EXPERIMENTELL  
'UserForm "UserForm1" aufrufen.  
'######################################  
Sub Test()
    UserForm1.SendMsg "Mein Text"  
    Call Pause(0.5)
    Unload UserForm1
End Sub

'Pause in Sekunden ( 1s = 1, 100ms = 0.1, 500ms = 0.5, 10ms = 0.01...)  
Public Sub Pause(ByVal Sekunden As Double)
    Dim StopTime As Double
    StopTime = Date + ((Timer + Sekunden) / 400)
    Do While StopTime >= (Date + Timer / 400)
        DoEvents
    Loop
End Sub

Bisher funktionierten alle meine viele Makros tadellos bis das jetzige und ich hatte nie so ein seltsames Problem, dass speziell in meinem VBA-Editor etwas nicht funktioniert und bei anderen doch.

Nun sind wir alle sehr verwirrt...

Dennoch lassen wir das Wochenende weiterhin mit einer guten Laune gehen.

Gruß
Evinben
colinardo
colinardo 29.06.2013 aktualisiert um 11:14:25 Uhr
Goto Top
Kurios..
Irgendwie wird das Objekt der UserForm1 nicht erzeugt. Das sollte normalerweise automatisch geschehen. Du kannst es aber auch manuell neu erzeugen in dem du die Sub Test() folgendermaßen abänderst:
Sub Test()
    Dim newForm As New UserForm1
    newForm.SendMsg "Mein Text"  
    Call Pause(0.5)
    Unload newForm
End Sub
probier das mal bei dir
evinben
evinben 29.06.2013 aktualisiert um 13:29:42 Uhr
Goto Top
Hallo Uwe,

soeben habe ich es probiert: ...das gleiche Problem besteht weiterhin ("Laufzeitfehler '424': Objekt erforderlich")
Mit diesem Code ändert sich leider nichts daran.

Gruß
Evinben
evinben
evinben 29.06.2013 aktualisiert um 11:58:13 Uhr
Goto Top
... es ist anscheinend nur etwas im Zusammenhang mit ... SendMsg "Mein Text"

Mit dem allerersten Code von Dieter funktioniert ja das Ansprechen eines UserFormulars. Wenn nun SendMsg benutzt wird, dann hört es auf ("Objekt nicht gefunden").
colinardo
colinardo 29.06.2013 aktualisiert um 11:35:18 Uhr
Goto Top
Zeigt der Editor dir denn nach dem Eintippen von UserForm1 die Funktion SendMsg im Intelli-Sense an ?
Hast du deinen Rechner schon mal neu gestartet?
evinben
evinben 29.06.2013 um 12:03:21 Uhr
Goto Top
Ja!
(Der Verweis auf SendMsg wird im Intellisense definitiv mitaufgelistet)
colinardo
colinardo 29.06.2013 um 12:13:48 Uhr
Goto Top
Hast du noch einen zweiten Rechner mit dem du testen könntest ?
oder alternativ: lege mal testweise einen neuen Windows-Account an in dem du den Code in Outlook einbindest. Um auszuschließen das das Profil einen Schuss hat.
evinben
evinben 29.06.2013 um 13:13:07 Uhr
Goto Top
Hallo Uwe,

soeben habe ich auf einem anderen Rechner (ebenso mit Win7 x32 und MS-Office 2007) die beiden Code-Abschnitte von Dieter in VBA-Editor des Outlooks eingefügt und ausprobiert.
Hierfür habe ich erstmals ein Outlook-Profil erstellen müssen. Den zweiten Code-Abschnitt habe ich sowohl in ThisOutlookSession als auch in einem leereren Modul eingefügt in beiden Bereichen und jeweils nacheinander ausgeführt.

Ergebnis: der Compiler debuggt weiterhin die gleiche Fehlermeldung wie oben.

Nun wird das Problem erst ab jetzt spannender.

Du kannst dich meinetwegen gerne mit mir per TeamViever (8) verbinden oder alternativ.
Jedoch vergewissere ich hier, dass ich von dir und von Dieter empfohlenen Schritten genauso, wie diese beschrieben sind, gemacht habe.

Gruß
Evinben
76109
76109 29.06.2013 aktualisiert um 14:01:29 Uhr
Goto Top
Hallo zusammen!

Hat sich ja einiges getanface-wink

@colinardo
Danke für's einspringenface-smile

@evinben
Leider fällt mir zu Deinem Problem nix ein, zumal es bei mir auch problemlos läuft. Enthält die UserForm auch ein Textfeld mit dem Namen 'Label1' ?

Wenn nicht, dann kommt der beschriebene Fehler nämlich auch...

Gruß Dieter
evinben
evinben 29.06.2013 um 14:27:55 Uhr
Goto Top
Hallo Dieter,

Enthält die UserForm auch ein Textfeld mit dem Namen 'Label1' ?
nein, die Notwendigkeit war mir nicht bekannt. Soeben habe ich es ergänzt und der Compiler meldet dies mal den folgenden Fehler:

Methode oder Datenobjekt nicht gefunden

hebt dabei die Zeile
Public Sub SendMsg(ByVal strText As String)
gelb hervor und markiert in der danach folgenden Zeile die folgende Zeichenfolge: [.Caption =]

Gruß
Evinben
colinardo
colinardo 29.06.2013 aktualisiert um 14:36:37 Uhr
Goto Top
nein, die Notwendigkeit war mir nicht bekannt.
Das war der Hinweis den wir brauchten .....face-smile
Zu deinem letzten Fehler:
Es sollte hierbei natürlich ein Bezeichnungsfeld-Objekt(das mit dem großen A in der Werkzeugkiste) sein und kein Textfeld wenn du die Eigenschaft Caption verwendest. Ansonsten nimmst du bei einem Textfeld die Value Eigenschaft.
evinben
evinben 29.06.2013 aktualisiert um 14:52:14 Uhr
Goto Top
Hallo Uwe,

face-wink, wenn ich Caption mit Value ersetze, dann erhalte ich endlich die Meldung "Mein Text" in dem weiß angezeigten Textfeld, den ich allerdings erst dann erstellt habe, nach dem mich Dieter darauf hingewiesen hat.

Also alles funktioniert durch prima face-wink
Und es freut mich, dass bei mir doch nichts etwas beschädigt ist oder so, wie es beinahe zu vermuten wäre...

Etwas verstehe ich allerdings noch nicht. Du schreibst:
Es sollte hierbei natürlich ein Label-Objekt sein und kein Textfeld wenn du die Eigenschaft Caption verwendest.
Warum sollte es sich in meinem Falle um ein Label-Objekt handeln? Und wie erstelle ich so ein Label-Objekt (der Textfeld wird in der Werkzeugsammlung als "Textfeld" bezeichnet und so habe ich ihn finden können). Kann es sein dass du mit diesem Label-Objekt in der deutschen Lokalisierung den "Bezeichnungsfeld" meinst?

PS: Der andere Rechner wird bald fertig und erst danach hätte ich Möglichkeit den TeamViewer zu starten, falls es überhaupt noch nötig wäre...

Gruß
Evinben
76109
76109 29.06.2013 aktualisiert um 15:00:13 Uhr
Goto Top
Hallo!

Es sollte hierbei natürlich ein Bezeichnungsfeld-Objekt(das mit dem großen A in der Werkzeugkiste) sein und kein Textfeld wenn du die Eigenschaft Caption verwendest. Ansonsten nimmst du bei einem Textfeld die Value Eigenschaft.
Sorry, hatte ich eigentlich auch so gemeint, aber fälschlicherweise das Textfeld als Gegenstück der TextBox interpretiertface-sad

@evinben
Enthält die UserForm auch ein Textfeld mit dem Namen 'Label1' ?
nein, die Notwendigkeit war mir nicht bekannt.
Der war gutface-smile

Warum sollte es sich in meinem Falle um ein Label-Objekt handeln? Und wie erstelle ich so ein Label-Objekt (der Textfeld wird in der Werkzeugsammlung als "Textfeld" bezeichnet und so habe ich ihn finden können). Kann es sein dass du mit diesem Label-Objekt in der deutschen Lokalisierung den "Bezeichnungsfeld" meinst?
Das Textfeld alias TextBox ist ein Text-Eingabefeld, dass Du ja nicht benötigst, da Du ja nur Text anzeigen lassen willst, insofern reicht ein Bezeichnungsfeld (großes A-Symbol). Hatte es im letzten Kommentar nur verwechselt und colinardo hat es ja inzwischen richtig gestellt...

Gruß Dieter
colinardo
colinardo 29.06.2013 aktualisiert um 14:56:15 Uhr
Goto Top
Zitat von @evinben:
Etwas verstehe ich allerdings noch nicht. Du schreibst:
> Es sollte hierbei natürlich ein Label-Objekt sein und kein Textfeld wenn du die Eigenschaft Caption verwendest.
Warum sollte es sich in meinem Falle um ein Label-Objekt handeln? Und wie erstelle ich so ein Label-Objekt (der Textfeld wird in
der Werkzeugsammlung als "Textfeld" bezeichnet und so habe ich ihn finden können). Kann es sein dass du mit diesem
Label-Objekt in der deutschen Lokalisierung den "Bezeichnungsfeld" meinst?
Genau das meinte ich, hatte es auch danach noch korrigiert.
PS: Der andere Rechner wird bald fertig und erst danach hätte ich Möglichkeit den TeamViewer zu starten, falls es
überhaupt noch nötig wäre...
ist ja nicht mehr nötig...

Dann können wir das ja hier abschließen .
Viel Erfolg weiterhin ..

Grüße Uwe
evinben
evinben 29.06.2013 aktualisiert um 15:14:34 Uhr
Goto Top
Hallo Uwe und Dieter!

Alle Probleme haben sich auf Anhieb erledigt. Soweit habe ich alles verstanden und dabei reichlich gelernt.

Die Grundlogik einer UserForm habe ich soweit erkennen können und werde diese gerne öfters einsetzen face-wink


Ja, den Fall können wir soweit schließen.

Ein schönes Wochenende

Gruß
Evinben