# Worddatei als Hyperlink über Outlook versenden via Button



## Termos (6. Dezember 2013)

Hallo Community,

ein Worddokument liegt auf dem Netzwerklaufwerk Q:. 

Wenn im Dokument ein Button gedrückt wird, soll im Outlook an eine vordefinierte Empfängerliste der Link zu dieser Datei geschickt werden. 


Mein vorgehen bisher:


```
Private Sub CommandButton1_Click()
Dim aws As String
Dim olapp As Object
ActiveDocument.Save
aws = ActiveDocument.FullName
Set olapp = CreateObject("Outlook.Application")
With olapp.CreateItem(0)
      .To = "xxx@xxx.de"
     '.cc = "mail1@server.de,mail2@server.de,mail3@server.de" 
      .Subject = "BETREFF INHALT ANPASSEN" ' Betreff optional
      .HtmlBody = "Link: " + "<file:\\Q:\xxxxx.doc>  " ' Mail optional
     '.ReadReceiptRequested = True 'optional Lesebestätigung anfordern
      .Attachments.Add aws
      .Display
    'SendKeys "%s", True 
End With
Set olapp = Nothing
End Sub
```


----------



## Yaslaw (6. Dezember 2013)

Ich mache den Hyperlink mit a href:

```
htmlLinkPattern = "<a href='" & adr & "'>" & adr & "</a>"
```

Aber was ist eigentlich deine Frage?


----------



## HonniCilest (6. Dezember 2013)

2 Sachen verstehe ich nicht (abgesehen, was von Yaslaw erwähnt wurde):
1. Warum willst du einen Anhang verschicken, wenn du bereits einen Link verschickst?
2. Was soll die Zeile mit SendKeys tun, die E-Mail verschicken? Wenn ja, hier bitte den korrekten Befehl verwenden.


----------



## Yaslaw (6. Dezember 2013)

Ich habe mal [code=vba] durch [code=vb] ersetzt. Jetzt sieht man, dass der sendKey auskommentiert ist.

Dafür sehe ich gerade, dass Strings mit + zusammengesetzt werden. Das ist in VBA falsch (Ja, es geht, ist aber unsauber). & ist das Zeichen um zu kombinieren


```
.HtmlBody = "Link: " & "<file:\\Q:\xxxxx.doc>  " ' Mail optional

'wobei der & da nicht gebraucht wird
     .HtmlBody = "Link: <file:\\Q:\xxxxx.doc>  " ' Mail optional
```

Zum +
Wenn du mit Variablen arbeitest und diese Zahlen sein können, kannst du damit in die Sch** greiffen

```
Dim a AS Integer:   a = 5
Dim b AS Integer:   b = 9

debug.print a & b  'gibt 59
debug.print a + b  'gibt 14
```

Darum immer & Um zusammenzusetzen, + zum Zusammenrechnen


----------

