把在线表格当成在线剪贴板来用

wils
wils

创作者俱乐部成员

今天的问题是,实现个简单的在线剪贴板,可以在不同电脑间复制粘贴内容。

在一台电脑上按ctrl+shift+c复制选中范围

在另一台电脑上按ctrl+shift+v粘贴内容

其实就是两个宏,最简单的利用在线表格的令牌,读写内容🤣

💡

function remotecopy()

{

let a = JSON.stringify(Selection.Value2)

fetch('https://www.kdocs.cn/api/v3/ide/file/xxx/script/yyy/sync_task', {

method: "POST",

headers: {

"AirScript-Token": "zzz",

},

body: `{"Context":{"argv":{"a":${a}}}}`

}).then(r=>r.text()).then(console.log)

}

function remotepaste()

{

fetch('https://www.kdocs.cn/api/v3/ide/file/xxx/script/yyy/sync_task', {

method: "POST",

headers: {

"AirScript-Token": "zzz",

},

body: `{"Context":{"argv":{"a":[]}}}`

}).then(r=>r.json()).then(x=>{

let a = x["data"]["result"]

Selection.Resize(a.length, a[0].length).Value2 = a

})

}

代码中的xxx、yyy、zzz要改成对应的在线表格的令牌

然后需要设置这两个宏的快捷键


在线表格的脚本如下

👋

let a = Context.argv.a

if (a.length > 0) {

ActiveSheet.UsedRange.ClearContents()

let e = ActiveSheet.Range("A1").Offset(a.length - 1, a[0].length - 1).Address()

ActiveSheet.Range("A1:" + e).Value2 = a

return

}

return ActiveSheet.UsedRange.Value2

刚接触电脑时就曾经尝试,在一台机器上复制,到另一台上粘贴,结果当然是可耻的失败了😂

写的比较粗糙,很多地方需要改进,不过bug终究是运行起来了

海南省
浏览 292
1
6
分享
6 +1
4
1 +1
全部评论 4
 
麦宇哲
不错哦
· 北京
1
回复
 
懒得批爆
懒得批爆

创作者俱乐部成员

好像水果就可以这么操作吧,在MacOS上复制后,在iPad上粘贴也可以。
· 四川省
1
回复
 
清华学弟任泽岩
清华学弟任泽岩

创作者俱乐部成员

哇哦你终于解决了隔空复制,厉害了!!
· 辽宁省
2
回复
wils
wils

创作者俱乐部成员

感谢老师捧场
· 海南省
回复