SlideShare a Scribd company logo
Outlook – module 1:
Option Explicit
Public parseLines() As String
Sub RunAScriptRuleRoutine(MyMail As MailItem)
Dim strID As String
Dim olNS As Outlook.NameSpace
Dim msg As Outlook.MailItem
Dim bodyText As Variant
Dim subjText As String
Dim intWait As Byte
Const SVOStatus_01 = "CCO: Service Order Status for"
Const SVOStatus_02 = "Service Order Status for"
strID = MyMail.EntryID 'property
Set olNS = Application.GetNamespace("MAPI")
'NameSpace.GetItemFromID Method(Outlook)
'Returns a Microsoft Outlook item identified by the specified entry ID (if valid).
Set msg = olNS.GetItemFromID(strID)
On Error Resume Next
bodyText = ""
Do While bodyText = ""
' Slow the processing down a bit before trying again
For intWait = 1 To 100
DoEvents
Next
' Try again
bodyText = msg.Body
Loop
subjText = msg.Subject
If InStr(1, subjText, SVOStatus_01) > 0 Or InStr(1, subjText, SVOStatus_02) > 0 Then
'Split Function: Returns a zero-based, 1-D array containing a specified number of
substrings
'tokenize each line of the email
parseLines = Split(msg.Body, vbCrLf)
Call Send_Mail_With_Signature_Html(True, parseLines)
End If
Set item = Nothing
Set msg = Nothing
Set olNS = Nothing
End Sub
Outlook – module 2:
Option Explicit
Sub composeBody(strbody, SR_num)
Dim template_1, template_2, template_3, RMA_SVO_no As String
Dim i, j, h, PN, SQ, EQ, AQ As Integer
Dim k2, k1 As Byte
Dim returnPNline As Boolean
Dim ShipToEmail(), AcknowledgmentEmail(), AcknowledgmentCCO(), AcknowledgmentContact(),
CustomerEmailinSR() As String
'Note that a reference to "Microsoft Scripting Runtime" is needed in order to get access to
the Dictionary object
'That's if the New syntax is used. CreateObject will work without a reference, as long as
the Microsoft Scripting Runtime
'is installed and available from the References window
Dim myDictionary_parts As Object
Dim myDictionary_qtys As Object
Dim myDictionary_etas As Object
Dim uniquePNs As Variant
Dim uniqueQTYs As Variant
Dim uniqueETAs As Variant
Dim filtered_PN_List() As String
Dim filtered_QTY_List() As String
Dim filtered_ETA_List() As String
Dim PN_text As String
Dim Qty_text As String
Dim ETA_text As String
Const c_SRnum = "Service Request"
Const ShipTo = "Ship-to Information"
Const BillTo = "Bill-to Information"
Dim Ship_To As String
Const StartChr = 23
Const Labor = "Labor"
Const NoFieldEngineer = "No Field Engineer"
Const FieldEngineer = "Field Engineer"
Const c_CustomerRefNumber_1 = "Reference Number"
Dim Cust_Rf_Num As String
Const c_CustomerRefNumber_2 = "Help Desk Tracking: "
Const c_ReplacementParts = "Replacement Parts"
Const c_PartETA = "Part(s) ETA"
Dim PartETA() As String
Const Assembly1 = "Assembly 1"
Const LineRef = "Line Ref"
Const c_PartNumber = "Part Number"
Dim PartNumber() As String
Const c_QtyShpd = "Qty Shipped"
Dim QtyShpd() As Byte
Const c_QtyAuth = "Qty Auth"
Dim QtyAuth() As Byte
Const FE_Confirmed_ETA = "FE Confirmed ETA"
Dim FE_ETA As String
Const FieldEngineerInformation = "Field Engineer Information"
Const c_FE_name = "Name:"
Dim FE_name() As String
PN = 0
SQ = 0
EQ = 0
AQ = 0
returnPNline = False
FE_ETA = ""
For i = 0 To UBound(parseLines)
' 0. read from Notepad.txt: comPref already verified, contacts and helpdesk
tracking number prepared by Excel macro
' 1. How many parts? -> Qty for each part!
' 2. How many depots? -> How many ETA's for parts do we have?
' 3. FE intervention?
' 4. assembly?
k2 = 1
If InStr(k2, parseLines(i), "RETURN INFORMATION", vbTextCompare) > 0 Then
returnPNline = True
End If
If InStr(k2, parseLines(i), c_SRnum, vbTextCompare) > 0 Then
k1 = InStr(k2, parseLines(i), ":", vbTextCompare)
SR_num = Mid(parseLines(i), k1 + 2)
End If
If InStr(k2, parseLines(i), "RMA/Service Order", vbTextCompare) > 0 Then
k1 = InStr(k2, parseLines(i), ":", vbTextCompare)
RMA_SVO_no = Mid(parseLines(i), k1 + 2)
End If
If InStr(k2, parseLines(i), c_CustomerRefNumber_1, vbTextCompare) > 0 Then
k1 = InStr(k2, parseLines(i), ":", vbTextCompare)
Cust_Rf_Num = Mid(parseLines(i), k1 + 2)
End If
If InStr(k2, parseLines(i), c_PartNumber, vbTextCompare) > 0 Then
k1 = InStr(k2, parseLines(i), ":", vbTextCompare)
If returnPNline = False Then
ReDim Preserve PartNumber(PN)
PartNumber(PN) = Mid(parseLines(i), k1 + 2)
PN = PN + 1
End If
End If
' If InStr(k2, parseLines(i), c_QtyShpd, vbTextCompare) > 0 Then
' k1 = InStr(k2, parseLines(i), ":", vbTextCompare)
' ReDim Preserve QtyShpd(SQ)
' QtyShpd(SQ) = Mid(parseLines(i), k1 + 2)
' SQ = SQ + 1
' End If
If InStr(k2, parseLines(i), c_QtyAuth, vbTextCompare) > 0 Then
k1 = InStr(k2, parseLines(i), ":", vbTextCompare)
If returnPNline = False Then
ReDim Preserve QtyAuth(AQ)
QtyAuth(AQ) = Mid(parseLines(i), k1 + 2)
AQ = AQ + 1
End If
End If
If InStr(k2, parseLines(i), c_PartETA, vbTextCompare) > 0 Then
k1 = InStr(k2, parseLines(i), ":", vbTextCompare)
ReDim Preserve PartETA(EQ)
PartETA(EQ) = Mid(parseLines(i), k1 + 2, 17)
EQ = EQ + 1
End If
If InStr(k2, parseLines(i), FE_Confirmed_ETA, vbTextCompare) > 0 Then
k1 = InStr(k2, parseLines(i), ":", vbTextCompare)
FE_ETA = Mid(parseLines(i), k1 + 2, 17)
End If
If InStr(k2, parseLines(i), ShipTo, vbTextCompare) > 0 Then
j = i
Do While parseLines(j) <> BillTo
j = j + 1
Loop
h = j - i
j = 0
Ship_To = parseLines(i + 2)
For j = 1 To h - 4 Step 1
Ship_To = Ship_To & "<br>" & parseLines(i + j + 2)
Next j
End If
Next i
'Instantiate a Scripting.Dictionary object
' =========================================
'http://stackoverflow.com/questions/3017852/vba-get-unique-values-from-array
' Set myDictionary_parts = CreateObject("Scripting.Dictionary")
'alternatively: Set myDictionary_parts = New Scripting.Dictionary
' Set myDictionary_qtys = CreateObject("Scripting.Dictionary")
'**********************************************
' For i = LBound(PartNumber) To UBound(PartNumber)
' myDictionary_parts(PartNumber(i)) = 1
' Next i
' i = 0
' For Each uniquePNs In myDictionary_parts.Keys()
'myDictionary.Keys() is a Variant array of the unique values in the uniquePNs array.
'uniquePNs will iterate through each of them.
' ReDim Preserve filtered_PN_List(i)
' filtered_PN_List(i) = uniquePNs
' i = i + 1
' Next uniquePNs
'*********************************************************************
' search for unique ETA's (Estimated Time of Arrival) in a dictionary:
'*********************************************************************
Set myDictionary_etas = CreateObject("Scripting.Dictionary")
For i = LBound(PartETA) To UBound(PartETA)
myDictionary_etas(PartETA(i)) = 1
Next i
i = 0
For Each uniqueETAs In myDictionary_etas.Keys()
'myDictionary.Keys() is a Variant array of the unique values in the uniquePNs array.
'uniquePNs will iterate through each of them.
ReDim Preserve filtered_ETA_List(i)
filtered_ETA_List(i) = uniqueETAs
i = i + 1
Next uniqueETAs
'******************************************************************
' now let's take unique ETA's and create ETA line for the template:
'******************************************************************
If Cust_Rf_Num <> "" Then
Cust_Rf_Num = "Customer Reference Number: " & Cust_Rf_Num
End If
For i = 0 To UBound(filtered_ETA_List)
If i = 0 Then
ETA_text = filtered_ETA_List(i)
End If
If i > 0 Then
ETA_text = ETA_text & ", " & filtered_ETA_List(i)
End If
Next i
'******************************************************************
For i = 0 To UBound(PartNumber)
If UBound(PartNumber) = 0 Then
PN_text = PN_text & PartNumber(i)
Qty_text = QtyAuth(i)
End If
If UBound(PartNumber) > 0 Then
If i = 0 Then
PN_text = PartNumber(i)
Qty_text = QtyAuth(i)
End If
If i > 0 Then
PN_text = PN_text & ", " & PartNumber(i)
Qty_text = Qty_text & ", " & QtyAuth(i)
End If
End If
Next i
If FE_ETA <> "" Then
If PartNumber(0) <> "" Then
template_1 = "<FONT FACE=""Arial"", SIZE=""-1"">Dear Customer,<br><br>" & _
"I am writing to you regarding RMA " & RMA_SVO_no & ", " & Cust_Rf_Num &
"<br><br>" & _
"I would like to inform you that the requested part: " & PN_text & "
(quantity: " & Qty_text & ") will be onsite on " & ETA_text & " local time.<br><br>" & _
"The shipping address is:<br>" & _
Ship_To & "<br><br>" & _
"The field engineer, XXXXX , will be attending the site on " & FE_ETA & "
local time.<br><br>" & _
"Please do not hesitate to contact me should you need any further
assistance.</FONT><br>"
strbody = template_1
Else
template_3 = "<FONT FACE=""Arial"", SIZE=""-1"">Dear Customer,<br><br>" & _
"I am writing to you regarding RMA " & RMA_SVO_no & ", " & Cust_Rf_Num &
"<br><br>" & _
"The field engineer, XXXXX , will be attending the site on " & FE_ETA & "
local time.<br><br>" & _
"The shipping address is:<br>" & _
Ship_To & "<br><br>" & _
"Please do not hesitate to contact me should you need any further
assistance.</FONT><br>"
strbody = template_3
End If
Else
template_2 = "<FONT FACE=""Arial"", SIZE=""-1"">Dear Customer,<br><br>" & _
"I am writing to you regarding RMA " & RMA_SVO_no & ", " & Cust_Rf_Num &
"<br><br>" & _
"I would like to inform you that the requested part: " & PN_text & "
(quantity: " & Qty_text & ") will be onsite on " & ETA_text & " local time.<br><br>" & _
"The shipping address is:<br>" & _
Ship_To & "<br><br>" & _
"Please do not hesitate to contact me should you need any further
assistance.</FONT><br>"
strbody = template_2
End If
End Sub
Outlook – module 3:
Option Explicit
Function GetBoiler(ByVal sFile As String) As String
Dim fso As Object
Dim ts As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2)
GetBoiler = ts.readall
ts.Close
End Function
'===============================================
' SEND MAIL + ATTACH A SIGNATURE TO A MESSAGE
'===============================================
Sub Send_Mail_With_Signature_Html(DisplayMsg As Boolean, parseLines)
Dim OutApp As Object
Dim OutMail As Object
Dim objRecipient As Object
Dim strbody, SR_num As String
Dim SigString As String
Dim Signature As String
Set OutApp = Outlook.Application
Set OutMail = OutApp.CreateItem(olMailItem)
OutMail.BodyFormat = olFormatHTML
Call composeBody(strbody, SR_num)
'Change Ales Vymyslicky, Cisco Logistics.htm to the name of your signature
'Environ Function - Environ({envstring | number}) - Returns the String associated with an
operating system environment variable
SigString = Environ("appdata") & "MicrosoftSignaturesAles Vymyslicky, Cisco
Logistics.htm"
If Dir(SigString) <> "" Then
Signature = GetBoiler(SigString)
Else
Signature = ""
End If
On Error Resume Next
With OutMail
.SentOnBehalfOfName = "avymysli@cisco.com"
' Add the To recipient(s) to the message.
Set objRecipient = .Recipients.Add("Nancy Davolio")
objRecipient.Type = olTo
' Add the CC recipient(s) to the message.
Set objRecipient = .Recipients.Add("Michael Suyama")
objRecipient.Type = olCC
' Add the BCC recipient(s) to the message.
' Set objRecipient = .Recipients.Add("Andrew Fuller")
' objRecipient.Type = olBCC
' Set the Subject, Body, and Importance of the message.
.Subject = "SR " & SR_num
'.Body = "This is the body of the message." & vbCrLf & vbCrLf
.HTMLBody = strbody & "<br>" & Signature
.Importance = olImportanceHigh 'High importance
' Resolve each Recipient's name.
For Each objRecipient In .Recipients
objRecipient.Resolve
Next
' Should we display the message before sending?
If DisplayMsg Then
.Display
Else
.Save
.Send
End If
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
'================================================
'Where is the Image that I have in my signature ?
'================================================
'When you use the example above and you have a picture in your html signature you will notice
when
'you send the mail with VBA code the picture will not show up in the mail body.
'Problem seems to be the path to the pictures in the HTML code.
'
' Follow the steps below to send a signature with an image:
'
'1: Close Outlook
'
'2: Go to the htm file created by Outlook
'
' Vista and Windows 7 :
'C:UsersAlesAppDataRoamingMicrosoftSignatures
'
' Windows XP:
'C:Documents and SettingsAlesApplication DataMicrosoftSignatures
'
'Note: Ales is the User name
'Note: AppData or Application Data are hidden folders
' (Change the view in Windows explorer so it show hidden files and folders)
'
'
'3: Open the signature file created by the Outlook named "Mysig.htm" with Notepad.
'
'Look for something inside the Mysig.htm file(bottom of the file), like:
'
' src = "Mysig_files/image001.png"
'
' src = "Mysig_files/image002.jpg"
'
' Replace the short path to both files to the full path:
'
'src = "C:UsersAlesAppDataRoamingMicrosoftSignaturesMysig_filesimage001.png"
'
'src = "C:UsersAlesAppDataRoamingMicrosoftSignaturesMysig_filesimage002.jpg"
'
'
'4: Save and close the signature file.
'
'5: Run the macro again to see if you see the picture in your signature
Outlook – module 6:
Option Explicit
Public Sub StartOnPointedItem()
Dim strID As String
Dim olNS As Outlook.NameSpace
Dim msg As Outlook.MailItem
Dim bodyText As Variant
Dim subjText As String
Dim intWait As Byte
Dim objItem As Object
Dim objMail As Object
Const SVOStatus_01 = "CCO: Service Order Status for"
Const SVOStatus_02 = "Service Order Status for"
Set objItem = GetCurrentItem()
Set msg = objItem
On Error Resume Next
bodyText = msg.Body
If bodyText = "" Then
Do While bodyText = ""
' Slow the processing down a bit before trying again
For intWait = 1 To 100
DoEvents
Next
' Trying again
bodyText = msg.Body
Loop
End If
subjText = msg.Subject
If InStr(1, subjText, SVOStatus_01) > 0 Or InStr(1, subjText, SVOStatus_02) > 0 Then
'Split Function: Returns a zero-based, 1-D array containing a specified number of
substrings
'tokenize each line of the email
parseLines = Split(msg.Body, vbCrLf)
Call Send_Mail_With_Signature_Html(True, parseLines)
End If
Set objItem = Nothing
Set objMail = Nothing
End Sub
Function GetCurrentItem() As Object
Dim objApp As Outlook.Application
Set objApp = Application
On Error Resume Next
Select Case TypeName(objApp.ActiveWindow)
Case "Explorer"
Set GetCurrentItem = objApp.ActiveExplorer.Selection.item(1)
Case "Inspector"
Set GetCurrentItem = objApp.ActiveInspector.CurrentItem
Case Else
End Select
End Function

