WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Visual Basic&Outlook (http://www.wcm.at/forum/showthread.php?t=18858)

overcooler 11.04.2001 04:41

Wie kann ich per Visual Basic auf Outlook zugreifen (gesendete objecte, kontakte, posteingang, etc)?

James020 11.04.2001 22:53

Müsstest nur raus bekommen, wo die Daten vermerkt worden sind! Oder meinst was anderes? (Hätte da vieleicht ein passendes Prog für dich!)

overcooler 12.04.2001 00:35

Wenn das Programm mit VBA Source is nur her damit :)

In der MSDN hab ich zwar was zum mail senden gfunden, das funzt aber nicht richtig (es sendet zwar eine mail, aber ned dahin, wos hinsoll...)

James020 12.04.2001 17:56

Is zwar in QBasic (is eh das selbe) kann´s dir aber gerne (aoweit ich es kann) "umpompielieren"!

Is aber nur zum Daten-finden! (Prog starten, eine E-Mail ablegen, Prog nochmals starten und schauen, welche Dateien er als neu angelegt ausgibt (B.z.w. gelöscht)!)

Ich hab grat die "neuerste Version" fertiggestellt und muss noch testen, dann kanst sie haben!

overcooler 12.04.2001 18:34

thx

James020 13.04.2001 02:25

In QBasic:

DECLARE FUNCTION grafik () 'xxx
DIM line1 AS STRING
DIM line2 AS STRING
DIM kbd AS STRING
DIM x AS INTEGER
DIM y AS INTEGER
SCREEN 12
RANDOMIZE TIMER
line1 = "Willkommen bei Disk-Agent V1.3"
COLOR 7 'xxx
PRINT line1
PRINT
PRINT "Hallo was wünschen Sie zu tun?"
PRINT " 1) Daten 'vorher' aufzeichnen"
PRINT " 2) Daten 'nachher' aufzeichnen und anschlieáend differenzieren"
DO
y = y + 1 'xxx
x = y MOD 17 'xxx
IF x = 16 THEN x = 0 'xxx
COLOR x 'xxx
LOCATE 1, y MOD 30 + 1 'xxx
PRINT MID$(line1, y MOD 30 + 1, 1) 'xxx
IF y = 32767 THEN y = 0 'xxx
kbd = INKEY$
IF kbd = CHR$(27) THEN SYSTEM
LOOP UNTIL kbd = "1" OR kbd = "2"
y = VAL(kbd)
COLOR 14 'xxx
LOCATE 1, 1
PRINT line1
FOR x = 0 TO 4
PRINT
NEXT x
COLOR 8 'xxx
PRINT "Laufwerk: ";
ON ERROR GOTO Errors
DO
kbd = UCASE$(INKEY$)
x = 1
CHDIR kbd + ":\"
LOOP UNTIL x
kbd = kbd + ":\"
COLOR 7 'xxx
PRINT kbd
OPEN kbd + "x" FOR OUTPUT AS #1
CLOSE #1
KILL kbd + "x"
IF x = 0 THEN
COLOR 4 'xxx
PRINT "ERROR! Kein Schreibzugriff auf Datenträger!"
COLOR 8 'xxx
PRINT "Laufwerk für Temporär-Daten: ";
COLOR 7 'xxx
DO
x = 1
kbd = UCASE$(INKEY$)
OPEN kbd + ":\x" FOR OUTPUT AS #1
CLOSE #1
KILL kbd + ":\x"
LOOP UNTIL x
kbd = kbd + ":\"
PRINT kbd
END IF
ON ERROR GOTO 0
IF y = 1 THEN SHELL "dir /a/b/s>" + kbd + "first.map": SYSTEM
SHELL "dir /a/b/s>" + kbd + "second.map"
PRINT "THANKS FOR USING INSTALL-AGENT V1.3!"
OPEN kbd + "first.map" FOR INPUT AS #1
OPEN kbd + "second.map" FOR INPUT AS #2
OPEN kbd + "diff.txt" FOR OUTPUT AS #3
PRINT #3, " * * * - > Cleared: < - * * *"
DO
LINE INPUT #1, line1
x = 0
y = 0
SEEK 2, 1
DO
LINE INPUT #2, line2
IF line1 = line2 THEN x = 1
IF EOF(2) THEN x = 10
IF y MOD 10 = 0 THEN y = grafik 'xxx
y = y + 1 'xxx
LOOP UNTIL x > 0
IF x = 10 THEN PRINT #3, line1
LOOP UNTIL EOF(1)
PRINT #3,
PRINT #3, " * * * - > Added: < - * * *"
SEEK 2, 1
DO
LINE INPUT #2, line2
x = 0
y = 0
SEEK 1, 1
DO
LINE INPUT #1, line1
IF line1 = line2 THEN x = 1
IF EOF(1) THEN x = 10
IF y MOD 10 = 0 THEN y = grafik 'xxx
y = y + 1 'xxx
LOOP UNTIL x > 0
IF x = 10 THEN
IF UCASE$(line2) <> kbd + "SECOND.MAP" THEN PRINT #3, line2
END IF
LOOP UNTIL EOF(2)
CLOSE #3
CLOSE #2
CLOSE #1
KILL kbd + "first.map"
KILL kbd + "second.map"
SYSTEM
Errors:
x = 0
RESUME NEXT

