dachboden20
Cadet 1st Year
- Registriert
- Jan. 2018
- Beiträge
- 14
Ich benötige wieder ein bischen Hilfe:
1. Code:
Dieser Code sucht mir in einem Ordner nach einer Datei und fügt sie mir in einer Zelle als anklickbares Symbol ein.
Die Suche erfolgt nur im angegebenen Ordner, die Unterordner werden nicht duchsucht, wie kann ich das ändern? Außerdem hätte ich gern die gefundene Datei nicht als Objekt in einer Zelle eingefügt, sonder, jetzt zum 2. Code:
Mit diesem Code wird eine E-Mail erstellt.
Aber:
- ich hätte gern den Betreff aus der Excel-Datei gezogen, Zelle B5
- als E-Mailtext wird mir der Bereich "D2:I7" ausgegeben, allerdings soll dieser Bereich variabel sein, der Code soll mich also jedes mal Fragen, welcher Bereich des Arbeitsblattes in der E-Mail stehen soll, geht sicher über Markierung oder!? - Außerdem soll dann noch meine Signatur in die Mail.
- nochmal zurück zum 1.Code: der eventuell gefundene Anhang soll als Anhang der E-Mail angefügt werden
Ich hoffe, mir kann jemand helfen!?
1. Code:
Dieser Code sucht mir in einem Ordner nach einer Datei und fügt sie mir in einer Zelle als anklickbares Symbol ein.
Sub aaa()
Dim rng As Range
Const strPfad = "Z:\testordner"
Set rng = Range("A7")
Do While rng <> ""
If Dir(strPfad & rng.Offset(, 6) & ".pdf", vbNormal) = "" Then
MsgBox "Die Datei gibt es nicht!", vbInformation, "Gebe bekannt..."
Else
rng.Offset(, 8).Select
ActiveSheet.OLEObjects.Add(Filename:=strPfad & rng.Offset(, 6) & ".pdf", Link:=False, _
DisplayAsIcon:=True, IconFileName:="T:\PFT\pft.ico", _
IconIndex:=0, IconLabel:="").Select
End If
Set rng = rng.Offset(1)
Loop
End Sub
Die Suche erfolgt nur im angegebenen Ordner, die Unterordner werden nicht duchsucht, wie kann ich das ändern? Außerdem hätte ich gern die gefundene Datei nicht als Objekt in einer Zelle eingefügt, sonder, jetzt zum 2. Code:
Option Explicit
Public Sub TableToMail()
Dim objOutlook As Object
Dim objMail As Object
Set objOutlook = CreateObject("Outlook.Application")
Set objMail = objOutlook.CreateItem(0)
With objMail
.to =
.Subject =
.HTMLBody = RangeToHTML(ActiveSheet, ActiveSheet.Range("D2:I7"))
.Display 'nur Anzeigen
' .Send 'direkt senden
End With
Set objMail = Nothing
Set objOutlook = Nothing
End Sub
Private Function RangeToHTML(objSheet As Worksheet, objRange As Range) As String
Dim strFilename As String
strFilename = Environ$("TEMP") & "/" & Format(Now, "dd-mm-yyyy_hh-mm-ss") & ".htm"
ActiveWorkbook.PublishObjects.Add( _
SourceType:=xlSourceRange, _
Filename:=strFilename, _
Sheet:=objSheet.Name, _
Source:=objRange.Address, _
HtmlType:=xlHtmlStatic).Publish True
RangeToHTML = CreateObject("Scripting.FileSystemObject"). _
GetFile(strFilename).OpenAsTextStream(1, -2).ReadAll
Kill strFilename
End Function
Mit diesem Code wird eine E-Mail erstellt.
Aber:
- ich hätte gern den Betreff aus der Excel-Datei gezogen, Zelle B5
- als E-Mailtext wird mir der Bereich "D2:I7" ausgegeben, allerdings soll dieser Bereich variabel sein, der Code soll mich also jedes mal Fragen, welcher Bereich des Arbeitsblattes in der E-Mail stehen soll, geht sicher über Markierung oder!? - Außerdem soll dann noch meine Signatur in die Mail.
- nochmal zurück zum 1.Code: der eventuell gefundene Anhang soll als Anhang der E-Mail angefügt werden
Ich hoffe, mir kann jemand helfen!?
Zuletzt bearbeitet: