【问题标题】:VBScript from outlook to Create files/folders on network driveVBScript 从 Outlook 到在网络驱动器上创建文件/文件夹
【发布时间】:2014-03-30 03:32:14
【问题描述】:

我在这里的第一篇文章,但我已经潜伏了很长时间。我正在为一家公司工作,该公司使用 Outlook 的 VB 来宏化他们从自定义任务表单中所做的一切。好吧,我想通过激活一个 sub 来补充这一点:

  1. 在我们的本地服务器/网络驱动器上创建一个文件夹(每个人都有权限)
  2. 将文件和文件夹从预制的“模板”文件夹复制到新目标
  3. 用变量名重命名新目录中的文件

目前我在:

Dim     fso
Dim     sourceFol
Dim     DestFol
Dim     variable1
Dim     variable2

Set fso = CreateObject("Scripting.FileSystemObject")
If ClientCode = "1" Then
    sourceFol = "\\S:\sourcepath"
    DestFol = "\\S:\destination\"& variable1 &" - "& variable2                                              
    ElseIf ClientCode = "2" Then
    sourceFol = "\\S:\sourcepath"
    DestFol = "\\S:\destination\"& variable1 &" - "& variable2                                              
        ElseIf ClientCode = "3" Then
        sourceFol = "\\S:\sourcepath"
        DestFol = "\\S:\destination\"& variable1 &" - "& variable2          
End If

If Error Then
    WScript.Echo "Error: " & Err.Number
    WScript.Echo "Source: " &  Err.Source & "Description:" & Err.Description
    Err.Clear
    Else
    'Cancel
End If

唯一的问题是我没有从中得到任何东西,没有反应,没有错误,没有从我所看到的东西中思考。看到这只是我名单上的第一名,我什么也没得到,这非常令人沮丧。在这种情况下,有人有什么好的提示、指示或要检查的东西吗?谢谢。

【问题讨论】:

  • 下一步删除错误简历并重新运行。您没有在任何地方处理错误,这就是为什么您不知道它们是什么。
  • 你的路径应该看起来像\\Server\sourcepath
  • Else If 是您的问题之一。 VB 语言使用ElseIf 代替。但我同意内森的观点。禁用On Error Resume Next。在本节中根本不需要它。
  • 否则,如果应该生成一个不可忽略的语法错误。回显 err.number 因为你的程序只有在它是 53 时才做某事(并且在得到一个 err.number 之后你必须去 err.clear)所以如果 76 你的程序将静默失败(因为你的错误可能是 Path Not Found 76 )。
  • 所以我编辑了我的代码以反映你们在这里告诉我的内容,但我仍然得到同样的东西,什么也没有。我的其他脚本已经成功打开了服务器上的文件,编辑了excel单元格,保存了,关闭了,所以我知道访问服务器和修改的那一侧至少没有问题。另外,目的地是否为“\\server:\path”似乎并不重要

标签: vb.net vba vbscript outlook


【解决方案1】:

这段代码需要很长的路要走。但这里是代码的修订版,因此您可以获得输出。

Dim     fso
Dim     sourceFol
Dim     DestFol
Dim     variable1
Dim     variable2
Dim     result

Set fso = CreateObject("Scripting.FileSystemObject")
If ClientCode = "1" Then
    sourceFol = "\\S:\sourcepath"
    DestFol = "\\S:\destination\"& variable1 &" - "& variable2                                              
    result = "Succeeded in string set: 1"
ElseIf ClientCode = "2" Then
    sourceFol = "\\S:\sourcepath"
    DestFol = "\\S:\destination\"& variable1 &" - "& variable2                                              
    result = "Succeeded in string set: 2"
ElseIf ClientCode = "3" Then
    sourceFol = "\\S:\sourcepath"
    DestFol = "\\S:\destination\"& variable1 &" - "& variable2
    result = "Succeeded in string set: 1"
Else
    result = "Client Code did not match comparison results [" & ClientCode & "]"
End If

If Err.Number<>0 Then
    WScript.Echo "Error: " & Err.Number
    WScript.Echo "Source: " &  Err.Source & "Description:" & Err.Description
    Err.Clear
Else
    wscript.echo result
End If

【讨论】:

  • 感谢您提供 Err 部分的视觉效果,但是我仍然没有得到任何输出,而且我觉得我在某处犯了一些新手/愚蠢的错误......我有声明的所有内容,将使用的按钮的 cmd_click() 选项,但仍然没有得到响应。
  • 你是直接在outlook宏字段里编程的吗?
  • 这些在自定义任务表单中使用,由可点击按钮引导。它们也可以从宏按钮运行。我现在确实用一种不同的方法解决了这个问题。我现在的麻烦在于将文件夹中的文件移动和重命名。
  • 很高兴您能解决这个问题。很抱歉我们不能更好地为您提供帮助。您可以在此处找到有关文件移动的一些方向:msdn.microsoft.com/en-us/library/2wcf3ba6(v=vs.84).aspx ....注意:移动命令允许在移动时重命名。 "c:\originalfolder\oldfilename.txt", "C:\newfolderlocation\newfilename.txt"
【解决方案2】:
Dim fso
Dim clientcode
Dim variable1
Dim variable2
Dim Folder

ClientCode = Trim(Item.UserProperties("Client"))

If ClientCode = "1" Then
    folder = "R:\path"& variable1 &"-"& variable2
    ElseIf ClientCode = "2" Then
    folder = "R:\01 - CHA\"& variable1 &"-"& variable2
        ElseIf ClientCode = "3" Then
        folder = "R:\03 - REOR\"& variable1 &"-"& variable2
End if

Set fso = CreateObject("Scripting.FileSystemObject")
    If Not fso.FolderExists(folder) Then
        fso.CreateFolder (folder)
        MsgBox "Folder Successfully Created and Named"
    Else
        MsgBox folder & " already exists!", vbExclamation, "Folder Exists"
    End If

【讨论】:

    猜你喜欢
    • 2013-11-06
    • 1970-01-01
    • 2012-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-09
    相关资源
    最近更新 更多