Ik probeer een work-around te verzinnen voor het volgende:
Wij hebben een groot aantal bestanden (kopiefacturen) staan op een lokale network-share die alleen vanuit de Benelux toegankelijk is. Deze bestanden staan geïndexeerd in een webbased (ASP 3.0) tool.
Echter vanuit de States en andere landen wenst men ook toegang te hebben tot deze bestanden.
Om e.e.a. te realiseren heb ik een redelijk smerige (maar effectieve) work-around bedacht die ook al geruime tijd prima werkt:
Vanuit de ASP pagina wordt er een email gestuurd met het onderwerp "701913739 Copy Invoice" met in de body de locatie van de kopiefactuur (bijv. " k:\Billing_CoE_Northern_Europe\NL\Invoices\Exact\27800476.pdf"). Deze mail komt binnen op een lokale machine die deze vervolgens verwerkt en eigenlijk een reply terugstuurt met het bestand dat in de body van de mail genoemd wordt
Het enige probleem is, dat dit per bestand gaat. Wanneer ik dus voor 1 klant 10 facturen zou willen opvragen op deze manier, moet dat met 10 mailtjes.
Het lijkt mij dat het zou kunnen om bijv. de Item.Body regel voor regel uit te lezen en dan meerdere attachments toe te voegen, echter ik kan maar niet vinden hoe ik dit zou moeten realiseren
Hieronder de code die ik op dit moment gebruik.
Iemand suggesties?
Wij hebben een groot aantal bestanden (kopiefacturen) staan op een lokale network-share die alleen vanuit de Benelux toegankelijk is. Deze bestanden staan geïndexeerd in een webbased (ASP 3.0) tool.
Echter vanuit de States en andere landen wenst men ook toegang te hebben tot deze bestanden.
Om e.e.a. te realiseren heb ik een redelijk smerige (maar effectieve) work-around bedacht die ook al geruime tijd prima werkt:
Vanuit de ASP pagina wordt er een email gestuurd met het onderwerp "701913739 Copy Invoice" met in de body de locatie van de kopiefactuur (bijv. " k:\Billing_CoE_Northern_Europe\NL\Invoices\Exact\27800476.pdf"). Deze mail komt binnen op een lokale machine die deze vervolgens verwerkt en eigenlijk een reply terugstuurt met het bestand dat in de body van de mail genoemd wordt
Het enige probleem is, dat dit per bestand gaat. Wanneer ik dus voor 1 klant 10 facturen zou willen opvragen op deze manier, moet dat met 10 mailtjes.
Het lijkt mij dat het zou kunnen om bijv. de Item.Body regel voor regel uit te lezen en dan meerdere attachments toe te voegen, echter ik kan maar niet vinden hoe ik dit zou moeten realiseren
Hieronder de code die ik op dit moment gebruik.
Iemand suggesties?
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
54
55
56
57
58
59
| Public WithEvents myOlItems As Outlook.Items
Public Sub Application_Startup()
Set myOlItems = Outlook.Session.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub myOlItems_ItemAdd(ByVal Item As Object)
If Left(Item.Subject, 22) = "701913739 Copy Invoice" Then
Dim AttName As String
Dim myInbox As MAPIFolder
Dim myOlApp As Application
Dim myNameSpace As NameSpace
Set myOlApp = CreateObject("Outlook.Application")
Set myNameSpace = myOlApp.GetNamespace("MAPI")
Set myInbox = myNameSpace.GetDefaultFolder(olFolderInbox)
AttName = Item.Body
AttName = RTrim(AttName)
AttName = LTrim(AttName)
Dim strFileName As String
strFileName = GetNameFromPath(AttName)
Invoice = Left(strFileName, Len(strFileName) - 4)
If Item.UnRead = True Then
Item.UnRead = False
End If
If TypeName(Item) = "MailItem" Then
Set MyReply = Item.Reply
If ((Left(AttName, 3) = "K:\") Or (Left(AttName, 3) = "k:")) Then
On Error Resume Next
MyReply.Attachments.Add AttName, olByValue, , _
"Attachment"
If Err.Number = 0 Then
MyReply.Subject = "Your requested copy invoice: " + Invoice + " is attached"
MyReply.Body = ""
MyReply.Send
Item.Move (myInbox.Folders("Sent Copy Invoices"))
Else
MyReply.Body = "Sorry your copy invoice could not be send at this time. We will try to send you the requested copy invoice within 1 working day. You don't need to request it again!"
MyReply.Subject = "There was a problem sending your copy invoice " + Invoice
MyReply.Send
End If
Else
MyReply.Subject = "You requested an illegal action"
MyReply.Send
Item.Move (myInbox.Folders("Sent Copy Invoices"))
End If
End If
End If
End Sub |
webOS all the way!