【问题标题】:Shiny application not working on Shinyapps.io闪亮的应用程序无法在 Shinyapps.io 上运行
【发布时间】:2016-06-15 08:56:12
【问题描述】:

我在闪亮的应用程序中有一段 R 代码,它基本上触发了一个在 excel 中运行宏的 shell 脚本:

path_to_vbs_file = "www/Macro_Trigger.vbs"
shell(shQuote(normalizePath(path_to_vbs_file)), "cscript", flag = "//nologo")

.vbs 代码是:

Option Explicit

ExcelMacroExample

Sub ExcelMacroExample() 

  Dim xlApp 
  Dim xlBook 
  Dim fso
  Dim curDir

  Set xlApp = CreateObject("Excel.Application") 
  Set fso = CreateObject("Scripting.FileSystemObject")
  curDir = fso.GetParentFolderName(wscript.ScriptFullName) 
  Set xlBook = xlApp.Workbooks.Open(curDir & "\KPI_Report.xlsm", 0, False) 
  xlApp.Application.Visible = False
  xlApp.DisplayAlerts = False
  xlApp.Run "ConvertTextToNumber"
  xlApp.ActiveWorkbook.SaveAs curDir & "\KPI_Report.xlsm"

  xlApp.ActiveWorkbook.Close
  xlApp.Quit

  Set xlBook = Nothing 
  Set xlApp = Nothing 

End Sub 

代码在本地 Windows 操作系统上运行良好,但在 shinyapps.io 服务器上失败。我尝试使用系统命令而不是 shell:

path_to_vbs_file = "www/Macro_Trigger.vbs"
system(shQuote(normalizePath(path_to_vbs_file)), intern = FALSE)

但这无济于事:(

【问题讨论】:

  • 我怀疑 vbs 代码不会在 shinyapps.io 上运行,因为服务器运行的是 Linux 操作系统。
  • 感谢您的回复。有没有其他方法可以实现我的目标?
  • 我认为你需要使用RExcel 或类似的东西来实现R中的VBS代码功能。

标签: r shell shiny-server shiny shinydashboard


【解决方案1】:

shinyapps.io 运行 Linux,因此不幸的是,执行 VBS 脚本无法正常工作。我的建议是将您的 Excel 宏移植到纯 R 代码。

【讨论】:

    猜你喜欢
    • 2018-02-03
    • 2019-09-03
    • 2020-04-16
    • 2019-04-24
    • 2013-07-08
    • 2021-05-01
    • 1970-01-01
    • 2020-07-02
    • 2021-07-20
    相关资源
    最近更新 更多