FUNCTION grafik 'xxx
STATIC a AS INTEGER 'xxx
STATIC b AS INTEGER 'xxx
STATIC c AS INTEGER 'xxx
STATIC d AS INTEGER 'xxx + alles was folgt
SELECT CASE d
CASE 0
a = 0: b = 150: c = 0: d = 1
CASE 1
IF CINT(RND * 25) = 5 THEN c = 0 ELSE c = 2
LINE (a, b)-(a + 5, b + 5), c, BF
a = a + 10
IF a = 650 THEN b = b + 10: a = 0
IF b = 490 THEN d = 2: b = 150
CASE 2
IF POINT(a, b) = 0 THEN
LINE (a, b)-(a + 5, b + 5), 4, BF
END IF
a = a + 10
IF a = 650 THEN b = b + 10: a = 0
IF b = 490 THEN d = 3: b = 150
CASE 3
IF POINT(a, b) = 2 THEN LINE (a, b)-(a + 5, b + 5), 0, BF
a = a + 10
IF a = 650 THEN b = b + 10: a = 0
IF b = 490 THEN d = 4: b = 150: c = 0
CASE 4
IF POINT(a, b) = 4 THEN
LINE ((c MOD 64) * 10, (c \ 64 + 15) * 10)-((c MOD 64) * 10 + 5, (c \ 64) * 10 + 155), 4, BF
c = c + 1: LINE (a, b)-(a + 5, b + 5), 0, BF
END IF
a = a + 10
IF a = 650 THEN b = b + 10: a = 0
IF b = 490 THEN d = 0: b = 150: grafik = 1
END SELECT
END FUNCTION

In VB leider noch nicht getestet! :( Doch wennst alle Zeilen mit "'xxx" killst, müsste es gehen abgesehen von den PRINT-Anweisungen, mit denen ich in VB absolut NICHT aus!
Wennst willst, kannst aber auch nen QBasic editor haben (DOS)

little21 14.04.2001 12:03

hy!

ich habe hier zum beispiel einen code der eine mail sendet!
hat bei mir einwandfrei funktioniert! wurde jedoch aus access verschickt, was aber keinen unterschied macht!
das mail geht an little21@gmx.at und hat den inhalt hallo und sie wird ohne betreff verschickt!

Private Sub hallo()
Set myOlApp = CreateObject("Outlook.Application")
Set myitem = myOlApp.CreateItem(olMailItem)
Set myRecipient = myitem.Recipients.Add("little21@gmx.at")
myitem.Body = "hallo"
myitem.Send

End Sub

ich hoffe dir geholfen zu haben!
auf die daten der kontakte usw. kannst du auch auf diese art zugreifen! habs aber bis jetzt noch nicht gebraucht! müßte es selbst erst ausprobieren! :D

mfg
little

James020 14.04.2001 13:38

@[SG!]overcooler: Sag mir bitte, ob das Prog hilfreich war, und was du davon hältst! (Bitte ehrlich!)

overcooler 15.04.2001 17:25

@james: leider kann ich damit nichts anfangen (bin draufkommen, dass der pfad zur datei seit office xp einstellbar is :()

@little: funzt, thx :)
aber wie kann ich ein attachment anhängen?

little21 16.04.2001 08:54

hy!

du mußt folgenden code zu dem bestehenden hinzufügen! aber noch bevor die mail verschickt wird! :D
etwa nach der zeile myitem.body ......


Set myAttachments = myItem.Attachments
myAttachments.Add "c:\autoexec.bat", _
olByValue, 1, "Startdatei"

Beschreibung:
c:\autoexec.bat ist die Datei :D
olbyvalue ist damit die datei und keine verknüpfung verwendet wird (würde sonst nur eine verknüpfung erstellen)
1 ist nur eine indexzahl
Startdatei ist nur eine erklärung für das attachment


hoffe es funktioniert! :D
hab es selbst noch nicht ausprobiert! müßte aber gehen!

mfg
little

overcooler 16.04.2001 13:39

thx, habs aber gestern schon in der MSDN gfunden :)

renew 30.04.2001 17:36

@little21

Funktioniert das eigentlich auch mit Outlook Express? Weil wie overcooler schon geschrieben hat, fuktioniert das perfekt. Aber eben nur mit Outlook2000.

Wenn ja, kannst du vielleicht posten was man verändern muss?

Ich will das nämlich in ein anderes Programm einbauen, welches dann auf meinem Server läuft. Aber da ich am Server kein Outlook 2000 installiert hab, würd ich es gerne mit Outlook Express verschicken.

overcooler 30.04.2001 22:38

ich habs mit officexp gm8, mit outlook express sollts auch laufen

little21 01.05.2001 10:40

@LLR
meiner meinung nach müßte es mit outlook express auch funktionieren! hab bei mir es aber nicht ausprobiert! ;)
probiere einfach den code aus und wenn es nicht funkt schreibst einfach die meldung ins forum. vielleicht kann ich dann weiterhelfen!
hab nur meinen rechner und auf den ist outlook installiert, daher kann ich es nicht ausprobieren! :D

mfg
little

renew 01.05.2001 11:39

Liste der Anhänge anzeigen (Anzahl: 1)
folgende Fehlermeldung bekomm ich:
http://web.dschungel.com/llr/forum/mail-error.jpg

Meldung is auf englisch, da ich ein englisches Win2k installiert hab.(irgendwie logisch... ;))

Die gleiche Fehlermeldung bekomm ich auch am anderen Rechner, wenn ich statt Outlook.Application was anderes wie zB OutlookExpress.Application.

Für mich schaut das so aus, als würde er das Programm nicht finden, und gibt dadurch den Fehler aus.

Was die MSDN über den Runtime Error 429 sagt steht in der angehängten Textdatei.

little21 01.05.2001 15:45

@LLR
hast du einen verweis auf outlookexpress gesetzt? wenn ja, dann müßtest du auch sehen wie vb outlookexpress "bezeichnet" bzw. du siehst welche funktionen und codes du zu verfügung hast!

renew 01.05.2001 17:32

Jein!

Ich habs mit Outlook.Application probiert. Und auch mit OutlookExpress.Application.

Wo stehen die Bezeichnungen der einzelnen Programme für VB. Hab leider in der MSDN noch nichts gefunden.

little21 02.05.2001 19:07

