如何从Excel 2003 VBA写入"Google电子表格"

Die*_*tro 4 vba google-docs excel-2003 google-sheets

我有一个Excel 2003文件,其行与此类似:

在此输入图像描述

我需要点击"按钮",然后将该行添加为Google电子表格中的最后一行

相近:

在此输入图像描述

可能吗?

我应该使用命令行Google工具吗?

有没有更好的办法?更简单的方法?

你会怎么做?

(一旦我知道如何将VBA中的 "东西"添加到Google Docs,我将如何将其添加到最后一行?)

更多信息:我有一个 Excel 2003 "程序",可以保存公司的所有销售额(包括客户信息),我希望制作一份全球通讯录,我的(非)同事可以轻松更新.

Chr*_*ipp 7

您不需要OAuth或电子表格API.Google Spreadsheet允许使用简单的表单输入数据,这也意味着HTTP POST可以解决问题.您只需准备好电子表格,即可通过以下表单接受数据输入:

  • 登录您的Google文档帐户
  • 创建电子表格或打开现有电子表格
  • 单击工具/创建表单
  • 在表单描述中添加任何内容只是为了启用"保存"按钮
  • 保存表单
  • 复制表单创建页面底部链接中显示的formkey值
  • 现在,您可以在没有OAuth的情况下向电子表格发布简单的帖子

如果在系统上有条目,则可以使用curl测试条目(使用表格中的formkey替换formkey占位符):

curl.exe -v -k "http://spreadsheets.google.com/formResponse?formkey=<formkey>" -d "entry.0.single=test&entry.1.single=test2&pageNumber=0&backupCache=&submit=Submit"
Run Code Online (Sandbox Code Playgroud)

接下来,我们尝试通过以下代码从Excel工作表执行表单POST.之前添加对"Microsoft XML,v3.0"的引用.将column1替换为所需的值.

Dim httpRequest as XMLHTTP
Set httpRequest = New XMLHTTP
httpRequest.Open "POST", "http://spreadsheets.google.com/formResponse?formkey=<formkey>&amp;ifq", False
httpRequest.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
httpRequest.Send "entry.0.single=" + column1 + "&entry.1.single=" + column2 + "&pageNumber=0&backupCache&submit=Submit"

'Check result in the following vars
httpRequest.status
httpRequest.statusText
Run Code Online (Sandbox Code Playgroud)

希望有所帮助