如何使用java脚本发送用户名和电子邮件字段数据等表单数据,然后通过单击按钮将其存储在excel文件中,并且该代码应该在所有浏览器上运行? 在我在IE中执行的脚本标记下运行此vb代码之前,我甚至看不到该excel文件中填充的任何数据。
Sub sample()
Dim iRow
Set objExcel = CreateObject ("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open("D:\Users\users.xlsx")
objExcel.Application.Visible = True
ObjWorkbook.Windows (1).Visible = True
Set XlSheet =objWorkbook.Sheets (1)
XlSheet.Activate
iRow = 1
With objExcel
Do while .Cells (iRow, 1).value <> ""
.Cells (iRow, 1).activate
iRow = iRow + 1
Loop
.Cells (iRow, 1).value=Document.GetElementsByName("fname")(0).Value
.Cells (iRow, 2).value=Document.GetElementsByName("lname")(0).Value
.Cells (iRow, 3).value=Document.GetElementsByName("Add1")(0).Value
.Cells (iRow, 4).value=Document.GetElementsByName("Add2")(0).Value
MsgBox "Data Added Successfully”, vbinformation
Document.GetElementsByName ("fname") (0).Value=""
Document.GetElementsByName ("lname") (0).Value=""
Document.GetElementsByName ("Add1") (0).Value=""
Document.GetElementsByName ("Add2") (0).Value=""
End With
ObjWorkbook.Save
ObjWorkbook.Close
Set objWorkbook = Nothing
Set objExcel = Nothing
End Sub
答案 0 :(得分:0)
我担心您尝试做的事情是不可能的,首先是因为您无法通过浏览器编辑计算机上的任何现有文件。反正不到位。
我能想到的两个最简单的解决方案是:
从javascript请求文件(&#34;上传&#34;它)。从那里手动编辑它(你将无法使用Excel的API,但也许this library here将帮助你实现你正在尝试的东西。然后让用户重新下载文件
启动一个简单的服务器来更改 你的文件(甚至可能来自VBA本身?我真的不了解它的功能)。然后,您可以创建一个与该服务器交互的简单html表单。
最后一件事,希望我不在这里,但似乎你对网络技术的运作方式有点不确定。如果您有兴趣,我建议您继续阅读有关html5,javascript以及基本客户端 - 服务器通信如何通过http工作的内容。
祝你好运!