@LLR
hab den folgenden code auf einer anderen seite gefunden und er hat mit outlook-express funktioniert! (ist aber eh fast der gleiche code)

Dim olapp As Object
Dim oitem As Object

Set olapp = CreateObject("Outlook.Application")
Set oitem = olapp.CreateItem(0)
With oitem
.Subject = "Test Email Using VB and Outlook Object"
.To = "YourEmail@somewhere.com;"
.Body = "This message was sent from VB"
.Send
End With
Set olapp = Nothing
Set oItem = Nothing


ich versteh dein JEIN nicht so recht! ;)
wenn du die "outlook express libary 5.0" (oder so ähnlich) bei dem menüpunkt "extras" dann "verweise" hinzufügst hast du dann die ganzen "Projekte/Bibliotheken" in dem "Objektkatalog" aufgelistet!
ODER
wenn du den verweis hergestellt hast und ein neue variable definierst (dim ... as) und dann weiter schreibst schlägt vb automatisch die Bibliotheken vor!

mfg
little

renew 02.05.2001 19:32

Danke, aber ich hab das Problem schon "russisch" gelöst. Ich hamma einfach am Server auch Outlook 2000 installiert.

Trotzdem vielen dank.

Aber was ist die "outlook express libary 5.0" ??

Ich hab "nur" die deutsche MSDN vom Visual Studio. Da sind nur die ganzen "Programmierproggis" drinnen beschrieben.
Aber nix Outlook usw.

little21 02.05.2001 20:31

ist bei mir bei den verweisen drinnen!
läßt sich aber nicht bei mir zu den verweisen hinzufügen!
die datei ist im express outlook unterverzeichnis und heißt msoe.dll

hoffe gedient zu haben :D

mfg
little

renew 03.05.2001 21:19

Also irgendwie bin ich jetzt verwirrter als zuvor... ;)

Meinst du in VB auf Extras-->Verweise?

Oder nein, ich glaub langsam verstehe ich endlich was du meinst (eh schon nach einem Tag... ;))

Ich nehm einmal an, da die ganzen Eigenschaften und Methoden von Outlook ja dann im Objektkatalog aufscheinen sollen, wenn ich die msoe.dll hinzugefügt habe.

Nur leider hab ich auf Extras in VB nur:
Prozedur hinzufügen
Prozedurattribute
Menü-Editor
Optionen
Veröffentlichen
Scource Safe

das wars leider :( Nix mit Verweise etc....

Bitte melde dich little, und korrigier mich falls ich an schas geschrieben hab. :)

Ich hab zwar das jetzt erreicht was ich wollte(das kleine Programm das ich schreiben wollte hab ich jetzt, dank dir;)), aber ich bin mir sicher das man so noch mehrere Programme steuern kann, was sicher interessant ist. Drum frag ich ja auch nochmal nach.... :D

little21 04.05.2001 17:15

hy!

Hab einen kleinen fehler gemacht! :rolleyes:
im menü "extras" ist der punkt verweise nur unter vb-excel, vb-access, vb-word usw.

ich nehme an du programmierst dein programm in vb selbst! dort befindet sich es im menü "Projekt" und dann der punkt "Verweise..." :D

ich programmiere nämlich sowohl in vb und in vb-excel .... und ich dachte, dass beide punkte sich im gleichen menüpunkt befinden! aber es unter microsoft produkten ist das ja nicht möglich eine einheitliche menüführung zu gestalten! :D

hoffe diesmal keinen fehler gemacht zu haben und alle unklarheiten entfernt zu haben!
bei den verweisen kannst du auf jedes andere windows-programm zugreifen und hast bei dem objektkatalog dann jeweils die codes für das programm aufgelistet!

mfg
little!

renew 04.05.2001 17:34

Super danke!

Denn ich hamma schon dacht ich bin blind, oder sowas ähnliches. ;)

Jetzt hamma alle Unklarheiten beseitigt!

Also danke nochmal. Wünsch dir ein schönes Wochenende. :)


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag