-1
我想爲outlook創建一個宏。用outlook message VB/VBA中的數據填寫web表單
我需要提取選定的電子郵件主題,行和身體,並預先填充網站上的3個文本字段與該數據。
我已經URL做到這一點(網站/ form.php的?name = XXX &主題= XXX &消息= XXXX)
要麼
宏從選擇中提取3場消息並建立預填充的鏈接以發送用戶。
宏登錄到所述站點並填寫表單上的數據。
我想爲outlook創建一個宏。用outlook message VB/VBA中的數據填寫web表單
我需要提取選定的電子郵件主題,行和身體,並預先填充網站上的3個文本字段與該數據。
我已經URL做到這一點(網站/ form.php的?name = XXX &主題= XXX &消息= XXXX)
要麼
宏從選擇中提取3場消息並建立預填充的鏈接以發送用戶。
宏登錄到所述站點並填寫表單上的數據。
我發現了!
http://developers.phpjunkyard.com/viewtopic.php?f=13&t=4241
你會在那裏找到我的代碼。
Sub HelpdeskNewTicket()
Dim helpdeskaddress As String
Dim objMail As Outlook.MailItem
Dim strbody As String
Dim oldmsg As String
Dim senderaddress As String
Dim addresstype As Integer
Dim ie As Object
Dim sResult As String
Dim dtTimer As Date
Dim lAddTime As Long
Set objItem = GetCurrentItem()
' Sender E=mail Address
senderaddress = objItem.SenderEmailAddress
'Searches for @ in the email address to determine if it is an exchange user
addresstype = InStr(senderaddress, "@")
' If the address is an Exchange DN use the Senders Name
If addresstype = 0 Then
senderaddress = objItem.SenderName
End If
Const sOVIDURL As String = "http://helpdesk.com/admin"
Const lREADYSTATE_COMPLETE As Long = 4
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.navigate sOVIDURL
dtTimer = Now
lAddTime = TimeValue("00:00:20")
Do Until ie.readystate = lREADYSTATE_COMPLETE And Not ie.busy
DoEvents
If dtTimer + lAddTime > Now Then Exit Do
Loop
ie.document.getElementById("user").Value = "yourusername"
ie.document.getElementById("password").Value = "yourpassword"
ie.document.forms(0).submit
Do Until ie.readystate = lREADYSTATE_COMPLETE And Not ie.busy
DoEvents
If dtTimer + lAddTime > Now Then Exit Do
Loop
ie.navigate "http://helpdesk.com/admin/new_ticket.php"
Do Until ie.readystate = lREADYSTATE_COMPLETE And Not ie.busy
DoEvents
If dtTimer + lAddTime > Now Then Exit Do
Loop
While ie.busy
DoEvents
Wend
ie.document.getElementById("name").Value = objItem.SenderName
ie.document.getElementById("subject").Value = objItem.Subject
ie.document.getElementById("message").Value = objItem.Body
dtTimer = Now
lAddTime = TimeValue("00:00:20")
Set ie = Nothing ' If you want to close it.
'Dim PageNumber As Object
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
我不明白這個問題。請儘量保持問題的簡短和重點 - 可能首先通過[常見問題](http://stackoverflow.com/faq#howtoask)滾動? –
您好,感謝您的輸入,我簡化了我的問題,希望我能得到讚賞! –
「我想爲Outlook創建一個宏」 - 什麼阻止你這麼做?什麼**確實**你有問題嗎? –