簡體   English   中英

從 Access 2016 命令按鈕執行 R 腳本的問題

[英]issue with R script execution from Access 2016 command button

我正在嘗試從 Access 2016 命令按鈕執行 R 腳本。 該腳本讀入一個文件並從文件中的值生成一個繪圖。 當我從 Windows 10 命令行運行它時,它運行良好,如下所示:

C:\Program Files\R\R-3.3.2\bin>Rscript --vanilla H:\R\analyze.R H:\R\LCH_22.vcf

我想從 Access 2016 中的按鈕執行 R 腳本。

這是我正在使用的 vba 腳本:

Dim file_path As String

file_path = "H:\R\LCH_22.vcf"

Dim RetVal
RetVal = shell("""C:\Program Files\R\R-3.3.2\bin\Rscript.exe"" --vanilla ""H:\R\analyze.R"" ""H:\R\LCH_22.vcf""", vbHide)

MsgBox RetVal

腳本執行但生成空白圖。 它具有所有軸和標簽,但缺少所有數據。 我不確定為什么會這樣。

跟進我已經用vbHide替換了vbNormalFocus並且能夠生成一個帶有數據的圖......是的! 但是,我不明白為什么將變量替換為 Shell 命令不起作用。 有人可以解釋如何正確完成此操作嗎? 我將從 Access 中的表單中讀取文件名,這部分代碼必須是動態的(請參閱下面我的嘗試示例)。

Dim file_path
file_path = "C:\R\DNA.vcf"
Dim RetVal
RetVal = shell("""C:\Program Files\R\R-3.3.2\bin\Rscript.exe"" --vanilla ""C:\R\analyze.R"" "" & file_path & """, vbNormalFocus)

非常感謝您提前提供幫助。

只需在file_path周圍再添加一對引號:

Dim file_path As String
Dim RetVal As Integer

file_path = "C:\R\DNA.vcf"

RetVal = shell("""C:\Program Files\R\R-3.3.2\bin\Rscript.exe"" --vanilla "_
               & """C:\R\analyze.R"" """ & file_path & """", vbNormalFocus)

暫無
暫無

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

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