将表格从Excel复制到服务器

时间:2018-06-26 10:26:07

标签: excel-vba vba excel

我既不是程序员,也不是VB。我只是从各种渠道收集了以下宏的片段,特别是从 Stack Over Flow线程收集的,并对其进行了调整以供自己使用。

它可以工作,但是不会连续发送所有条目,而是一次发送到我的服务器数据库。
无论我保持范围多大,它只会发送很少的条目并无序地保存它们。
因此,很难将这些保存的条目与原始条目进行物理比较。 excel的400行和09列中只有400个条目。
如果有人通过调整此代码来帮助我,我将非常荣幸。我是否还可以给计时器提供时间来查看进度,如果可以的话,可以在代码中找到位置。

另一个问题是,如果找不到元素的值,它将自动写入undefined。我想保持空白。如果我将计时器放在send.click之后,它将挂起服务器。

代码如下:

Sub CopytoSever()
Dim IE As Object
Dim MyURL As String
Dim myRange As Range
   Dim i As Long  
   Set myRange = Range("A1:I50")
Dim starting_ws As Worksheet
Set starting_ws = ActiveSheet
Set IE = CreateObject("InternetExplorer.Application")
MyURL = "http://........................../entry_form.aspx" ' sorry could not write full path'

IE.Navigate MyURL
'go to web page listed inside quotes
IE.Visible = True
While IE.busy
DoEvents 'wait until IE is done loading page.
Wend
Set starting_ws = ActiveSheet 

With IE.Document
    For i = 1 To myRange.Rows.Count

    .getElementById("Entry_title").Value = Cells(i, 1).Value
    .getElementById("key_word1").Value = Cells(i, 2).Value
    .getElementById("key_word2").Value = Cells(i, 3).Value
    --...................so on.......
    .getElementById("publication_year").Value = Cells(i, 9).Value
            'Click the submit button
    .getElementById("Button3").Click
Next i       
End With
End Sub

请帮助我。谢谢

0 个答案:

没有答案