Fix Filedrop

This commit is contained in:
Jonathan Jenne 2021-07-07 11:31:22 +02:00
parent 69554d7fbd
commit a581d8c81a

View File

@ -91,57 +91,56 @@ Public Class ClassFileDrop
LOGGER.Info("Attachment File from Outlook could not be created")
End If
End If
ElseIf e.Data.GetDataPresent("FileGroupDescriptor") Then
Dim oApp As Outlook.Application
Try
oApp = New Outlook.Application()
Catch ex As Exception
LOGGER.Error(ex)
MsgBox("Unexpected error in Initialisieren von Outlook-API:" & vbNewLine & ex.Message & vbNewLine & vbNewLine & "Evtl ist Outlook nicht in der dafür vorgesehenen For")
Return False
End Try
LOGGER.Info(" Drop of msg")
'supports a drop of a Outlook message
Dim myobj As Outlook.MailItem
For i As Integer = 1 To oApp.ActiveExplorer.Selection.Count
myobj = oApp.ActiveExplorer.Selection.Item(i)
Dim subj As String = myobj.Subject
If subj = "" Then
subj = "NO_SUBJECT"
End If
If subj.Contains("\") Then
subj = subj.Replace("\", "-")
End If
If subj.Contains("/") Then
subj = subj.Replace("/", "-")
End If
'Sonderzeichen entfernen
subj = ClassFilehandle.InvalidCharacters(subj)
'hardcode a destination path for testing
Dim oFilename As String = IO.Path.Combine(Path.GetTempPath, subj + ".msg")
oFilename = oFilename.Replace("?", "")
oFilename = oFilename.Replace("!", "")
oFilename = oFilename.Replace("%", "")
oFilename = oFilename.Replace("$", "")
LOGGER.Info("Drop of msg - File:" & oFilename)
End If
If e.Data.GetDataPresent("FileGroupDescriptor") Then
Dim oApp As Outlook.Application
Try
myobj.SaveAs(oFilename)
oApp = New Outlook.Application()
Catch ex As Exception
LOGGER.Error(ex)
MsgBox("Die Email konnte aufgrund einer Sicherheitseinstellung im Outlook nicht abgelegt werden! " &
"Bitte wenden Sie sich an Ihren Administrator, " &
"um den programmatischen Zugriff auf Outlook zuzulassen. " &
"Weitere Informationen finden Sie im Log.", MsgBoxStyle.Critical, "Global Indexer")
MsgBox("Unexpected error in Initialisieren von Outlook-API:" & vbNewLine & ex.Message & vbNewLine & vbNewLine & "Evtl ist Outlook nicht in der dafür vorgesehenen For")
Return False
End Try
ReDim Preserve files_dropped(i)
files_dropped(i) = "|OUTLOOK_MESSAGE|" & oFilename
Next
Return True
LOGGER.Info(" Drop of msg")
'supports a drop of a Outlook message
Dim myobj As Outlook.MailItem
For i As Integer = 1 To oApp.ActiveExplorer.Selection.Count
myobj = oApp.ActiveExplorer.Selection.Item(i)
Dim subj As String = myobj.Subject
If subj = "" Then
subj = "NO_SUBJECT"
End If
If subj.Contains("\") Then
subj = subj.Replace("\", "-")
End If
If subj.Contains("/") Then
subj = subj.Replace("/", "-")
End If
'Sonderzeichen entfernen
subj = ClassFilehandle.InvalidCharacters(subj)
'hardcode a destination path for testing
Dim oFilename As String = IO.Path.Combine(Path.GetTempPath, subj + ".msg")
oFilename = oFilename.Replace("?", "")
oFilename = oFilename.Replace("!", "")
oFilename = oFilename.Replace("%", "")
oFilename = oFilename.Replace("$", "")
LOGGER.Info("Drop of msg - File:" & oFilename)
Try
myobj.SaveAs(oFilename)
Catch ex As Exception
LOGGER.Error(ex)
MsgBox("Die Email konnte aufgrund einer Sicherheitseinstellung im Outlook nicht abgelegt werden! " &
"Bitte wenden Sie sich an Ihren Administrator, " &
"um den programmatischen Zugriff auf Outlook zuzulassen. " &
"Weitere Informationen finden Sie im Log.", MsgBoxStyle.Critical, "Global Indexer")
End Try
ReDim Preserve files_dropped(i)
files_dropped(i) = "|OUTLOOK_MESSAGE|" & oFilename
Next
Return True
'Drop eines Outlook Attachments
Else
Return False
End If
Catch ex As Exception
MsgBox("Error in Drop-File" & vbNewLine & ex.Message, MsgBoxStyle.Critical)