gpt4 book ai didi

vba - 使用 Excel VBA 填写并提交 Google 文档表单

转载 作者:行者123 更新时间:2023-12-01 19:03:52 26 4
gpt4 key购买 nike

我正在尝试做类似 this post 的事情但使用 Excel VBA。每次在 Excel 加载项上按下按钮时,我想在 Google 文档表单上提交响应。该插件将是一个 XLA 文件并用 VBA 编写。

我希望能够收集用户正在使用哪些功能。如果有人有更好的解决方案,我愿意。

---编辑---

This是我试图写入的表单(其中一个字段的代码摘录。)

<div class="errorbox-good">
<div class="ss-item ss-item-required ss-text">
<div class="ss-form-entry">
<label for="entry_0" class="ss-q-title">
UserName
<span class="ss-required-asterisk">*</span>
</label>
<label for="entry_0" class="ss-q-help"></label>
<input type="text"
id="entry_0"
class="ss-q-short"
value=""
name="entry.0.single">
</div>
</div>
</div>

--编辑2--这是我到目前为止所尝试过的,但它仍然不起作用。我在行上收到一条错误消息“.UserName.Value = Environ("username")”,我怀疑这是因为它没有找到该项目 .username。

Private Sub GoogleForm()
Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")
On Error GoTo errHandler
With ie
.navigate "http://spreadsheets.google.com/viewform?hl=en&cfg=true&formkey=dHFTMzkwR2RpY2tzSUNnbVhIcDN3WWc6MA"
Do While .busy: DoEvents: Loop
Do While .ReadyState <> 4: DoEvents: Loop
With .document.Forms(1)
'Username
.UserName.Value = Environ("username")
'Key
.Key.Value = "00qwe-12ckd"
.submit
End With
Do While Not CBool(InStrB(1, .document.URL, _
"cp_search_response-e.asp"))
DoEvents
Loop
Do While .busy: DoEvents: Loop
Do While .ReadyState <> 4: DoEvents: Loop
MsgBox .document.all.tags("table").Item(11).Rows(1).Cells(7).innerText
End With
Exit Sub
errHandler:
ie.Quit: Set ie = Nothing
End Sub

最佳答案

为了简化此操作,您需要将其分为两个步骤。

  1. 准确计算出 Google 文档所需的 POST 内容。我会使用 Firebug 或类似的工具来解决这个问题。我猜它类似于 formkey,然后是一堆字段,例如 field1field2 等。

  2. 现在使用 MSXML2 来 POST 数据(我不知道为什么这没有以代码格式显示)。

    设置http=CreateObject("MSXML2.ServerXMLHTTP")

    myURL=“http://www.somedomain.com

    http.Open“POST”,myURL,False

    http.setRequestHeader“用户代理”,“Mozilla/4.0(兼容;MSIE 6.0;Windows NT 5.0)”

    http.send ("") ''//不确定是否需要这个额外的 SEND.. 可能不需要

    http.send("formkey=Fd0SHgwQ3Yw&field1=A&field2=B")

    MsgBox http.responseText

关于vba - 使用 Excel VBA 填写并提交 Google 文档表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2360153/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com