2Danke
ERLEDIGT
JA
JA
ANTWORTEN
8
8
ZUGRIFFE
1233
1233
EMPFEHLEN
-
Hallo
Ich habe ein Problemchen mit einem Outlook 2010 Makro-Skript.
Ich würde gerne über ein neues Menüband ein Makro hinterlegen, das mit in einer Email nicht nur eine Datei anhängt, sondern auch z.B "Anhang: Dateiname.Dateiendung"
in den Email-Text einträgt.
Ich hoffe mir kann jemand helfen,
ich habe leider keine Ahnung von VBA...
MfG
Ryan1991
-
26.09.11 18:11 #2
Das könnte etwa so aussehen:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long Private Type OPENFILENAME lStructSize As Long hwndOwner As Long hInstance As Long lpstrFilter As String lpstrCustomFilter As String nMaxCustFilter As Long nFilterIndex As Long lpstrFile As String nMaxFile As Long lpstrFileTitle As String nMaxFileTitle As Long lpstrInitialDir As String lpstrTitle As String flags As Long nFileOffset As Integer nFileExtension As Integer lpstrDefExt As String lCustData As Long lpfnHook As Long lpTemplateName As String End Type Public Function MyOpenFiledialog() As String Dim MyDialog As OPENFILENAME MyDialog.lStructSize = Len(MyDialog) MyDialog.lpstrFilter = "Text Files (*.txt)" + Chr$(0) + "*.txt" + Chr$(0) + "All Files (*.*)" + Chr$(0) + "*.*" + Chr$(0) MyDialog.lpstrFile = Space$(254) MyDialog.nMaxFile = 255 MyDialog.lpstrFileTitle = Space$(254) MyDialog.nMaxFileTitle = 255 MyDialog.lpstrInitialDir = "C:\" MyDialog.lpstrTitle = "Open File" MyDialog.flags = 0 If GetOpenFileName(MyDialog) Then MyOpenFiledialog = Trim$(MyDialog.lpstrFile) Else MyOpenFiledialog = vbNullString End If End Function Public Sub MyAttach() Set myItem = Application.CreateItem(olMailItem) Set myAttachments = myItem.Attachments myFile = MyOpenFiledialog() myAttachments.Add myFile myItem.Body = "Anhang: " & myFile myItem.Display End Sub
Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.
-
Hay Honni,
Vielen dank für deine Hilfe.
Ich habe den Quellcode mal ausprobiert, und dierekt den ersten auftretenden Fehler: "Private Declare Function GetOpenFileName Lib "comdlg32.dll"" behoben, da ich eine 64-bit version von Outlook verwende.
Nun tritt leider ein neuer Fehler auf, mit dem ich nicht zurecht komme... -.-
Code :1 2 3 4 5 6 7 8
Public Sub MyAttach() Set myItem = Application.CreateItem(olMailItem) Set myAttachments = myItem.Attachments myFile = MyOpenFiledialog() <<< Fehler: -2147024893 (80070003)': Der Pfad ist nicht vorhanden... myAttachments.Add myFile myItem.Body = "Anhang: " & myFile myItem.Display End Sub
Vielleicht kannst du mir da ja noch einmal helfen?!
Oder jemand anderes?!
Schonmal Danke im vorraus
MfG
Ryan1991
-
27.09.11 10:55 #4
Ich kann an der Stelle auch nichht mehr als nach dem Fehler zu googlen, denn bei mir funktioniert es. Das sieht aber auf den ersten Blick zutreffend aus:
http://support.microsoft.com/kb/238956/deJeder Fehler, aus dem wir lernen, ist ein Erfolg...
...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.
-
hmm,
eine 32-bit Version von Outlook 2010 würde alles viel leichter machen ;D
So wie ich das sehe, ist der SMTP-pickup-Verzeichnis-Pfad falsch...
Jetzt ist das problem, ich nutze nicht IIS, sondern das läuft alles über einen Exchange Server.
...
-
hmm...
es öffnet sich einfach nicht das Dialog fenster, wo man die jeweilige datei aussuchen kann...
Desshalb beschwert sich der Compiler auch, das er den Pfad nicht findet, denn beim debuggen habe ich gesehen, das er einfach in der Funktion auf "else" springt und dann die Datei leert, somit kann es auch keinen pfad in der myfile variable geben...
Nun ist die frage, wie muss ich den quelltext auf Outlook 2010 64 bit Basis umschreiben, damit sich das fenster öffnet?!
MfG
Ryan1991
-
28.09.11 10:33 #7
Laut Google folgende Zeilen:
Code :1 2 3 4 5 6 7 8
Private Declare PtrSafe Function GetOpenFileName Lib "comdlg32.dll" _ Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Boolean hwndOwner As LongPtr hInstance As LongPtr lpfnHook As LongPtr MyDialog.lStructSize = LenB(MyDialog)
Geändert von HonniCilest (28.09.11 um 10:37 Uhr) Grund: zu ändernde Zeile hinzugefügt
Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.
-
Juhuu, es Funktioniert (teilweise)
Wenn ich jetzt compiliere, bekomme ich die Dateiauswahl, kann eine datei auswählen, aber der erstellt immer eine neu Email...
ist es auch machbar das man das Menüband nur in der geöffneten email (die z.B gerade geschrieben wurde) verwenden kann?!
so wie beim normalen "Datei anfügen"
-
Hat sich schon erledigt!
Jetzt muss der eingefügte Text nur noch an die Cursorposition, damit mir nicht immer die ganze Email, samt Signatur gelöscht wird.
Honni Ich danke dir für deine Geduld mit mir ;D
Ähnliche Themen
-
JPG-Datei aus einer großen Datei auslesen bzw. an diese anhängen
Von jabonva im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 6Letzter Beitrag: 14.03.07, 22:54 -
[PHP & MySQL] neues Passwort eintragen anhand der email
Von cille im Forum PHPAntworten: 6Letzter Beitrag: 09.08.06, 09:39 -
email mit mehreren anhängen
Von LiThiUm-FX im Forum PHPAntworten: 4Letzter Beitrag: 05.01.06, 02:36 -
Text anhängen
Von Sealtuagn im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 28.05.05, 16:35 -
Text an RTF Box anhängen
Von LJerch im Forum Visual Basic 6.0Antworten: 2Letzter Beitrag: 05.04.04, 10:41





Zitieren
Login





