Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

VB Script - Textabschnitte aus Outlook Email kopieren und speichern als doc oder pdf

Frage Entwicklung VB for Applications

Mitglied: MightyGrave

MightyGrave (Level 1) - Jetzt verbinden

29.01.2008, aktualisiert 12.03.2008, 5168 Aufrufe, 11 Kommentare

erstellung eines Scripts für outlook

Hallo, ich habe folgende Aufgabenstellung bekommen.

Es soll ein Script angefertigt werden welches ermöglicht, das in einer bekommenen Email, automatisch nach Textabschnitten zu suchen. Diese sollen dann entsprechend kopiert werden und in *.doc oder *.pdf.

Bsp für die Suche:

Von dem Wort Kaufbestätigung bis zum Zeilenende des nächsten Wortes welches gesucht wurde.

von Wort A: Kaufbestätigung bis zum ende der Zeile von Wort B: Herkunft

dawzsichen ist dann wieder ganz viel uninteressanter Text.

danach soll wieder von

Wort C: Käufer bis zum ende der Teile von Wort D: Geldinstitut.


Dies soll dann alles markiert und ein eine DOC oder PDF Datei eingefügt werden, sodass diese dann manuell gespeichert werden muss.


Ich hoffe Ihr könnt mir da ein paar Tipps geben.


Vielen Dank
Mitglied: miniversum
29.01.2008 um 16:00 Uhr
Hier mal der Code zum Auslesen bestimmter Teile im Inhaltstext einer Email.
01.
Sub Textausschnitte() 
02.
WortA = "Wort A" 
03.
WortB = "Wort B" 
04.
WortC = "Wort C" 
05.
WortD = "Wort D" 
06.
 
07.
 
08.
Set myOlApp = CreateObject("Outlook.Application") 
09.
Set myNameSpace = myOlApp.GetNamespace("MAPI") 
10.
Set myfolder = myNameSpace.GetDefaultFolder(olFolderInbox) 
11.
 
12.
Text = myfolder.Items(1).Body 
13.
posA = InStr(1, Text, WortA) 
14.
posB = InStr(posA, Text, WortB) 
15.
ABText = Mid(Text, posA, posB - posA) 
16.
 
17.
posC = InStr(posB, Text, WortC) 
18.
posD = InStr(posC, Text, WortD) 
19.
ABText = Mid(Text, posA, posB - posA) 
20.
CDText = Mid(Text, posC, posD - posC) 
21.
 
22.
MsgBox "ABText: " & ABText 
23.
MsgBox "CDText: " & CDText 
24.
 
25.
End Sub 
26.
 
miniversum
Bitte warten ..
Mitglied: MightyGrave
30.01.2008 um 10:59 Uhr
hi,

das hat mir geholfen, bin jetzt auch scho nso weit, dass ein Word document geöffnet ist.

Kannst du mir kurz erklären, was die Befehle die du dort hingeschrieben hast bewirken?

vielen Dank
Bitte warten ..
Mitglied: MightyGrave
30.01.2008 um 11:38 Uhr
ich muss nur noch wissen, wie ich dieses automatisch in die zwischenablage kriege und von da aus
in Word eingefüge.

posC = InStr(posB, Text, WortC)
posD = InStr(posC, Text, WortD)
ABText = Mid(Text, posA, posB - posA)
CDText = Mid(Text, posC, posD - posC)

MsgBox "" & ABText
MsgBox "" & CDText
Bitte warten ..
Mitglied: miniversum
30.01.2008 um 12:22 Uhr
Hier der Code nochmal mit Komantaren zur Erklärung
01.
Sub Textausschnitte() 
02.
' Suchbegriffe festlegen 
03.
WortA = "Wort A" 
04.
WortB = "Wort B" 
05.
WortC = "Wort C" 
06.
WortD = "Wort D" 
07.
 
08.
' Zugriff auf Posteingang herstellen (myfolder -> Posteingang) 
09.
Set myOlApp = CreateObject("Outlook.Application") 
10.
Set myNameSpace = myOlApp.GetNamespace("MAPI") 
11.
Set myfolder = myNameSpace.GetDefaultFolder(olFolderInbox) 
12.
 
13.
' Hole den Bodytext der ersten/obersten Email im Posteingang und schreibe ihn in die Variable Text 
14.
Text = myfolder.Items(1).Body 
15.
 
