使用VBA传递.Subject和.Body Outlook属性
我必须开发VB宏来从电子邮件在Oracle数据库中创建记录。我成功地创建了一个。它当前连接到数据库,并从宏中预定义的字段在数据库中创建记录。我要做一件事 我的脚本将从.subject和.body outlook属性中grep电子邮件主题和正文,并将其插入“p_descr”db列使用VBA传递.Subject和.Body Outlook属性,vba,Vba,我必须开发VB宏来从电子邮件在Oracle数据库中创建记录。我成功地创建了一个。它当前连接到数据库,并从宏中预定义的字段在数据库中创建记录。我要做一件事 我的脚本将从.subject和.body outlook属性中grep电子邮件主题和正文,并将其插入“p_descr”db列 Sub MainFlow() Dim cn As ADODB.Connection Dim cm As ADODB.Command Dim dbconnstring As String D
Sub MainFlow()
Dim cn As ADODB.Connection
Dim cm As ADODB.Command
Dim dbconnstring As String
Dim plsql As String
plsql = ""
Set cn = CreateObject("ADODB.Connection")
cn.ConnectionString = "DRIVER={ORA_VER};DBQ=HOST:PORT/SERVICE_NAME;UID=USER;PWD=PASSWORD"
cn.Open
MsgBox (cn.Version)
plsql = plsql & "declare "
plsql = plsql & " result tms.api.msg; "
plsql = plsql & "begin "
plsql = plsql & " dbms_output.enable; "
plsql = plsql & " result := tms.api.addtask_m(p_userid => 'XXXX', "
plsql = plsql & " p_activity => 'XXXX', "
plsql = plsql & " p_client => 'XXXX', "
plsql = plsql & " p_environment => 'XXXX', "
plsql = plsql & " p_product => 'XXXX', " 'correct Prod
plsql = plsql & " p_descr => 'XXXX', " 'very dangerous description, quotation marks - for example
plsql = plsql & " p_class => 'XXXX', " 'class task
plsql = plsql & " p_empl => 'XXXX', "
plsql = plsql & " p_owner => 'XXXX', "
plsql = plsql & " p_duedate => '07-OCT-2019'); " 'due date func
plsql = plsql & " dbms_output.put_line(result.txt); "
plsql = plsql & " dbms_output.get_line(:line, :status);"
plsql = plsql & "end;"
Set cm = New ADODB.Command
With cm
.ActiveConnection = cn
.CommandText = plsql
.CommandType = adCmdText
.Prepared = True
.Parameters.Append .CreateParameter("line", adVarChar, adParamOutput, 32000)
.Parameters.Append .CreateParameter("status", adInteger, adParamOutput, 32000)
.Execute , , adExecuteNoRecords
MsgBox (cm.Parameters("line").Value)
End With
cn.Close
'get current mail item
Set objItem = GetCurrentItem()
MsgBox (objItem.Subject)
'MsgBox (objItem.Body)
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
End Select
Set objApp = Nothing
End Function
VBScript、VB.NET或VBA宏?您已经设法提到了问题中的所有3个,但不清楚您实际上是在哪个环境中编写此代码的。请澄清。另外,您没有向我们提出问题、描述问题或提到错误。仅仅要求编写新代码并不是问题。我们不是来为你做所有的工作的,除非是很琐碎的。我们将帮助您解决问题,但不只是离开去做所有的思考。你研究了什么?你试过什么?你到底被困在哪里了?很抱歉没有给它下定义。我正在使用VBA宏。实际上,我需要做的是将电子邮件主题和正文插入特定的数据字段(p_descr)。我尝试了很多不同的方法来做到这一点,但每次都失败了。我试着做下一个:plsql=plsql&“p_descr=>'objItem.Subject',”但脚本只在数据库中插入objItem.Subject字符串,而不是我所期望的实际电子邮件主题。“我正在使用VBA宏”…然后请为您的问题设置一个适当的蓝色标记。NET是完全不同的。