outlook2007 运用规则 运行以下VBA代码
下面的这段代码没有办法在规则里面的‘运行脚本’中使用,帮忙看下有什么办法能把这段代码修改下,以便能够在‘运行脚本’中使用,谢谢。PrivateDeclareFunctio...
下面的这段代码没有办法在规则里面的‘运行脚本’中使用,帮忙看下有什么办法能把这段代码修改下,以便能够在‘运行脚本’中使用,谢谢。
Private Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Sub SaveandPrint()
Dim olApp As New Outlook.Application
Dim nmsName As Outlook.NameSpace
Dim fldFolder As Outlook.Folder
Dim vItem As Object
Set nmsName = olApp.GetNamespace("MAPI")
Set fldFolder = nmsName.GetDefaultFolder(olFolderInbox)
If fldFolder.UnReadItemCount > 0 Then
For Each vItem In fldFolder.Items
If vItem.UnRead = True Then
'-----保存附件-------
For Each att In vItem.Attachments
att.SaveAsFile "D:\123\" & att.FileName
'使用shell print打印文档
strFile = "D:\123\" & att.DisplayName '获取文件名
' 下一个文档
ReturnVal = ShellExecute(0&, "open", strFile, 0&, 0&, 0&) '需要打印则使用print
Next
'------保存附件--------
vItem.UnRead = False
End If
Next
End If
Set fldFolder = Nothing
Set nmsName = Nothing
End Sub 展开
Private Declare Function ShellExecute Lib "shell32.dll" _
Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Sub SaveandPrint()
Dim olApp As New Outlook.Application
Dim nmsName As Outlook.NameSpace
Dim fldFolder As Outlook.Folder
Dim vItem As Object
Set nmsName = olApp.GetNamespace("MAPI")
Set fldFolder = nmsName.GetDefaultFolder(olFolderInbox)
If fldFolder.UnReadItemCount > 0 Then
For Each vItem In fldFolder.Items
If vItem.UnRead = True Then
'-----保存附件-------
For Each att In vItem.Attachments
att.SaveAsFile "D:\123\" & att.FileName
'使用shell print打印文档
strFile = "D:\123\" & att.DisplayName '获取文件名
' 下一个文档
ReturnVal = ShellExecute(0&, "open", strFile, 0&, 0&, 0&) '需要打印则使用print
Next
'------保存附件--------
vItem.UnRead = False
End If
Next
End If
Set fldFolder = Nothing
Set nmsName = Nothing
End Sub 展开
1个回答
展开全部
你需要完成什么?还有代码不能运行是否有提示错误?或者是这段代码未能完成你的要求???
最头疼的就是,不说清楚自己需要完成什么功能,而是贴一段代码,让回答的人看半天,而且看的人搞半天,看了一段错的代码,也没理解楼主想要怎样。。。。
先补充问题,好像上次已经给你回答过类似的,好像是问怎么自动保存附件,给你签字了却不给分!!!
最头疼的就是,不说清楚自己需要完成什么功能,而是贴一段代码,让回答的人看半天,而且看的人搞半天,看了一段错的代码,也没理解楼主想要怎样。。。。
先补充问题,好像上次已经给你回答过类似的,好像是问怎么自动保存附件,给你签字了却不给分!!!
更多追问追答
追答
附件的格式呢?随机还是也有规律?
好歹先把上次的问题结一结
追问
附件都是EXCEL的,都是保存的xls格式。上面代码也是网上各种找的,这段代码我保存在了outlook的VBA中,但是新建规则的时候在‘运行脚本’选择里面没有可用的代码,所以才有了这个问题
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询