2016-03-02 2 views
0

У меня есть кусок кода R в моем блестящем приложении, которое в основном запускает скрипт, который запускает макрос в Excel:Блестящей приложение не работает на Shinyapps.io

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. Я попытался с помощью системной команды вместо оболочки:

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

Но это не помогает :(

+1

Я подозреваю, что код vbs не будет запущен на shinyapps.io, поскольку сервер запускает операционную систему Linux. –

+0

Спасибо за ответ. Есть ли альтернативный способ, которым я могу достичь моя цель? –

+0

Я думаю, вам нужно использовать 'RExcel' или что-то подобное для реализации кодовых функций VBS в R. –

ответ

0

shinyapps.io работает Linux, поэтому выполняя VBS скрипт не будет работать, к сожалению, мое предложение было бы. для переноса макросов Excel в чистый R-код.

Смежные вопросы