16.
posA = InStr(1, Text, WortA)  ' Suche die Position von WortA im Text und schreibe diese in posA 
17.
posB = InStr(posA, Text, WortB)  ' Suche die Position von WortB nach WortA im Text und schreibe diese in posB 
18.
ABText = Mid(Text, posA, posB - posA) ' Hole den Textteil zwischen posA und posB in Text und schreibe ihn in die Variable ABText 
19.
 
20.
posC = InStr(posB, Text, WortC)  ' Suche die Position von WortC nach WortB im Text und schreibe diese in posC 
21.
posD = InStr(posC, Text, WortD) ' Suche die Position von WortD nach WortC im Text und schreibe diese in posD 
22.
CDText = Mid(Text, posC, posD - posC) ' Hole den Textteil zwischen posC und posD in Text und schreibe ihn in die Variable CDText 
23.
 
24.
MsgBox "ABText: " & ABText ' Zeige ABText an 
25.
MsgBox "CDText: " & CDText ' Zeige CDText an 
26.
 
27.
End Sub
miniversum
Bitte warten ..
Mitglied: miniversum
30.01.2008 um 12:32 Uhr
Es geht direkt, also ohne Zwischenablage.
Wie sieht den dein Code aus um Word zu öffnen?
Ich würde es in der Art machen:
01.
Set objWordApp = CreateObject("Word.application") ' Starten von Word 
02.
 
03.
'Starten der Word-Instanz und eine neues Dokument öffnen 
04.
objWordApp.Visible = True ' Word sichtbar machen 
05.
Set objWordDok = objWordApp.documents.Add ' En neues Dokument in Word erstellen 
06.
 
07.
' Text in Word schreiben 
08.
objWordApp.TypeText Text:="Daten aus Outlook" 
09.
objWordApp.TypeParagraph ' Neue Zeile 
10.
objWordApp.TypeText Text:="ABText: " & ABText ' Schreibe ABText in das Word Dokument 
11.
objWordApp.TypeParagraph ' Neue Zeile 
12.
objWordApp.TypeText Text:="CDText: " & CDText ' Schreibe CDText in das Word Dokument 
13.
objWordApp.TypeParagraph ' Neue Zeile
miniversum
Bitte warten ..
Mitglied: MightyGrave
30.01.2008 um 12:34 Uhr
Dim wApp As Object

Set wApp = CreateObject("Word.Application.8")

With wApp
' Word anzeigen
.Application.Visible = True
.Application.Activate

Set wApp = wApp.Documents.Add


End With

Set wApp = Nothing

End Sub




Eigentlich wollte ich mir das kopieren über range holen. Klappt aber nicht. Werde es mal mit deiner Methode probieren


Dim aktRange As Object

Set aktRange = wApp.ActiveDocument.Section(1)

aktRange.Collapse

aktRange.Insert "ABText"
Bitte warten ..
Mitglied: MightyGrave
30.01.2008 um 12:40 Uhr
Private Sub UserForm_Click()

WortA = "Kaufbestätigung"
WortB = "Modellgruppe:"
WortC = "Käufer:"
WortD = "Sie"

Set myOlApp = CreateObject("Outlook.Application")
Set myNameSpace = myOlApp.GetNamespace("MAPI")
Set myfolder = myNameSpace.GetDefaultFolder(olFolderInbox)

Text = myfolder.Items(1).Body
posA = InStr(1, Text, WortA)
posB = InStr(posA, Text, WortB)
ABText = Mid(Text, posA, posB - posA)

posC = InStr(posB, Text, WortC)
posD = InStr(posC, Text, WortD)
ABText = Mid(Text, posA, posB - posA)
CDText = Mid(Text, posC, posD - posC)

MsgBox "" & ABText
MsgBox "" & CDText

' Word-Objekt Variable definieren

Dim wApp As Object

' Word-Objekt erzeugen
Set wApp = CreateObject("Word.Application.8")

With wApp
' Word anzeigen
.Application.Visible = True
.Application.Activate

Set wApp = wApp.Documents.Add

End With

Set wApp = Nothing

End Sub



Bekomme immer einen Laufzeitfehler 5. O_O

jetzt fehlt mir nur noch die umsetzung mit kopieren udn einfügen. dann bin ich fertig
Bitte warten ..
Mitglied: miniversum
30.01.2008 um 16:33 Uhr
Jetzt nochmal alles in einem. Da ist woll was unübersichtlich geworden. und ein selection hat gefehlt...:
01.
Sub Textausschnitte() 
02.
' Suchbegriffe festlegen 
03.
WortA = "Kaufbestätigung" 
04.
WortB = "Modellgruppe:" 
05.
WortC = "Käufer:" 
06.
WortD = "Sie" 
07.
 
