簡體   English   中英

如何通過復制CSV文件並從Linux遠程運行VBA宏來創建Excel文件

[英]How to create excel file by copying CSV files and running VBA macros remotely from Linux

我正在Linux上運行某些任務,該任務會生成某些CSV。 生成它們后,我需要將它們復制到excel文件的不同工作表中,然后運行一些VBA宏以生成報告。 由於此操作每天必須執行多次(沒有預先定義/固定的時間表),因此我想使其自動化。

這是我嘗試的方法:我編寫了一個VBScript,它接收CSV文件和其他所需的輸入文件,打開一個excel文件,將CSV復制到excel中,運行一些VBA宏,然后保存並關閉結果。 在Windows服務器上本地觸發時,此VBScript可以正常工作。

我已經上傳了此處涉及的文件的簡單版本,在某種程度上澄清了我的要求(請注意,與此處的宏相比,我需要運行的宏要復雜得多(〜500行))。 存檔中有四個文件:

  1. Template.xlsm:將數據粘貼到其中的報表的Excel模板
  2. Input_Sheet2.csv:將輸入數據粘貼到模板中的工作表2中
  3. Input_Sheet3.csv:將輸入數據粘貼到模板中的工作表3中
  4. Run.vbs:觸發Excel模板中存在的“復制粘貼”宏的vb腳本。

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

現在,為了使整個任務自動化,我想通過ssh從Linux遠程觸發此VBScript。 我將cygwin ssh守護程序安裝在Windows框中,並簡化了Linux機器的ssh連接。 來自Linux的cygwin ssh連接允許運行多個Windows命令,但無法運行VBScript,並且不會產生任何excel輸出。

我不知道哪個組件有局限性。 cygwin ssh是否不促進VBScript的執行? VBScript是否不便於遠程創建文件? Linux上的ssh客戶端是否不允許以GUI格式打開excel? 或者還有另一種方法可以從Linux自動執行此任務。

謝謝,

Shubham

我專注於:

  1. 您是否測試過從Cygwin終端運行腳本? (我確實嘗試了一個簡單的腳本,該腳本成功打開了Execl(.Visible = True),所以我相信您對cygwin不允許打開Excel GUI的擔心是不必要的)。
  2. sshd用戶帳戶的路徑和cwd是否允許短調用“ cscript Run.vbs”,還是應該使用長版本“ /cygdrive/c/WINDOWS/system32/cscript.exe /home/user/Run.vbs”?
  3. sshd用戶是否具有對所有涉及的文件和文件夾的訪問/許可?
  4. 您沒有忘記UNIX文件系統區分大小寫嗎? (我確實浪費了一些時間)?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM