Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
谷歌电子表格“;“文件名”;导入XML XPath查询_Xpath_Google Apps Script_Google Sheets_Custom Function_Google Sheets Importxml - Fatal编程技术网

谷歌电子表格“;“文件名”;导入XML XPath查询

谷歌电子表格“;“文件名”;导入XML XPath查询,xpath,google-apps-script,google-sheets,custom-function,google-sheets-importxml,Xpath,Google Apps Script,Google Sheets,Custom Function,Google Sheets Importxml,我想在Google电子表格中编写一个ImportXML函数,以返回同一电子表格的文档名。例如,我的电子表格标题为“泡菜”。我想在单元格“A1”中返回该名称,以便根据文档名称自动执行电子表格中的一系列功能。我太懒了,无法为我将从原始模板复制并重命名的大约一百个电子表格中的每一个在单元格中键入值 我似乎无法确定正确的查询结构 这一点XML看起来很有希望,但我似乎无法让查询拉动它: <span class="docs-title" id="docs-title" role="button">

我想在Google电子表格中编写一个ImportXML函数,以返回同一电子表格的文档名。例如,我的电子表格标题为“泡菜”。我想在单元格“A1”中返回该名称,以便根据文档名称自动执行电子表格中的一系列功能。我太懒了,无法为我将从原始模板复制并重命名的大约一百个电子表格中的每一个在单元格中键入值

我似乎无法确定正确的查询结构

这一点XML看起来很有希望,但我似乎无法让查询拉动它:

<span class="docs-title" id="docs-title" role="button"><div class="docs-title-inner" id="docs-title-inner">kimchi</div></span>
它返回

Error: Imported Xml content can not be parsed.
我尝试过各种各样的变化,有些可能同样糟糕。以下是一些看起来很有趣的XML结构:

<html>
  <head>
     <title>kimchi - Google Sheets</title>
它回来了

Error: Import Internal Error.
我被难住了

PS在我与全世界分享了该文件后,该文件终于起到了作用:

=ImportXml("THE URL", "//meta[@itemprop='name']/@content")

你不必做这些。 转到
工具
->
脚本编辑器
->
空白项目

用以下代码替换编辑窗口的内容:

function BookName() {
  return SpreadsheetApp.getActiveSpreadsheet().getName();
}
Ctrl-S
,将
BookName
放在名称框中,单击确定,等待黄色的“保存”栏消失。使用代码编辑器关闭选项卡


在您的工作表中,您现在只需键入
=BookName()
,单元格将显示工作簿标题。

好吧,我无法解释这一点,但我之前尝试过的一种变体突然开始在电子表格中工作。我只是把它输入了另一个单元格,然后宾果就出来了。这是赢家。。。importxml(“URL”,“//meta[@itemprop='name']/@content”)。我想我知道是什么解锁了它:我将文档共享给了全世界,这样我就可以在本文中发布链接。这一定是一件好事。现在我有一个新问题。我如何保持文档的私密性并使查询仍然有效?@boywick,您是否能够找到一个解决方案,而无需将该文件共享给任何具有链接的人?当然,这并不是说XPath odyssey不好玩,但这更优雅,并打开了更多的可能性。感谢您向我介绍脚本工具user3616725!您好@user3616725,我们是否可以通过单元格中的链接而不仅仅是活动单元格中的链接获取电子表格的名称?
=ImportXml("THE URL", "//meta[@itemprop='name']/@content")
function BookName() {
  return SpreadsheetApp.getActiveSpreadsheet().getName();
}