corpse2001
Goto Top

Schreiben in einer TextBox in einem Outlook 2003 Formular

Hallo,

ich habe ien Outlook formular in dem ich über ein makro etwas in eine Textbock schreiben will versucht habe ich das so.
Codeauszug:
textBox1.Text = "Ticket#: " & NewNumber

leider gehtdas nicht wei ich imm eine Meldung bekomme "Laufzeitfehler '424': Objekt erfordelich

ich habe schon gegoogeld wie bekloppt aber kann keine Lösung finden.
ich mache das mit diesem Visualbasic Editor der startet wenn man in Outlook ein Makro schreiben will.

mfg
corpse2001

Content-Key: 64632

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

Printed on: April 26, 2024 at 23:04 o'clock

Member: miniversum
miniversum Jul 25, 2007 at 09:47:12 (UTC)
Goto Top
Willst du eine Eingabobox haben?
dann so:
textBox1.Text = inputbox("Ticket#: ")

Oder hab ichs jetzt falsch verstanden?

miniversum
Member: corpse2001
corpse2001 Jul 25, 2007 at 09:50:50 (UTC)
Goto Top
ne eingeben will ich nichts, ich möchte das automatisch ein Feld ausgefüllt wird.

ich habe dein aber mal getestet ich bekomme zwar das eingabe feld aber dann bei OK wieder der gleich fehler.
Member: CallZentner
CallZentner Jul 26, 2007 at 10:07:06 (UTC)
Goto Top
Moin,

besteht das Problem noch? Wenn ja, wäre ein wenig mehr Code hilfreich. Heißt Deine TextBox auch textBox1? Und ist die Variable NewNumber befüllt?

Gruß

Jens
Member: corpse2001
corpse2001 Jul 26, 2007 at 12:48:08 (UTC)
Goto Top
Hallo,

das Problem besteht immer noch NewNumber ist mit einem Wert gefüllt und ich bin mir ziemlich sicher das die TextBox, TextBox1 heißt.

das ist mein vollständiger Makro-Code:

Sub TicketNummer()

'Lesen/schreiben der Datenbank für Ticketnummer
Set cn = CreateObject("ADODB.Connection")
cn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\SrvXXXX\Ordner\temp\db1.mdb")
Set rs = cn.Execute("SELECT Tickettabelle.Ticketnummer FROM Tickettabelle")
If Not rs.EOF Then
NewNumber = rs.Fields("Ticketnummer")
NewNumber = NewNumber + 1
Set rs = cn.Execute("UPDATE Tickettabelle SET Tickettabelle.Ticketnummer = " & NewNumber)
MsgBox "Ticket#: " & NewNumber

Else
MsgBox "Datenbank nicht vorhanden oder erreichbar!"
End If
cn.Close

'Übergabe der Ticketnummer in Textbox
textBox1.text = "Ticket#: " & NewNumber

'Ab hier für Kalendereintrag
Set objOL = New Outlook.Application
Set objNS = objOL.GetNamespace("MAPI")
Set objFolder = objNS.GetDefaultFolder(olFolderContacts)

Dim objOLApp As Outlook.Application
Dim NewAppoint As Outlook.AppointmentItem
Set objOLApp = New Outlook.Application
Set NewAppoint = objOLApp.CreateItem(olAppointmentItem)
NewAppoint.Subject = "Ticket#: " & NewNumber & " erstellt am: " & Date
NewAppoint.Display


End Sub


MFG corpse2001
Member: misterdemeanor
misterdemeanor Aug 02, 2007 at 11:09:07 (UTC)
Goto Top
Grüß Dich "corpse2001",

also von Outlook-Automation habe ich keine Ahnung. Habe mir zwar eben einen kleinen Einblick verschafft und kann nur sagen : lass die Hände weg von Makros! Erstelle Dir lieber ein UserForm im VBA-Editor.

Zu Deinem Fehler:
Du musst natürlich auf die TextBox verweisen. Frage mich aber nicht wie das bei diesem "Objektmodell" vonstatten gehen soll.

BG

Feix
Member: misterdemeanor
misterdemeanor Aug 02, 2007 at 12:30:11 (UTC)
Goto Top
Jetzt hab ichS.

Mit VBA kommt man in diesem Fall nicht weit, bzw. ist es /nicht/ möglich.
Du musst VBScript einsetzen!

Öffne Dein entsprechendes Formular in der Entwurfsansicht.
Füge einen CommandButton (Name "GetTicket") auf die entsprechende Page.
Öffne unter Formular|Code Anzeigen den SkriptEditor.
Füge folgenden Code ein;

CODE---------------------------------------
Sub GetTicket_Click

Set cn = CreateObject("ADODB.Connection")
cn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MeineAccess.mdb")
Set rs = cn.Execute("SELECT Tickettabelle.Ticketnummer FROM Tickettabelle")

NewNumber = rs.Fields("Ticketnummer")
NewNumber = NewNumber + 1

Set rs = cn.Execute("UPDATE Tickettabelle SET Tickettabelle.Ticketnummer = " & NewNumber)

'Nicht vergessen: Den Namen Deiner Page einfügen! (Hier "My Page")
Set myButton = Item.GetInspector.ModifiedFormPages("My Page").Controls("TextBox1")
myButton.Text = NewNumber
End Sub
CODE------------------------------------------

Sowas von unglaublich bescheuert, aber anders habe ichS bisher nicht hinbekommen.

Grüße aus Wolfsburg

Felix
Member: corpse2001
corpse2001 Aug 15, 2007 at 12:41:47 (UTC)
Goto Top
Vielen Dank für die Hilfe das funktioniert wunderbar!!
Meine Antwort kommt leider etwas spät wegen einem Umzug.

Gruß
corpse2001