08.
' Zugriff auf Posteingang herstellen (myfolder -> Posteingang) 
09.
Set myOlApp = CreateObject("Outlook.Application") 
10.
Set myNameSpace = myOlApp.GetNamespace("MAPI") 
11.
Set myfolder = myNameSpace.GetDefaultFolder(olFolderInbox) 
12.
 
13.
' Hole den Bodytext der ersten/obersten Email im Posteingang und schreibe ihn in die Variable Text 
14.
Text = myfolder.Items(1).Body 
15.
 
16.
posA = InStr(1, Text, WortA)  ' Suche die Position von WortA im Text und schreibe diese in posA 
17.
posB = InStr(posA, Text, WortB)  ' Suche die Position von WortB nach WortA im Text und schreibe diese in posB 
18.
ABText = Mid(Text, posA, posB - posA) ' Hole den Textteil zwischen posA und posB in Text und schreibe ihn in die Variable ABText 
19.
 
20.
posC = InStr(posB, Text, WortC)  ' Suche die Position von WortC nach WortB im Text und schreibe diese in posC 
21.
posD = InStr(posC, Text, WortD) ' Suche die Position von WortD nach WortC im Text und schreibe diese in posD 
22.
CDText = Mid(Text, posC, posD - posC) ' Hole den Textteil zwischen posC und posD in Text und schreibe ihn in die Variable CDText 
23.
 
24.
Set objWordApp = CreateObject("Word.application") ' Starten von Word 
25.
 
26.
'Starten der Word-Instanz und eine neues Dokument öffnen 
27.
objWordApp.Visible = True ' Word sichtbar machen 
28.
Set objWordDok = objWordApp.documents.Add ' Ein neues Dokument in Word erstellen 
29.
 
30.
' Text in Word schreiben 
31.
objWordApp.Selection.TypeText Text:="Daten aus Outlook" 
32.
objWordApp.Selection.TypeParagraph ' Neue Zeile 
33.
objWordApp.Selection.TypeText Text:="ABText: " & ABText ' Schreibe ABText in das Word Dokument 
34.
objWordApp.Selection.TypeParagraph ' Neue Zeile 
35.
objWordApp.Selection.TypeText Text:="CDText: " & CDText ' Schreibe CDText in das Word Dokument 
36.
objWordApp.Selection.TypeParagraph ' Neue Zeile 
37.
 
38.
' Zuordnungen löschen 
39.
Set myOlApp = Nothing 
40.
Set objWordApp = Nothing 
41.
 
42.
End Sub
So hab ichs grade bei mir getestet udn es funktioniert

miniversum
Bitte warten ..
Mitglied: MightyGrave
31.01.2008 um 08:23 Uhr
Vielen vielen Dank,

also den Rest werde ich dann noch selber ergänzen.

Also automatisches Drucken
Bitte warten ..
Mitglied: MightyGrave
31.01.2008 um 08:26 Uhr
Vielen vielen Dank,

es klappt wunderbar.

Die letzten 2 Sachen werde ich nochmal Versuchen.

1. automatischer ausdruck aus Word
2. einen anderen Ordner verwenden und nicht den Posteingang.


Bin mal gespannt.
Bitte warten ..
Mitglied: mblochi
12.03.2008 um 10:25 Uhr
halli hallo...,

ich hab da mal eine frage ...

Wie kann man dieses Script so umschreiben, dass er beim senden von E-Mails im header nach "Disposition-Notification-To" suchen soll und wenn er es dann gefunden hat soll er den Item.Subject in einer Text datei rein schreiben.

Hat evtl. jemand eine Idee dazu???

Danke schön schon mal im voraus
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Outlook & Mail
gelöst Email Anhänge speichern VB Script aber nur bestimmte Dateitypen (Outlook) (4)

Frage von LindeUnimog zum Thema Outlook & Mail ...

VB for Applications
gelöst VB Script rekursiv statt nur ein Ordner (4)

Frage von Saschaaaaa zum Thema VB for Applications ...

VB for Applications
gelöst VB Script nach gefundenem Wort die nächsten 4 Zeichen ersetzten (2)

Frage von deutsch73 zum Thema VB for Applications ...

Outlook & Mail
Outlook 2010 stürzt bei Anhängen (PDF) ab (2)

Frage von Shnuuu zum Thema Outlook & Mail ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (21)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...

Exchange Server
DNS Einstellung - zwei feste IPs für Mailserver (15)

Frage von ivan0s zum Thema Exchange Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...