我已经打在砖墙我的头以下的可爱的难题:上传Excel电子表格,以谷歌表
的一点是让从Excel到谷歌表数据,而无需上传文件,而是通过去网址。下面轻易解释所有的企业如何蒸腾作用:
https://www.youtube.com/watch?v=mX2_XNYPGiI http://ramblings.mcpher.com/Home/excelquirks/exceldocsintegration/excelsheetsv4
我试着去适应下面的代码的东西VBA侧,共同为这两个例子:
Option Explicit
Sub GetDataFromGoogle()
'link to tutorial: https://www.youtube.com/watch?v=mX2_XNYPGiI
Dim link As String
link = "https://docs.google.com/spreadsheets/d/e/2PACX-1vSes7Jb06JRy8KSFyNlpUSzNQxSB_HZay4S8AB2IqzpZP0QdwGO5PFSS-6uzd8v_GsjlkXM31pby2jE/pubhtml"
Sheet4.QueryTables(1).Connection = "URL;" & link
Sheet4.QueryTables(1).Refresh False
Sheet4.Columns(1).ColumnWidth = 10
End Sub
Sub PushDataToGoogle()
Dim link As String
link = "https://docs.google.com/forms/d/e/1FAIpQLSeDHEKJmRDynwOAS4g53T9AVMtpXQkWsRGbAzLpLI7rdsbiFA/formResponse?entry.1155739640=4&fvv=1&draftResponse=%5B%5B%5Bnull%2C1155739640%2C%5B%224%22%5D%0D%0A%2C0%5D%0D%0A%5D%0D%0A%2Cnull%2C%2276341394568976993%22%5D%0D"
'go to that link, refresh it and ensure that the first column isn't too narrow
sheets("Sheet4").QueryTables(1).Connection = "URL;" & link
sheets("Sheet4").QueryTables(1).Refresh True
sheets("Sheet4").Columns(1).ColumnWidth = 10
End Sub
在在Google表格方面,我使用表格来创建电子表格,该电子表格既是Excel导入的数据源,也是数据导出的目的地。在表单页面的HTML中重新定位POST和GET是获取目标URL的方式。随后,该URL可以是硬编码的或与变量以获得各种输入所编辑的“条目。######”的URL的一部分,然后将它们传递给片材中的下一个可用线路,这将适合我的目的。
我碰钉子(S)与所述操作的OAuth2一部分。从桌面上的解放位点(上述第二连杆)的例子中,从谷歌创建的证书,然后插入到用于认证发送所述数据之前的连接的代码。因此:
Private Function sheetsOnceOff()
getGoogled "sheets", , _
"1023445954023-hq8gkdcmo9sue822d23gy9ak5hmun27.apps.googleusercontent.com", _
"dX7ABCDEGFBETFWtvX5ShmDfrgrQ"
End Function
如果没有这样做,先前的代码行将返回主要的Google登录页面。我所做的凭据,确定了电子表格中的目的地键,但我得到的getGoogled程序一个错误,指出:
Runtime-error: '-2147024809 (80070057)': The parameter is incorrect."
参数值如下: - 范围=“张”,因为它应该是 - 更换包= “” - clientID的是OK - clientSecret是OK - 抱怨=真 - cloneFromScope = “” - apikey = “”
我想更换包不应该如果抱怨是真的,那就空了,但我觉得我已经超出了我的深度这里。至少需要做些什么逻辑对我来说很有意义,我已经成功地得到谷歌表转移到精细的工作,但我只是不知道如何处理的oauth2认证问题。
预先感谢您。