我已經打在磚牆我的頭以下的可愛的難題:上傳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認證問題。
預先感謝您。