More Related Content

What's hot

Fun Teaching MongoDB New Tricks
Fun Teaching MongoDB New TricksFun Teaching MongoDB New Tricks
Fun Teaching MongoDB New Tricks
MongoDB
 
Beginning direct3d gameprogrammingcpp02_20160324_jintaeks
Beginning direct3d gameprogrammingcpp02_20160324_jintaeksBeginning direct3d gameprogrammingcpp02_20160324_jintaeks
Beginning direct3d gameprogrammingcpp02_20160324_jintaeks
JinTaek Seo
 
Programming - Marla Fuentes
Programming - Marla FuentesProgramming - Marla Fuentes
Programming - Marla Fuentes
mfuentessss
 
Weaponizing the Windows API with Metasploit's Railgun
Weaponizing the Windows API with Metasploit's RailgunWeaponizing the Windows API with Metasploit's Railgun
Weaponizing the Windows API with Metasploit's Railgun
TheLightcosine
 
isd312-05-wordnet
isd312-05-wordnetisd312-05-wordnet
isd312-05-wordnet
Anung Ariwibowo
 
Lenses and Prisms in Swift - Elviro Rocca - Codemotion Rome 2018
Lenses and Prisms in Swift - Elviro Rocca - Codemotion Rome 2018 Lenses and Prisms in Swift - Elviro Rocca - Codemotion Rome 2018
Lenses and Prisms in Swift - Elviro Rocca - Codemotion Rome 2018
Codemotion
 
Jersey Guice AOP
Jersey Guice AOPJersey Guice AOP
Jersey Guice AOP
Domenico Briganti
 
Gpars concepts explained
Gpars concepts explainedGpars concepts explained
Gpars concepts explained
Vaclav Pech
 
groovy databases
groovy databasesgroovy databases
groovy databases
Paul King
 

What's hot (9)

Fun Teaching MongoDB New Tricks
Fun Teaching MongoDB New TricksFun Teaching MongoDB New Tricks
Fun Teaching MongoDB New Tricks
 
Beginning direct3d gameprogrammingcpp02_20160324_jintaeks
Beginning direct3d gameprogrammingcpp02_20160324_jintaeksBeginning direct3d gameprogrammingcpp02_20160324_jintaeks
Beginning direct3d gameprogrammingcpp02_20160324_jintaeks
 
Programming - Marla Fuentes
Programming - Marla FuentesProgramming - Marla Fuentes
Programming - Marla Fuentes
 
Weaponizing the Windows API with Metasploit's Railgun
Weaponizing the Windows API with Metasploit's RailgunWeaponizing the Windows API with Metasploit's Railgun
Weaponizing the Windows API with Metasploit's Railgun
 
isd312-05-wordnet
isd312-05-wordnetisd312-05-wordnet
isd312-05-wordnet
 
Lenses and Prisms in Swift - Elviro Rocca - Codemotion Rome 2018
Lenses and Prisms in Swift - Elviro Rocca - Codemotion Rome 2018 Lenses and Prisms in Swift - Elviro Rocca - Codemotion Rome 2018
Lenses and Prisms in Swift - Elviro Rocca - Codemotion Rome 2018
 
Jersey Guice AOP
Jersey Guice AOPJersey Guice AOP
Jersey Guice AOP
 
Gpars concepts explained
Gpars concepts explainedGpars concepts explained
Gpars concepts explained
 
groovy databases
groovy databasesgroovy databases
groovy databases
 

Viewers also liked

Cadd
CaddCadd
Locate Assembly
Locate AssemblyLocate Assembly
Locate Assembly
InGuen Hwang
 
Autism_risk_factors
Autism_risk_factorsAutism_risk_factors
Autism_risk_factors
Colleen Chen
 
AppOLEA
AppOLEA AppOLEA
AppOLEA
Francesco Mata
 
Dr. Susan Detmer - Regional Surveillance and Control Strategies for Influenza...
Dr. Susan Detmer - Regional Surveillance and Control Strategies for Influenza...Dr. Susan Detmer - Regional Surveillance and Control Strategies for Influenza...
Dr. Susan Detmer - Regional Surveillance and Control Strategies for Influenza...
John Blue
 
Dr. Alison Van Eenennaam - The GMO Debate: Twenty Years of Animal Health and ...
Dr. Alison Van Eenennaam - The GMO Debate: Twenty Years of Animal Health and ...Dr. Alison Van Eenennaam - The GMO Debate: Twenty Years of Animal Health and ...
Dr. Alison Van Eenennaam - The GMO Debate: Twenty Years of Animal Health and ...
John Blue
 
Winston & Strawn Training Contract Prep
Winston & Strawn Training Contract PrepWinston & Strawn Training Contract Prep
Winston & Strawn Training Contract Prep
24north
 
League of 화장실 기획서
League of 화장실 기획서League of 화장실 기획서
League of 화장실 기획서
Eui hwan Hyeon
 
[IGC 2016] 에픽게임스코리아 신광섭 - 언리얼 엔진4, VR과 AR
[IGC 2016] 에픽게임스코리아 신광섭 - 언리얼 엔진4, VR과 AR[IGC 2016] 에픽게임스코리아 신광섭 - 언리얼 엔진4, VR과 AR
[IGC 2016] 에픽게임스코리아 신광섭 - 언리얼 엔진4, VR과 AR
강 민우
 
[IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기
[IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기[IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기
[IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기
강 민우
 
[IGC 2016] 버프스튜디오 김도형 - 용사는 진행중2 포스트모템
[IGC 2016] 버프스튜디오 김도형 - 용사는 진행중2 포스트모템[IGC 2016] 버프스튜디오 김도형 - 용사는 진행중2 포스트모템
[IGC 2016] 버프스튜디오 김도형 - 용사는 진행중2 포스트모템
강 민우
 
Unity & VR (Unity Roadshow 2016)
Unity & VR (Unity Roadshow 2016)Unity & VR (Unity Roadshow 2016)
Unity & VR (Unity Roadshow 2016)
ozlael ozlael
 
이동 로봇을 위한 사각형 기반 위치 추정의 기하학적 방법
이동 로봇을 위한 사각형 기반 위치 추정의 기하학적 방법이동 로봇을 위한 사각형 기반 위치 추정의 기하학적 방법
이동 로봇을 위한 사각형 기반 위치 추정의 기하학적 방법
Joo-Haeng Lee
 
Outlook-Ekonomi-2017
Outlook-Ekonomi-2017Outlook-Ekonomi-2017
Outlook-Ekonomi-2017
Perdana Wahyu Santosa
 
Antagonists - A2 Media
Antagonists - A2 Media Antagonists - A2 Media
Antagonists - A2 Media
janvigok
 

Viewers also liked (15)

Cadd
CaddCadd
Cadd
 
Locate Assembly
Locate AssemblyLocate Assembly
Locate Assembly
 
Autism_risk_factors
Autism_risk_factorsAutism_risk_factors
Autism_risk_factors
 
AppOLEA
AppOLEA AppOLEA
AppOLEA
 
Dr. Susan Detmer - Regional Surveillance and Control Strategies for Influenza...
Dr. Susan Detmer - Regional Surveillance and Control Strategies for Influenza...Dr. Susan Detmer - Regional Surveillance and Control Strategies for Influenza...
Dr. Susan Detmer - Regional Surveillance and Control Strategies for Influenza...
 
Dr. Alison Van Eenennaam - The GMO Debate: Twenty Years of Animal Health and ...
Dr. Alison Van Eenennaam - The GMO Debate: Twenty Years of Animal Health and ...Dr. Alison Van Eenennaam - The GMO Debate: Twenty Years of Animal Health and ...
Dr. Alison Van Eenennaam - The GMO Debate: Twenty Years of Animal Health and ...
 
Winston & Strawn Training Contract Prep
Winston & Strawn Training Contract PrepWinston & Strawn Training Contract Prep
Winston & Strawn Training Contract Prep
 
League of 화장실 기획서
League of 화장실 기획서League of 화장실 기획서
League of 화장실 기획서
 
[IGC 2016] 에픽게임스코리아 신광섭 - 언리얼 엔진4, VR과 AR
[IGC 2016] 에픽게임스코리아 신광섭 - 언리얼 엔진4, VR과 AR[IGC 2016] 에픽게임스코리아 신광섭 - 언리얼 엔진4, VR과 AR
[IGC 2016] 에픽게임스코리아 신광섭 - 언리얼 엔진4, VR과 AR
 
[IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기
[IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기[IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기
[IGC 2016] 엔씨소프트 홍상범 - 3D아티스트 위한 프로그램 연동하여 개발 제작 환경 개선하기
 
[IGC 2016] 버프스튜디오 김도형 - 용사는 진행중2 포스트모템
[IGC 2016] 버프스튜디오 김도형 - 용사는 진행중2 포스트모템[IGC 2016] 버프스튜디오 김도형 - 용사는 진행중2 포스트모템
[IGC 2016] 버프스튜디오 김도형 - 용사는 진행중2 포스트모템
 
Unity & VR (Unity Roadshow 2016)
Unity & VR (Unity Roadshow 2016)Unity & VR (Unity Roadshow 2016)
Unity & VR (Unity Roadshow 2016)
 
이동 로봇을 위한 사각형 기반 위치 추정의 기하학적 방법
이동 로봇을 위한 사각형 기반 위치 추정의 기하학적 방법이동 로봇을 위한 사각형 기반 위치 추정의 기하학적 방법
이동 로봇을 위한 사각형 기반 위치 추정의 기하학적 방법
 
Outlook-Ekonomi-2017
Outlook-Ekonomi-2017Outlook-Ekonomi-2017
Outlook-Ekonomi-2017
 
Antagonists - A2 Media
Antagonists - A2 Media Antagonists - A2 Media
Antagonists - A2 Media
 

Similar to ©️ Contact CISCO Clients - Cisco Logistics - ContactCustomer Business Function

Type safe embedded domain-specific languages
Type safe embedded domain-specific languagesType safe embedded domain-specific languages
Type safe embedded domain-specific languages
Arthur Xavier
 
pa-pe-pi-po-pure Python Text Processing
pa-pe-pi-po-pure Python Text Processingpa-pe-pi-po-pure Python Text Processing
pa-pe-pi-po-pure Python Text Processing
Rodrigo Senra
 
C101-PracticeProblems.pdf
C101-PracticeProblems.pdfC101-PracticeProblems.pdf
C101-PracticeProblems.pdf
T17Rockstar
 
Unit 6 pointers
Unit 6   pointersUnit 6   pointers
Unit 6 pointers
George Erfesoglou
 
The Ring programming language version 1.9 book - Part 30 of 210
The Ring programming language version 1.9 book - Part 30 of 210The Ring programming language version 1.9 book - Part 30 of 210
The Ring programming language version 1.9 book - Part 30 of 210
Mahmoud Samir Fayed
 
Writing a compiler in go
Writing a compiler in goWriting a compiler in go
Writing a compiler in go
Yusuke Kita
 
Kotlin coroutines and spring framework
Kotlin coroutines and spring frameworkKotlin coroutines and spring framework
Kotlin coroutines and spring framework
Sunghyouk Bae
 
The Art Of Readable Code
The Art Of Readable CodeThe Art Of Readable Code
The Art Of Readable Code
Baidu, Inc.
 
Codable routing
Codable routingCodable routing
Codable routing
Pushkar Kulkarni
 
Pop3ck sh
Pop3ck shPop3ck sh
Pop3ck sh
Ben Pope
 
CPP Language Basics - Reference
CPP Language Basics - ReferenceCPP Language Basics - Reference
CPP Language Basics - Reference
Mohammed Sikander
 
Solved Practice Problems For the C++ Exams
Solved Practice Problems For the C++ ExamsSolved Practice Problems For the C++ Exams
Solved Practice Problems For the C++ Exams
MuhammadTalha436
 
CS101- Introduction to Computing- Lecture 29
CS101- Introduction to Computing- Lecture 29CS101- Introduction to Computing- Lecture 29
CS101- Introduction to Computing- Lecture 29
Bilal Ahmed
 
©️ CISCO RMA Service Order Status Business Function
©️ CISCO RMA Service Order Status Business Function©️ CISCO RMA Service Order Status Business Function
©️ CISCO RMA Service Order Status Business Functionnone
 
MongoDB Performance Tuning
MongoDB Performance TuningMongoDB Performance Tuning
MongoDB Performance Tuning
Puneet Behl
 
Need help getting past an error in C++! I have all my code pasted down.docx
Need help getting past an error in C++! I have all my code pasted down.docxNeed help getting past an error in C++! I have all my code pasted down.docx
Need help getting past an error in C++! I have all my code pasted down.docx
Jason0x0Scottw
 
I have written the code but cannot complete the assignment please help.pdf
I have written the code but cannot complete the assignment please help.pdfI have written the code but cannot complete the assignment please help.pdf
I have written the code but cannot complete the assignment please help.pdf
shreeaadithyaacellso
 
The Ring programming language version 1.8 book - Part 28 of 202
The Ring programming language version 1.8 book - Part 28 of 202The Ring programming language version 1.8 book - Part 28 of 202
The Ring programming language version 1.8 book - Part 28 of 202
Mahmoud Samir Fayed
 
Analysis of Microsoft Code Contracts
Analysis of Microsoft Code ContractsAnalysis of Microsoft Code Contracts
Analysis of Microsoft Code Contracts
PVS-Studio
 
This is a c++ binary search program I worked so far but still cant g.pdf
This is a c++ binary search program I worked so far but still cant g.pdfThis is a c++ binary search program I worked so far but still cant g.pdf
This is a c++ binary search program I worked so far but still cant g.pdf
kostikjaylonshaewe47
 

Similar to ©️ Contact CISCO Clients - Cisco Logistics - ContactCustomer Business Function (20)

Type safe embedded domain-specific languages
Type safe embedded domain-specific languagesType safe embedded domain-specific languages
Type safe embedded domain-specific languages
 
pa-pe-pi-po-pure Python Text Processing
pa-pe-pi-po-pure Python Text Processingpa-pe-pi-po-pure Python Text Processing
pa-pe-pi-po-pure Python Text Processing
 
C101-PracticeProblems.pdf
C101-PracticeProblems.pdfC101-PracticeProblems.pdf
C101-PracticeProblems.pdf
 
Unit 6 pointers
Unit 6   pointersUnit 6   pointers
Unit 6 pointers
 
The Ring programming language version 1.9 book - Part 30 of 210
The Ring programming language version 1.9 book - Part 30 of 210The Ring programming language version 1.9 book - Part 30 of 210
The Ring programming language version 1.9 book - Part 30 of 210
 
Writing a compiler in go
Writing a compiler in goWriting a compiler in go
Writing a compiler in go
 
Kotlin coroutines and spring framework
Kotlin coroutines and spring frameworkKotlin coroutines and spring framework
Kotlin coroutines and spring framework
 
The Art Of Readable Code
The Art Of Readable CodeThe Art Of Readable Code
The Art Of Readable Code
 
Codable routing
Codable routingCodable routing
Codable routing
 
Pop3ck sh
Pop3ck shPop3ck sh
Pop3ck sh
 
CPP Language Basics - Reference
CPP Language Basics - ReferenceCPP Language Basics - Reference
CPP Language Basics - Reference
 
Solved Practice Problems For the C++ Exams
Solved Practice Problems For the C++ ExamsSolved Practice Problems For the C++ Exams
Solved Practice Problems For the C++ Exams
 
CS101- Introduction to Computing- Lecture 29
CS101- Introduction to Computing- Lecture 29CS101- Introduction to Computing- Lecture 29
CS101- Introduction to Computing- Lecture 29
 
©️ CISCO RMA Service Order Status Business Function
©️ CISCO RMA Service Order Status Business Function©️ CISCO RMA Service Order Status Business Function
©️ CISCO RMA Service Order Status Business Function
 
MongoDB Performance Tuning
MongoDB Performance TuningMongoDB Performance Tuning
MongoDB Performance Tuning
 
Need help getting past an error in C++! I have all my code pasted down.docx
Need help getting past an error in C++! I have all my code pasted down.docxNeed help getting past an error in C++! I have all my code pasted down.docx
Need help getting past an error in C++! I have all my code pasted down.docx
 
I have written the code but cannot complete the assignment please help.pdf
I have written the code but cannot complete the assignment please help.pdfI have written the code but cannot complete the assignment please help.pdf
I have written the code but cannot complete the assignment please help.pdf
 
The Ring programming language version 1.8 book - Part 28 of 202
The Ring programming language version 1.8 book - Part 28 of 202The Ring programming language version 1.8 book - Part 28 of 202
The Ring programming language version 1.8 book - Part 28 of 202
 
Analysis of Microsoft Code Contracts
Analysis of Microsoft Code ContractsAnalysis of Microsoft Code Contracts
Analysis of Microsoft Code Contracts
 
This is a c++ binary search program I worked so far but still cant g.pdf
This is a c++ binary search program I worked so far but still cant g.pdfThis is a c++ binary search program I worked so far but still cant g.pdf
This is a c++ binary search program I worked so far but still cant g.pdf
 

More from none

IQ_Tests_GiGi_Certificate_2019-09-21.pdf
IQ_Tests_GiGi_Certificate_2019-09-21.pdfIQ_Tests_GiGi_Certificate_2019-09-21.pdf
IQ_Tests_GiGi_Certificate_2019-09-21.pdf
none
 
Ales Vicky's Introduction to Theory of Special Relativity
Ales Vicky's  Introduction to Theory of Special RelativityAles Vicky's  Introduction to Theory of Special Relativity
Ales Vicky's Introduction to Theory of Special Relativity
none
 
©️ KANTAR Project Management - All Global Lightspeed Healthcare - 2006-2007
©️ KANTAR Project Management - All Global Lightspeed Healthcare - 2006-2007©️ KANTAR Project Management - All Global Lightspeed Healthcare - 2006-2007
©️ KANTAR Project Management - All Global Lightspeed Healthcare - 2006-2007
none
 
©️ One of my PROJECTS for MICROSOFT Retail Logistics - Part B
©️ One of my PROJECTS for MICROSOFT Retail Logistics - Part B©️ One of my PROJECTS for MICROSOFT Retail Logistics - Part B
©️ One of my PROJECTS for MICROSOFT Retail Logistics - Part Bnone
 
©️ One of my PROJECTS for MICROSOFT Retail Logistics - AutoRAS - Part C
©️ One of my PROJECTS for MICROSOFT Retail Logistics - AutoRAS - Part C©️ One of my PROJECTS for MICROSOFT Retail Logistics - AutoRAS - Part C
©️ One of my PROJECTS for MICROSOFT Retail Logistics - AutoRAS - Part Cnone
 
©️ One of my PROJECTS for MICROSOFT Retail Logistics - SKU_set-up_Best Buy PC...
©️ One of my PROJECTS for MICROSOFT Retail Logistics - SKU_set-up_Best Buy PC...©️ One of my PROJECTS for MICROSOFT Retail Logistics - SKU_set-up_Best Buy PC...
©️ One of my PROJECTS for MICROSOFT Retail Logistics - SKU_set-up_Best Buy PC...none
 
©️ SAP ERP Strategy - One of my PowerPoint Presentations - as of February 2012
©️ SAP ERP Strategy - One of my PowerPoint Presentations - as of February 2012©️ SAP ERP Strategy - One of my PowerPoint Presentations - as of February 2012
©️ SAP ERP Strategy - One of my PowerPoint Presentations - as of February 2012none
 
©️ HTC Smartphones - Qualitative Marketing Research & Customer-Focused Insigh...
©️ HTC Smartphones - Qualitative Marketing Research & Customer-Focused Insigh...©️ HTC Smartphones - Qualitative Marketing Research & Customer-Focused Insigh...
©️ HTC Smartphones - Qualitative Marketing Research & Customer-Focused Insigh...none
 
©️ My Own CISCO BRAINSTORMING IDEAS for CISCO Logistics
©️ My Own CISCO BRAINSTORMING IDEAS for CISCO Logistics©️ My Own CISCO BRAINSTORMING IDEAS for CISCO Logistics
©️ My Own CISCO BRAINSTORMING IDEAS for CISCO Logisticsnone
 

More from none (9)

IQ_Tests_GiGi_Certificate_2019-09-21.pdf
IQ_Tests_GiGi_Certificate_2019-09-21.pdfIQ_Tests_GiGi_Certificate_2019-09-21.pdf
IQ_Tests_GiGi_Certificate_2019-09-21.pdf
 
Ales Vicky's Introduction to Theory of Special Relativity
Ales Vicky's  Introduction to Theory of Special RelativityAles Vicky's  Introduction to Theory of Special Relativity
Ales Vicky's Introduction to Theory of Special Relativity
 
©️ KANTAR Project Management - All Global Lightspeed Healthcare - 2006-2007
©️ KANTAR Project Management - All Global Lightspeed Healthcare - 2006-2007©️ KANTAR Project Management - All Global Lightspeed Healthcare - 2006-2007
©️ KANTAR Project Management - All Global Lightspeed Healthcare - 2006-2007
 
©️ One of my PROJECTS for MICROSOFT Retail Logistics - Part B
©️ One of my PROJECTS for MICROSOFT Retail Logistics - Part B©️ One of my PROJECTS for MICROSOFT Retail Logistics - Part B
©️ One of my PROJECTS for MICROSOFT Retail Logistics - Part B
 
©️ One of my PROJECTS for MICROSOFT Retail Logistics - AutoRAS - Part C
©️ One of my PROJECTS for MICROSOFT Retail Logistics - AutoRAS - Part C©️ One of my PROJECTS for MICROSOFT Retail Logistics - AutoRAS - Part C
©️ One of my PROJECTS for MICROSOFT Retail Logistics - AutoRAS - Part C
 
©️ One of my PROJECTS for MICROSOFT Retail Logistics - SKU_set-up_Best Buy PC...
©️ One of my PROJECTS for MICROSOFT Retail Logistics - SKU_set-up_Best Buy PC...©️ One of my PROJECTS for MICROSOFT Retail Logistics - SKU_set-up_Best Buy PC...
©️ One of my PROJECTS for MICROSOFT Retail Logistics - SKU_set-up_Best Buy PC...
 
©️ SAP ERP Strategy - One of my PowerPoint Presentations - as of February 2012
©️ SAP ERP Strategy - One of my PowerPoint Presentations - as of February 2012©️ SAP ERP Strategy - One of my PowerPoint Presentations - as of February 2012
©️ SAP ERP Strategy - One of my PowerPoint Presentations - as of February 2012
 
©️ HTC Smartphones - Qualitative Marketing Research & Customer-Focused Insigh...
©️ HTC Smartphones - Qualitative Marketing Research & Customer-Focused Insigh...©️ HTC Smartphones - Qualitative Marketing Research & Customer-Focused Insigh...
©️ HTC Smartphones - Qualitative Marketing Research & Customer-Focused Insigh...
 
©️ My Own CISCO BRAINSTORMING IDEAS for CISCO Logistics
©️ My Own CISCO BRAINSTORMING IDEAS for CISCO Logistics©️ My Own CISCO BRAINSTORMING IDEAS for CISCO Logistics
©️ My Own CISCO BRAINSTORMING IDEAS for CISCO Logistics
 

Recently uploaded

PPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testingPPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testing
anoopmanoharan2
 
Question paper of renewable energy sources
Question paper of renewable energy sourcesQuestion paper of renewable energy sources
Question paper of renewable energy sources
mahammadsalmanmech
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
MDSABBIROJJAMANPAYEL
 
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
University of Maribor
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Christina Lin
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
kandramariana6
 
2. Operations Strategy in a Global Environment.ppt
2. Operations Strategy in a Global Environment.ppt2. Operations Strategy in a Global Environment.ppt
2. Operations Strategy in a Global Environment.ppt
PuktoonEngr
 
14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
SyedAbiiAzazi1
 
New techniques for characterising damage in rock slopes.pdf
New techniques for characterising damage in rock slopes.pdfNew techniques for characterising damage in rock slopes.pdf
New techniques for characterising damage in rock slopes.pdf
wisnuprabawa3
 
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
Mukeshwaran Balu
 
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMSA SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
IJNSA Journal
 
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptxML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
JamalHussainArman
 
CSM Cloud Service Management Presentarion
CSM Cloud Service Management PresentarionCSM Cloud Service Management Presentarion
CSM Cloud Service Management Presentarion
rpskprasana
 
sieving analysis and results interpretation
sieving analysis and results interpretationsieving analysis and results interpretation
sieving analysis and results interpretation
ssuser36d3051
 
ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024
Rahul
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
IJECEIAES
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
camseq
 
Exception Handling notes in java exception
Exception Handling notes in java exceptionException Handling notes in java exception
Exception Handling notes in java exception
Ratnakar Mikkili
 
Series of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.pptSeries of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.ppt
PauloRodrigues104553
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
KrishnaveniKrishnara1
 

Recently uploaded (20)

PPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testingPPT on GRP pipes manufacturing and testing
PPT on GRP pipes manufacturing and testing
 
Question paper of renewable energy sources
Question paper of renewable energy sourcesQuestion paper of renewable energy sources
Question paper of renewable energy sources
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
 
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
Presentation of IEEE Slovenia CIS (Computational Intelligence Society) Chapte...
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
 
2. Operations Strategy in a Global Environment.ppt
2. Operations Strategy in a Global Environment.ppt2. Operations Strategy in a Global Environment.ppt
2. Operations Strategy in a Global Environment.ppt
 
14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
 
New techniques for characterising damage in rock slopes.pdf
New techniques for characterising damage in rock slopes.pdfNew techniques for characterising damage in rock slopes.pdf
New techniques for characterising damage in rock slopes.pdf
 
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
ACRP 4-09 Risk Assessment Method to Support Modification of Airfield Separat...
 
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMSA SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
A SYSTEMATIC RISK ASSESSMENT APPROACH FOR SECURING THE SMART IRRIGATION SYSTEMS
 
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptxML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
 
CSM Cloud Service Management Presentarion
CSM Cloud Service Management PresentarionCSM Cloud Service Management Presentarion
CSM Cloud Service Management Presentarion
 
sieving analysis and results interpretation
sieving analysis and results interpretationsieving analysis and results interpretation
sieving analysis and results interpretation
 
ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
 
Modelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdfModelagem de um CSTR com reação endotermica.pdf
Modelagem de um CSTR com reação endotermica.pdf
 
Exception Handling notes in java exception
Exception Handling notes in java exceptionException Handling notes in java exception
Exception Handling notes in java exception
 
Series of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.pptSeries of visio cisco devices Cisco_Icons.ppt
Series of visio cisco devices Cisco_Icons.ppt
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
 

©️ Contact CISCO Clients - Cisco Logistics - ContactCustomer Business Function

  • 1. Outlook – module 1: Option Explicit Public parseLines() As String Sub RunAScriptRuleRoutine(MyMail As MailItem) Dim strID As String Dim olNS As Outlook.NameSpace Dim msg As Outlook.MailItem Dim bodyText As Variant Dim subjText As String Dim intWait As Byte Const SVOStatus_01 = "CCO: Service Order Status for" Const SVOStatus_02 = "Service Order Status for" strID = MyMail.EntryID 'property Set olNS = Application.GetNamespace("MAPI") 'NameSpace.GetItemFromID Method(Outlook) 'Returns a Microsoft Outlook item identified by the specified entry ID (if valid). Set msg = olNS.GetItemFromID(strID) On Error Resume Next bodyText = "" Do While bodyText = "" ' Slow the processing down a bit before trying again For intWait = 1 To 100 DoEvents Next ' Try again bodyText = msg.Body Loop subjText = msg.Subject If InStr(1, subjText, SVOStatus_01) > 0 Or InStr(1, subjText, SVOStatus_02) > 0 Then 'Split Function: Returns a zero-based, 1-D array containing a specified number of substrings 'tokenize each line of the email parseLines = Split(msg.Body, vbCrLf)
  • 2. Call Send_Mail_With_Signature_Html(True, parseLines) End If Set item = Nothing Set msg = Nothing Set olNS = Nothing End Sub Outlook – module 2: Option Explicit Sub composeBody(strbody, SR_num) Dim template_1, template_2, template_3, RMA_SVO_no As String Dim i, j, h, PN, SQ, EQ, AQ As Integer Dim k2, k1 As Byte Dim returnPNline As Boolean Dim ShipToEmail(), AcknowledgmentEmail(), AcknowledgmentCCO(), AcknowledgmentContact(), CustomerEmailinSR() As String 'Note that a reference to "Microsoft Scripting Runtime" is needed in order to get access to the Dictionary object 'That's if the New syntax is used. CreateObject will work without a reference, as long as the Microsoft Scripting Runtime 'is installed and available from the References window Dim myDictionary_parts As Object Dim myDictionary_qtys As Object Dim myDictionary_etas As Object Dim uniquePNs As Variant Dim uniqueQTYs As Variant Dim uniqueETAs As Variant Dim filtered_PN_List() As String Dim filtered_QTY_List() As String Dim filtered_ETA_List() As String Dim PN_text As String Dim Qty_text As String Dim ETA_text As String
  • 3. Const c_SRnum = "Service Request" Const ShipTo = "Ship-to Information" Const BillTo = "Bill-to Information" Dim Ship_To As String Const StartChr = 23 Const Labor = "Labor" Const NoFieldEngineer = "No Field Engineer" Const FieldEngineer = "Field Engineer" Const c_CustomerRefNumber_1 = "Reference Number" Dim Cust_Rf_Num As String Const c_CustomerRefNumber_2 = "Help Desk Tracking: " Const c_ReplacementParts = "Replacement Parts" Const c_PartETA = "Part(s) ETA" Dim PartETA() As String Const Assembly1 = "Assembly 1" Const LineRef = "Line Ref" Const c_PartNumber = "Part Number" Dim PartNumber() As String Const c_QtyShpd = "Qty Shipped" Dim QtyShpd() As Byte Const c_QtyAuth = "Qty Auth" Dim QtyAuth() As Byte Const FE_Confirmed_ETA = "FE Confirmed ETA" Dim FE_ETA As String Const FieldEngineerInformation = "Field Engineer Information" Const c_FE_name = "Name:"
  • 4. Dim FE_name() As String PN = 0 SQ = 0 EQ = 0 AQ = 0 returnPNline = False FE_ETA = "" For i = 0 To UBound(parseLines) ' 0. read from Notepad.txt: comPref already verified, contacts and helpdesk tracking number prepared by Excel macro ' 1. How many parts? -> Qty for each part! ' 2. How many depots? -> How many ETA's for parts do we have? ' 3. FE intervention? ' 4. assembly? k2 = 1 If InStr(k2, parseLines(i), "RETURN INFORMATION", vbTextCompare) > 0 Then returnPNline = True End If If InStr(k2, parseLines(i), c_SRnum, vbTextCompare) > 0 Then k1 = InStr(k2, parseLines(i), ":", vbTextCompare) SR_num = Mid(parseLines(i), k1 + 2) End If If InStr(k2, parseLines(i), "RMA/Service Order", vbTextCompare) > 0 Then k1 = InStr(k2, parseLines(i), ":", vbTextCompare) RMA_SVO_no = Mid(parseLines(i), k1 + 2) End If If InStr(k2, parseLines(i), c_CustomerRefNumber_1, vbTextCompare) > 0 Then k1 = InStr(k2, parseLines(i), ":", vbTextCompare) Cust_Rf_Num = Mid(parseLines(i), k1 + 2) End If If InStr(k2, parseLines(i), c_PartNumber, vbTextCompare) > 0 Then k1 = InStr(k2, parseLines(i), ":", vbTextCompare) If returnPNline = False Then
  • 5. ReDim Preserve PartNumber(PN) PartNumber(PN) = Mid(parseLines(i), k1 + 2) PN = PN + 1 End If End If ' If InStr(k2, parseLines(i), c_QtyShpd, vbTextCompare) > 0 Then ' k1 = InStr(k2, parseLines(i), ":", vbTextCompare) ' ReDim Preserve QtyShpd(SQ) ' QtyShpd(SQ) = Mid(parseLines(i), k1 + 2) ' SQ = SQ + 1 ' End If If InStr(k2, parseLines(i), c_QtyAuth, vbTextCompare) > 0 Then k1 = InStr(k2, parseLines(i), ":", vbTextCompare) If returnPNline = False Then ReDim Preserve QtyAuth(AQ) QtyAuth(AQ) = Mid(parseLines(i), k1 + 2) AQ = AQ + 1 End If End If If InStr(k2, parseLines(i), c_PartETA, vbTextCompare) > 0 Then k1 = InStr(k2, parseLines(i), ":", vbTextCompare) ReDim Preserve PartETA(EQ) PartETA(EQ) = Mid(parseLines(i), k1 + 2, 17) EQ = EQ + 1 End If If InStr(k2, parseLines(i), FE_Confirmed_ETA, vbTextCompare) > 0 Then k1 = InStr(k2, parseLines(i), ":", vbTextCompare) FE_ETA = Mid(parseLines(i), k1 + 2, 17) End If If InStr(k2, parseLines(i), ShipTo, vbTextCompare) > 0 Then j = i Do While parseLines(j) <> BillTo j = j + 1 Loop
  • 6. h = j - i j = 0 Ship_To = parseLines(i + 2) For j = 1 To h - 4 Step 1 Ship_To = Ship_To & "<br>" & parseLines(i + j + 2) Next j End If Next i 'Instantiate a Scripting.Dictionary object ' ========================================= 'http://stackoverflow.com/questions/3017852/vba-get-unique-values-from-array ' Set myDictionary_parts = CreateObject("Scripting.Dictionary") 'alternatively: Set myDictionary_parts = New Scripting.Dictionary ' Set myDictionary_qtys = CreateObject("Scripting.Dictionary") '********************************************** ' For i = LBound(PartNumber) To UBound(PartNumber) ' myDictionary_parts(PartNumber(i)) = 1 ' Next i ' i = 0 ' For Each uniquePNs In myDictionary_parts.Keys() 'myDictionary.Keys() is a Variant array of the unique values in the uniquePNs array. 'uniquePNs will iterate through each of them. ' ReDim Preserve filtered_PN_List(i) ' filtered_PN_List(i) = uniquePNs ' i = i + 1 ' Next uniquePNs '********************************************************************* ' search for unique ETA's (Estimated Time of Arrival) in a dictionary: '********************************************************************* Set myDictionary_etas = CreateObject("Scripting.Dictionary") For i = LBound(PartETA) To UBound(PartETA) myDictionary_etas(PartETA(i)) = 1 Next i
  • 7. i = 0 For Each uniqueETAs In myDictionary_etas.Keys() 'myDictionary.Keys() is a Variant array of the unique values in the uniquePNs array. 'uniquePNs will iterate through each of them. ReDim Preserve filtered_ETA_List(i) filtered_ETA_List(i) = uniqueETAs i = i + 1 Next uniqueETAs '****************************************************************** ' now let's take unique ETA's and create ETA line for the template: '****************************************************************** If Cust_Rf_Num <> "" Then Cust_Rf_Num = "Customer Reference Number: " & Cust_Rf_Num End If For i = 0 To UBound(filtered_ETA_List) If i = 0 Then ETA_text = filtered_ETA_List(i) End If If i > 0 Then ETA_text = ETA_text & ", " & filtered_ETA_List(i) End If Next i '****************************************************************** For i = 0 To UBound(PartNumber) If UBound(PartNumber) = 0 Then PN_text = PN_text & PartNumber(i) Qty_text = QtyAuth(i) End If If UBound(PartNumber) > 0 Then If i = 0 Then PN_text = PartNumber(i) Qty_text = QtyAuth(i)
  • 8. End If If i > 0 Then PN_text = PN_text & ", " & PartNumber(i) Qty_text = Qty_text & ", " & QtyAuth(i) End If End If Next i If FE_ETA <> "" Then If PartNumber(0) <> "" Then template_1 = "<FONT FACE=""Arial"", SIZE=""-1"">Dear Customer,<br><br>" & _ "I am writing to you regarding RMA " & RMA_SVO_no & ", " & Cust_Rf_Num & "<br><br>" & _ "I would like to inform you that the requested part: " & PN_text & " (quantity: " & Qty_text & ") will be onsite on " & ETA_text & " local time.<br><br>" & _ "The shipping address is:<br>" & _ Ship_To & "<br><br>" & _ "The field engineer, XXXXX , will be attending the site on " & FE_ETA & " local time.<br><br>" & _ "Please do not hesitate to contact me should you need any further assistance.</FONT><br>" strbody = template_1 Else template_3 = "<FONT FACE=""Arial"", SIZE=""-1"">Dear Customer,<br><br>" & _ "I am writing to you regarding RMA " & RMA_SVO_no & ", " & Cust_Rf_Num & "<br><br>" & _ "The field engineer, XXXXX , will be attending the site on " & FE_ETA & " local time.<br><br>" & _ "The shipping address is:<br>" & _ Ship_To & "<br><br>" & _ "Please do not hesitate to contact me should you need any further assistance.</FONT><br>" strbody = template_3 End If Else template_2 = "<FONT FACE=""Arial"", SIZE=""-1"">Dear Customer,<br><br>" & _
  • 9. "I am writing to you regarding RMA " & RMA_SVO_no & ", " & Cust_Rf_Num & "<br><br>" & _ "I would like to inform you that the requested part: " & PN_text & " (quantity: " & Qty_text & ") will be onsite on " & ETA_text & " local time.<br><br>" & _ "The shipping address is:<br>" & _ Ship_To & "<br><br>" & _ "Please do not hesitate to contact me should you need any further assistance.</FONT><br>" strbody = template_2 End If End Sub Outlook – module 3: Option Explicit Function GetBoiler(ByVal sFile As String) As String Dim fso As Object Dim ts As Object Set fso = CreateObject("Scripting.FileSystemObject") Set ts = fso.GetFile(sFile).OpenAsTextStream(1, -2) GetBoiler = ts.readall ts.Close End Function '=============================================== ' SEND MAIL + ATTACH A SIGNATURE TO A MESSAGE '=============================================== Sub Send_Mail_With_Signature_Html(DisplayMsg As Boolean, parseLines) Dim OutApp As Object Dim OutMail As Object Dim objRecipient As Object Dim strbody, SR_num As String Dim SigString As String Dim Signature As String Set OutApp = Outlook.Application Set OutMail = OutApp.CreateItem(olMailItem)
  • 10. OutMail.BodyFormat = olFormatHTML Call composeBody(strbody, SR_num) 'Change Ales Vymyslicky, Cisco Logistics.htm to the name of your signature 'Environ Function - Environ({envstring | number}) - Returns the String associated with an operating system environment variable SigString = Environ("appdata") & "MicrosoftSignaturesAles Vymyslicky, Cisco Logistics.htm" If Dir(SigString) <> "" Then Signature = GetBoiler(SigString) Else Signature = "" End If On Error Resume Next With OutMail .SentOnBehalfOfName = "avymysli@cisco.com" ' Add the To recipient(s) to the message. Set objRecipient = .Recipients.Add("Nancy Davolio") objRecipient.Type = olTo ' Add the CC recipient(s) to the message. Set objRecipient = .Recipients.Add("Michael Suyama") objRecipient.Type = olCC ' Add the BCC recipient(s) to the message. ' Set objRecipient = .Recipients.Add("Andrew Fuller") ' objRecipient.Type = olBCC ' Set the Subject, Body, and Importance of the message. .Subject = "SR " & SR_num '.Body = "This is the body of the message." & vbCrLf & vbCrLf .HTMLBody = strbody & "<br>" & Signature .Importance = olImportanceHigh 'High importance ' Resolve each Recipient's name.
  • 11. For Each objRecipient In .Recipients objRecipient.Resolve Next ' Should we display the message before sending? If DisplayMsg Then .Display Else .Save .Send End If End With On Error GoTo 0 Set OutMail = Nothing Set OutApp = Nothing End Sub '================================================ 'Where is the Image that I have in my signature ? '================================================ 'When you use the example above and you have a picture in your html signature you will notice when 'you send the mail with VBA code the picture will not show up in the mail body. 'Problem seems to be the path to the pictures in the HTML code. ' ' Follow the steps below to send a signature with an image: ' '1: Close Outlook ' '2: Go to the htm file created by Outlook ' ' Vista and Windows 7 : 'C:UsersAlesAppDataRoamingMicrosoftSignatures ' ' Windows XP:
  • 12. 'C:Documents and SettingsAlesApplication DataMicrosoftSignatures ' 'Note: Ales is the User name 'Note: AppData or Application Data are hidden folders ' (Change the view in Windows explorer so it show hidden files and folders) ' ' '3: Open the signature file created by the Outlook named "Mysig.htm" with Notepad. ' 'Look for something inside the Mysig.htm file(bottom of the file), like: ' ' src = "Mysig_files/image001.png" ' ' src = "Mysig_files/image002.jpg" ' ' Replace the short path to both files to the full path: ' 'src = "C:UsersAlesAppDataRoamingMicrosoftSignaturesMysig_filesimage001.png" ' 'src = "C:UsersAlesAppDataRoamingMicrosoftSignaturesMysig_filesimage002.jpg" ' ' '4: Save and close the signature file. ' '5: Run the macro again to see if you see the picture in your signature Outlook – module 6: Option Explicit Public Sub StartOnPointedItem() Dim strID As String Dim olNS As Outlook.NameSpace Dim msg As Outlook.MailItem Dim bodyText As Variant Dim subjText As String Dim intWait As Byte
  • 13. Dim objItem As Object Dim objMail As Object Const SVOStatus_01 = "CCO: Service Order Status for" Const SVOStatus_02 = "Service Order Status for" Set objItem = GetCurrentItem() Set msg = objItem On Error Resume Next bodyText = msg.Body If bodyText = "" Then Do While bodyText = "" ' Slow the processing down a bit before trying again For intWait = 1 To 100 DoEvents Next ' Trying again bodyText = msg.Body Loop End If subjText = msg.Subject If InStr(1, subjText, SVOStatus_01) > 0 Or InStr(1, subjText, SVOStatus_02) > 0 Then 'Split Function: Returns a zero-based, 1-D array containing a specified number of substrings 'tokenize each line of the email parseLines = Split(msg.Body, vbCrLf) Call Send_Mail_With_Signature_Html(True, parseLines) End If Set objItem = Nothing Set objMail = Nothing End Sub Function GetCurrentItem() As Object Dim objApp As Outlook.Application Set objApp = Application On Error Resume Next
  • 14. Select Case TypeName(objApp.ActiveWindow) Case "Explorer" Set GetCurrentItem = objApp.ActiveExplorer.Selection.item(1) Case "Inspector" Set GetCurrentItem = objApp.ActiveInspector.CurrentItem Case Else End Select End Function