Excel VBA - Shell命令文件创建

时间:2015-05-20 19:46:48

标签: java excel vba shell excel-vba

我有一个有趣的问题,当我将工作簿移动到映射的网络驱动器时,我才发现这个问题。我想做的是:

  1. 构建命令字符串
  2. 使用Shell()函数运行命令
  3. 运行创建.TXT文件的JAR文件
  4. 刷新数据连接TXT文件
  5. 我的代码有点笨拙,以便更容易更改传递的参数,但看起来像这样:

    Dim JavaPath, AppPath, URL, TPUser, TPPassword, ExeCommand, UserReport As String
    Dim Result As Double
    
    JavaPath = "java.exe -jar"
    AppPath = """" & ThisWorkbook.Path & "\tsreport.jar" & """"
    URL = "https://myurl.mywebpage.com"
    TPUser = "MY_USER_NAME"
    TPPassword = "MyPassword1"
    UserReport = "User"
    ExeCommand = JavaPath & " " & AppPath & " " & URL & " " & TPUser & " " & TPPassword & " " & UserReport
    
    ChDir ThisWorkbook.Path
    Result = Shell(ExeCommand, vbMinimizedNoFocus)
    ActiveWorkbook.Connections("userinfo").Refresh
    

    我遇到的问题是,当我将工作簿和JAR文件放在本地文件路径上的同一目录中时,这非常正常。第二个我将该目录移动到映射的网络位置(Y),它开始在我的文档中创建TXT文件而不是我正在工作的目录。当我从Excel外部的同一目录从命令提示符运行JAR文件时,它会将TXT文件放在正确的位置。

0 个答案:

没有答案