Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1148to1152
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Pfad per Outlook schicken

Pfad per Outlook schicken
Deister
Hallo,
Ich hatte ein Excel-Antrag erstellt, welcher als Template auf unserem Server hinterlegt ist. Bis jetzt konnten die Benutzer diesen Antrag über eine Schaltfläche, per VBA-Code mit Outlook, zur Freigabe an eine Person X weiterleiten.
Ich möchte diese Prozedur nun vereinfachen, idem nur der Pfad mit dem Namen des Dokumentes geschickt wird und die Person X, das Dokument durch anklicken des Pfades, öffnen kann.
Den Pfad bekomme ich verschickt, doch mit dem Anklicken happert es.
Wäre dankbar wenn mir jemand die Lösung zu meinem Problem geben könnte.
MfG
Ant
Anbei meinen leicht angepasster Code:
Sub Mail_workbook_Outlook()
'Working in 2000-2010
'This example send the last saved version of the Activeworkbook
Dim FileName As String
FileName = Range("BB24")
Dim FilePath As String
FilePath = Range("BB5")
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = "X"
.CC = ""
.BCC = ""
.Subject = "Neuer Überstundenantrag     " & FileName
.Body = "Anfrage den Überstundenantrag freizugeben.     " & FilePath & "\" & FileName
'.Attachments.Add ActiveWorkbook.FullName
'You can add other files also like this
'.Attachments.Add FilePath & "\" & FileName
'.Send   'or use
.Display
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Sub

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Pfad per Outlook schicken
29.03.2010 10:41:40
Tino
Hallo,
versuch mal sowas.
.Body = "Anfrage den Überstundenantrag freizugeben. <File:///" & FilePath & "\" & FileName & ">"
Gruß Tino
Klappt, danke Tino
29.03.2010 10:48:04
Deister
kannst auch mal so versuchen...
29.03.2010 11:24:47
Tino
Hallo,
          .body = "Anfrage den Überstundenantrag freizugeben. "
.Attachments.Add FilePath & "\" & FileName, 4, Len(.body) + 1, FileName
Schau auch mal im Outlook im VBA unter Attachments.Add nach.
Gruß Tino
AW: kannst auch mal so versuchen...
29.03.2010 11:42:45
Deister
Hallo Tino,
Ich habe diese Variante jetzt auch probiert, doch diese scheint mir nicht so interressant zu sein, da hier eine automatische Meldung aus Outlook generiert wird.
Mfg
Ant
Anzeige
ok. ein Versuch war es Wert oT.
29.03.2010 11:50:35
Tino
Reply-Adresse in Datei hinterlegen ...
29.03.2010 14:59:35
Deister
... bevor die Datei verschickt wird.
Hallo zusammen,
Wenn, wie in diesem Fall, der Pfad der Datei per Mail geschickt wird, besteht da die Möglichkeit dass die e-mail Adresse des Absenders in der gleichen Datei hinterlegt wird?
MfG
Ant
wie meinst Du das?
29.03.2010 16:11:18
Tino
Hallo,
dies ist ein Link zu einer Datei.
Vielleicht Datei öffnen Adresse eintragen speichern?
Gruß Tino
AW: wie meinst Du das?
29.03.2010 17:03:35
Deister
Hi Tino,
Ich habe die Antragsdatei so vorbereitet, dass beim Schliessen automatisch eine Mail mit dem Pfad an die Person "X" zur Freischaltung geschickt wird. Das klappt auch so.
Die Person "X" öffnet dann die Datei und gibt sie frei, indem er eine Schaltfläche betätigt. Hier wird ein Passwort gefragt und anschliessend wird die Datei unter anderem Namen in einem Folder abgespeichert wo alle Antragsteller nur Leseberechtigung haben. Die ursprüngliche Datei wird mit diesem Code auch noch gelöscht. Das klappt auch noch.
Damit nun der Antragsteller sofort Bescheid weiss, dass der Antrag freigeschaltet wurde, wäre es nicht schlecht wenn er eine Rückmeldung bekommen würde, wenn die Datei in diesem neuen Folder abgespeichert wurde. Aus diesem Grunde bräuchte ich die E-Mail Adresse von dem Antragsteller in der Antragsdatei. Wenn die Person "X" nähmlich die Datei schliesst, könnte dieser Bescheid wieder automatisch zum Antragsteller geschickt werden.
Leider entsprechen unsere Log-in Namen nicht immer mit den Namen der E-Mail Adressen überein, ansonsten hätte ich mir auf diesem Weg etwas zusammen basteln können.
MfG
Ant
Anzeige
dazu habe ich keine Idee, sorry oT.
30.03.2010 08:02:10
Tino
AW: Trotzdem besten Dank ...
30.03.2010 08:05:57
Deister
... für deine Bemühungen.
MfG
Ant
oder vielleicht so...
30.03.2010 08:55:07
Tino
Hallo,
ist die Datei in dem besagten Ordner kommt eine Abfrage ob eine Bestätigung gesendet werden soll.
Wird dies mit ja beantwortet, wird eine Mail generiert und in eine Zelle ein Vermerk geschrieben damit die Abfrage nicht ständig kommt.
Muss alles noch an Deine Bedürfnisse angepasst werden.
kommt als Code in DieseArbeitsmappe
Option Explicit 
 
Private Sub Workbook_BeforeClose(Cancel As Boolean) 
'wo liegt die Datei? 
If ThisWorkbook.Path = "Y:\der neue Ordner" Then 
  'wurde Mail bereits gesendet?, oder eine andere Zelle dafür wählen 
  If Sheets("Tabelle1").Range("A1") <> "Bestätigung gesendet" Then 
     
    If MsgBox("Bitte senden Sie eine Bestätigung." & vbCr & _
              "Wollen Sie diese jetzt senden?", vbYesNo) = vbYes Then 
       'Mail senden 
       Call SendeMeldung 
       'merken das Mail gesendet wurde 
       Sheets("Tabelle1").Range("A1") = "Bestätigung gesendet" 
       ThisWorkbook.Save 
    End If 
    
   End If 
End If 
End Sub 
 
kommt als Code in Modul2
Option Explicit 
 
Sub SendeMeldung() 
Dim OutApp As Object 
Dim OutMail As Object 
 
'ist Outlook offen? 
On Error Resume Next 
 Set OutApp = GetObject(, "outlook.application") 
On Error GoTo 0 
 
If OutApp Is Nothing Then 
  'Outllok nicht offen 
  Shell Environ$("ProgramFiles") & "\Microsoft Office\OFFICE" & Val(Application.Version) & "\OUTLOOK.EXE", vbMinimizedFocus 
End If 
  
 
Set OutApp = CreateObject("Outlook.Application") 
Set OutMail = OutApp.CreateItem(0) 
 
With OutMail 
    .to = "X" 'Adresse eintragen wo die Mail hin soll 
    .Subject = "AW:Überstundenantrag " & ThisWorkbook.Name 
    .body = "Antwort auf Überstundenantrag" 
    .Attachments.Add ThisWorkbook.FullName, 4, Len(.body) + 1, ThisWorkbook.Name 
    .Display 
End With 
 
 
End Sub 
 
Gruß Tino
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige