Javascript 在google文档文件中找不到函数错误
我知道一些JS,并且我对MSO的VBA脚本有相当多的经验,但我刚刚开始学习如何编写google文档,我在google脚本环境中遇到了困难 我在我的谷歌硬盘上创建了一个文档,我试图在代码中记录输出,但是当我得到错误类型时,我得到了一个错误错误错误:在object Excel下载宏日志文件中找不到函数getBody。(第56行,文件“代码”)当我尝试运行此代码时:Javascript 在google文档文件中找不到函数错误,javascript,google-apps-script,Javascript,Google Apps Script,我知道一些JS,并且我对MSO的VBA脚本有相当多的经验,但我刚刚开始学习如何编写google文档,我在google脚本环境中遇到了困难 我在我的谷歌硬盘上创建了一个文档,我试图在代码中记录输出,但是当我得到错误类型时,我得到了一个错误错误错误:在object Excel下载宏日志文件中找不到函数getBody。(第56行,文件“代码”)当我尝试运行此代码时: function logDataFromCode() { var LogDoc = DriveApp.getFilesByName
function logDataFromCode() {
var LogDoc = DriveApp.getFilesByName('Excel Download Macro Log File').next();
// Access the body of LogDoc, then add a paragraph with relevant data from script:
LogDoc.getBody()
.appendPageBreak()
.appendParagraph("[put variables to log here]");
}
有人能解释一下我为什么会出现这个错误吗?您的变量
LogDoc
是一个文件,但您希望它是一个文档
转换它的最佳方法是获取它的id,然后使用DocumentApp
访问它以打开它
像这样:
var LogFile = DriveApp.getFilesByName('Excel Download Macro Log File').next();
var LogDoc = DocumentApp.openById(LogFile.getId());
// Access the body of LogDoc, then add a paragraph with relevant data from script:
LogDoc.getBody()
您的变量LogDoc
是一个文件
,但您希望它是一个文档
转换它的最佳方法是获取它的id,然后使用DocumentApp
访问它以打开它
像这样:
var LogFile = DriveApp.getFilesByName('Excel Download Macro Log File').next();
var LogDoc = DocumentApp.openById(LogFile.getId());
// Access the body of LogDoc, then add a paragraph with relevant data from script:
LogDoc.getBody()
之所以出现此错误,是因为getFilesByName(“name”)返回的类。next()
的类型不是
解决方案是使用DriveApp
中的文件
通过DocumentApp
显式打开文档
:
var LogDoc, files = DriveApp.getFilesByName("the file name");
if(files.hasNext()) {
LogDoc = DocumentApp.openById(files.next().getId());
} else {
// No files matched the name supplied to DriveApp
return;
}
之所以出现此错误,是因为getFilesByName(“name”)返回的类。next()
的类型不是
解决方案是使用DriveApp
中的文件
通过DocumentApp
显式打开文档
:
var LogDoc, files = DriveApp.getFilesByName("the file name");
if(files.hasNext()) {
LogDoc = DocumentApp.openById(files.next().getId());
} else {
// No files matched the name supplied to DriveApp
return;
}
如果您记录LogDoc
,它是什么类型的对象?只需运行Logger.log(LogDoc)
您是否尝试强制转换它?看起来LogDoc
是一个文件
而您想要一个文档
,请尝试调用((文档)LogDoc).getBody()
它会给您带来什么错误?演员阵容似乎不起作用,哼。尝试var doc=DocumentApp.openById(LogDoc.getId());doc.getBody()
?如果您记录LogDoc
,它是什么类型的对象?只需运行Logger.log(LogDoc)
您是否尝试强制转换它?看起来LogDoc
是一个文件
而您想要一个文档
,请尝试调用((文档)LogDoc).getBody()
它会给您带来什么错误?演员阵容似乎不起作用,哼。尝试var doc=DocumentApp.openById(LogDoc.getId());doc.getBody()
?