首页 文章

如何通过从Linux远程复制CSV文件和远程运行VBA宏来创建excel文件

提问于
浏览
0

我正在Linux上运行一些产生某些CSV的任务 . 一旦它们生成,我需要将它们复制到excel文件的不同表中,然后运行一些VBA宏来生成报告 . 由于这必须每天多次完成(没有预先定义/固定的时间表),我想自动化它 .

以下是我尝试的内容:我编写了一个VBScript,它接收CSV文件和其他所需的输入文件,打开excel文件,将CSV复制到excel中,运行一些VBA宏,然后保存并关闭结果 . 在Windows服务器上本地触发时,此VBScript工作正常 .

我上传了一个更简单的文件版本here,这有点澄清了我的要求(注意我需要运行的宏比这里的宏要复杂得多(~500行)) . 存档中有四个文件:

  • Template.xlsm:要将数据粘贴到的报告的Excel模板

  • Input_Sheet2.csv:要粘贴到模板中的输入数据到表2中

  • Input_Sheet3.csv:要粘贴到模板中的输入数据到表3中

  • Run.vbs:触发Excel模板中存在的“复制 - 粘贴”宏的vbscript .

运行VBScript的命令是:'cscript // Nologo Run.vbs / NoCancel'

现在,为了自动完成整个任务,我想通过ssh从Linux远程触发这个VBScript . 我在windows框中安装了cygwin ssh守护进程,并促进了Linux机器的ssh连接 . 这个来自Linux的cygwin ssh连接允许运行多个Windows命令,但无法运行VBScript并且不会产生任何excel输出 .

我无法弄清楚哪个组件有局限性 . 是不是cygwin ssh不能促进VBScript的执行?是VBScript无法远程创建文件吗?是不是Linux上的ssh客户端不允许在GUI格式中打开excel?或者还有另一种从Linux自动执行此任务的方法 .

谢谢,

Shubham

1 回答

  • 0

    我专注于:

    • 您是否测试过从Cygwin终端运行脚本? (我确实尝试了一个简单的脚本,成功打开了Execl(.Visible = True),所以我相信你对cygwin不允许打开Excel GUI的担心是不必要的) .

    • sshd用户帐户的路径和cwd是否允许短调用"cscript Run.vbs"或者是否应该使用长版本"/cygdrive/c/WINDOWS/system32/cscript.exe /home/user/Run.vbs"?

    • sshd用户是否具有对所有涉及的文件和文件夹的访问权限?

    • 您没有忘记unix文件系统区分大小写? (我曾经浪费过一段时间)?

相关问题