我有这个Unix命令
cat /dataops/profits/name.csv
我可以将其保存到.txt
文件并通过VBA宏运行,然后自动将结果返回到我的Excel电子表格中吗?
答案 0 :(得分:0)
最难的部分是将文件从Unix盒子传送到Windows计算机。您有几种不同的方法:
1)这是纯粹的VBA方法。您需要从here下载名为plink的Putty的免费命令行版本。在这种方法中,您将在命令行上传输数据并将数据传输到本地文本文件中。
cmd = "C:\MyUtilities\plink.exe -pw PASSWORD USERNAME@IPADDRESS cat /dataops/profits/name.csv"
Set datafile = CreateObject("Scripting.FileSystemObject").CreateTextFile("c:\name.csv", True)
Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec(cmd)
Do While oExec.Status = 0
If Not oExec.StdOut.AtEndOfStream Then
datafile.WriteLine oExec.StdOut.Readall
End If
Loop
datafile.Close
2)另一种方法是运行Windows计划任务批处理文件,该文件使用FTP传输文件,如here所述。我个人认为这是你最好的选择,因为VBA代码可以专注于加载文件,而不是连接到Unix并获取文件。
3)如果您在Unix服务器上为目录设置了Samba共享,那么您将能够从Windows中看到该目录并且可以去那里获取该文件。
在Windows计算机上安装文件后,您可以打开Excel并加载文件,如下所示:
Set xl = CreateObject("Excel.Application")
xl.Visible = True
Set wb = xl.Workbooks.Open("c:\name.csv")