0

R で整理した重要なデータを既存のワークブック (xlsx ファイル) の既存のテーブルにしようとしています。データのキュレーションが完了した後、次のコードがあります。

file <- "U:/Reporting/Template-Business_Report.xlsx"

xlApp <- COMCreate("Excel.Application")
xlWbk <- xlApp$Workbooks()$Open(Filename = file)
Sys.sleep(1)
sheet <- xlWbk$Worksheets("DataSet")
range <- sheet$Range("Table1")
range[["Value"]] <- asCOMArray(table)
newfile <- paste(sub("Template", state, file),format(Sys.time(), format = "%y%m%d %H%M"))


xlWbk$Save()                  # save the workbook
xlWbk$SaveAS(Filename =asCOMArray(newfile))  # save as a new workbook
xlApp$Quit()

ただし、ファイル名に対して何をしても (以下に試した例を示します)、次のエラーが発生します。

Error in .COM(x, name, ...) : 
  Cannot locate 0 name(s) Workbooks in COM object (status = -2147418111)

ファイルは存在しますが、機能しません。(バックグラウンドで)開いているのではないかと思います。それがエラーをスローする理由ですが、閉じることもできません。

私も試します:

file <- "U:\\Template-Business_Report.xlsx"
file <- "Template-Business_Report.xlsx"

これと同様にxlWbk

xlWbk <- xlApp$Workbooks()$Open(Filename = file , 0, TRUE)

RDCOMClient がファイルを見つけられないのはなぜですか?

4

1 に答える 1