Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Die habe ich schon gefunden, auch die Char Funktion, aber ich brauche etwas anderes. Ich habe verschiedene Zeichen und muss aus diesen Buchstaben herausfiltern. Ich will ja nun nicht jeden einzelnen Buchstaben abfragen sondern würde gerne nach dem Hex Wert vergleichen( Größer 65(A) kleiner 122(z)). Dazu muss ich das Zeichen in den Hex Wert modeln und dann vergleichen, oder?

Verzeih aber ich stehe am Anfang.

Geschrieben

Mit der Asc-Funktion kannst Du Dir den Ascii-Wert eines Zeichens ausgeben lassen und diesen kannst Du dann vergleichen oder, wenn es wirklich notwendig ist, mit der Hex-Funktion in die hexadezimale Zahl umwandeln. Hoffe, das hilft.

Gruß

JayN

Geschrieben
Originally posted by matthiasr

Danke, scheint das richtige zu sein.

Weist Du vieleicht ob es möglich ist eine Mail zu versenden von VB heraus ohne das der Anwender etwas merkt?

In wie weit soll er es nicht merken? Soll er nur nicht sehen WIE sie verschickt wurde? Oder soll er sie auch unter "Gesendete Objekte" nicht sehen?

Ich habe vor kurzem etwas zum Mailversand unter VBA in Access 2000 programmiert, weiß aber nicht, ob das auch in VB geht.

Kann ja mal gleich den Code rauskrammen und posten.

Gruß

JayN

Geschrieben

Hier einmal der Code:


Dim result As Variant

Dim usedProfile As String

Dim ol As Outlook.Application

Dim olns As Object

Dim folPosteingang As Object

Dim Nachricht As MailItem


Sub Mailen()


    usedProfile = "MS Exchange-Einstellungen" 

    result = SetOutlook(usedProfile, "")    ' Outlook setzen


    If result = 0 Then Exit Sub    ' Weitere Verarbeitung abbrechen. 

                                                 ' Outlook kann nicht benutzt werden.


    Set Nachricht = ol.CreateItem(olMailItem)


    Nachricht.Subject = "Betreff"

    Nachricht.Body = "Mailtext"

    Nachricht.Attachments.Add "C:\Anhang.xls", olByValue, 1

    Nachricht.Display     ' Anzeigen der Nachricht -> mußt Du wegnehmen, 

                                    ' wenn die Mail nicht angezeigt werden soll


End Sub



Public Function SetOutlook(profile As String, pwd As String) As Integer

    On Error Resume Next

    Set olns = Nothing

    Set ol = CreateObject("Outlook.Application")    ' Outlook-Prozess wird gestartet

    Set olns = ol.GetNamespace("MAPI")  ' MAPI-Session wird gesetzt


    ' Einloggen in MAPI-Session

    olns.Logon profile, pwd, False, False   'True, False (Use in Firma)


    If olns.Session.CurrentUser Is Nothing Then

        SetOutlook = 0          '

        olns.Logoff

        Set olns = Nothing      ' MAPI-Objekt freigeben

        Set ol = Nothing        ' Outlook-Prozess freigeben

                                ' Outlook wird terminiert!

    Else

        SetOutlook = 1

    End If


End Function

Geschrieben

Prinzipiel wäre es nicht wirklich notwendig es auch im "Gesendet" zu verheimlichen, interesant wäre es aber schon.

Also, es wäre toll, wenn er nicht sieht wie der Mail Dialog aufgeht und was noch hinzu kommt, ich würde auch gerne einen Anhang mit versenden. Würde mich sehr freuen wenn ich dann Deinen Code auch auf VB übertragen kann.

Noch nee andere Frage, kann ich VB-Code dierekt, oder fast, VB-Scribt verwenden, oder mekert da einer?

Geschrieben

Nachtrag zum Code:

Mit

 Nachricht.To = "blabla@web.de" 
legst Du den Empfänger fest. Mit
 Nachricht.Send 

sendest Du die E-Mail.

Kann aber nicht garantieren, dass es unter VB funktioniert.

Auf jeden Fall muß man einen Verweis auf die "Microsoft Outlook Object Library" machen, in Access 2000 ist diese Option unter Extras -> Verweise zu finden.

Gruß

JayN

Geschrieben
Originally posted by matthiasr

Noch nee andere Frage, kann ich VB-Code dierekt, oder fast, VB-Scribt verwenden, oder mekert da einer?

Irgendwie verstehe ich diese Frage nicht... :confused:

JayN

Geschrieben

So, hab mich jetzt schlau gemacht.... die Outlook-Bibliothek kannst Du unter "Projekt -> Verweise" einbinden. Die Befehle sollten also wahrscheinlich funktionieren.

JayN

Geschrieben

Die Mail kannst aus dem Ordner "Gesendete Objekte" enfernen, indem Du diesen nach dem entsprechenden Betreff und Datum (oder was weiß ich was) durchsuchst und diese mit "Nachricht.Delete" löschst.

JayN

Geschrieben

Is jetzt auch nicht so wichtig.

In der msdn habe ich unter Send [Visual Basic] lMessage etwas gefunden.

Aber erklär mir doch bitte was ich mit dem Verweis anfangen soll. Muss ich den an diesem Rechner setzen und schon funktioniert es? Ich habe win2000 aber in Qutlook kann ich nichts finden.

Geschrieben

Die Mail kannst aus dem Ordner "Gesendete Objekte" enfernen, indem Du diesen nach dem entsprechenden Betreff und Datum (oder was weiß ich was) durchsuchst und diese mit "Nachricht.Delete" löschst.

Wo finde ich den passenden Ordner, Sorry

Geschrieben

Den Verweis setzt Du unter VB in Projekt -> Verweise. Der Verweis ist dazu da, damit Du auf die Outlook-typischen Objekte, Methoden etc. zugreifen kannst. Du bindest quasi eine Bibliothek ein. Wenn Dir das was sagt, so ist es das gleiche wie #include in C.

Der Verweis gilt nur für dieses eine Projekt!

Gruß

JayN

Geschrieben

Toll, als Bibliothek sagt mir was, ich hab schon etwas in C/C++ programmiert möchte mir eben nun VB ansehen und bewege mich deshalb noch auf wackliegen Beinen.

Den Verweis habe ich gefunden, tolle sachen gibt es dort.

Gut das mit dem .To und .Send hab ich aber was für ein Objekt ist "Nachricht".

Wo kann ich in der msdn nachschlagen?

Das mit dem "Gesendet" werde ich schon hinkriegen.

Geschrieben

Toll, ich habe sogar noch vor Deinem Code-Posting das Email-Fenster öffnen können.

In der Outlook hilfe konnte ich ähnliches finden.

Sag mir doch bitte wo der Unterschied zwischen diesem Code

Set myOlApp = CreateObject("Outlook.Application")

Set myItem = myOlApp.CreateItem(olMailItem)

und diesem liegt.

Set myOlApp = CreateObject("Outlook.Application")

Set myNamespace = myOlApp.GetNamespace("MAPI")

Vorallem die MAPI Geschichte. Ich habe mit dem oberem Code auch das Mail-Fenster öffnen können.

Geschrieben

Woww, Mail angekommen!:marine

Nichtgedacht das das so einfach geht, sicher mit Deiner Hilfe, aber so Grundsätzlich......

Noch nee wichtige Frage.

Wie kann ich feststellen ob er überhaupt im Internet ist?

Geschrieben
Originally posted by matthiasr

Gut das mit dem .To und .Send hab ich aber was für ein Objekt ist "Nachricht".

Siehe Quellcode oben:

 Dim Nachricht as MailItem 

-> Nachricht ist ein Mailelement (eine E-Mail)

JayN

Geschrieben
Originally posted by matthiasr

Toll, ich habe sogar noch vor Deinem Code-Posting das Email-Fenster öffnen können.

In der Outlook hilfe konnte ich ähnliches finden.

Sag mir doch bitte wo der Unterschied zwischen diesem Code

Set myOlApp = CreateObject("Outlook.Application")

Set myItem = myOlApp.CreateItem(olMailItem)

und diesem liegt.

Set myOlApp = CreateObject("Outlook.Application")

Set myNamespace = myOlApp.GetNamespace("MAPI")

Vorallem die MAPI Geschichte. Ich habe mit dem oberem Code auch das Mail-Fenster öffnen können.

Bei dem ersten erstellst Du ein Outlookobjekt, über den Du erst überhaupt auf Outlook zugreifst. Der zweite Befehl erstellt eine neue E-Mail.

Bei dem zweiten machst Du zunächst wieder das gleiche. Den zweiten Befehl kann ich Dir selber nicht genau erklären, poste aber mal, was in der Hilfe dazu steht:

Represents an abstract root object for any data source. The object itself provides methods for logging in and out, accessing storage objects directly by ID, accessing certain special default folders directly, and accessing data sources owned by other users.

Using the NameSpace Object

Use GetNameSpace("MAPI") to return the Outlook NameSpace object from the Application object.

Remarks

The only data source supported is "MAPI", which allows access to all Outlook data stored in MAPI.

JayN

Geschrieben

Guten Morgen,

wie kann ich feststellen, ob der Anwender, bei dem meine Anwendung installiert ist, gerade in Internet ist z. B. über die DFÜ-Verbindung?

Ich bin mir sicher das es auch hierfür eine Funktion gibt.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...