将值列从Excel工作表复制到网站中的HTML表

时间:2016-10-25 16:17:24

标签: html vba excel-vba macros excel

我希望将excel表中的值复制到html表中。如果有人在Excel 2013和Internet Explorer 11之间有这样做的经验,请告诉我,我可以提供详细信息。谢谢

以下是我尝试自动填写流程的网站代码的一小部分:

Table and Source Code for Charge Numbers for the Site

这只显示了流程的一部分(费用编号),我们每周10-25次,每天收取相应的小时数(如表格矩阵所示)。

每页有7个充电编号,并且充电编号都有 name =“chargeNo”,并且每个框都向下增加id名称,如下所示:

'1) id="chargeNo0"  
'2) id="chargeNo1"  
'3) id="chargeNo2"  
'4) id="chargeNo3"  
'5) id="chargeNo4"  
'6) id="chargeNo5"  
'7) id="chargeNo6"  

每周的每一天都设置如下名称:

Table and Source Code for Hours Charged Each Day

'Saturday: name="hrs0"  
'Sunday: name="hrs1"  
'Monday: name="hrs2"  
'Tuesday: name="hrs3"  
'Wed: name="hrs4"  
'Thurs: name="hrs5"  
'Fri: name="hrs6"  

我正在尝试自动完成从Excel中提取充电次数并将其输入各自文本框的过程。

1 个答案:

答案 0 :(得分:0)

此脚本会将ColumnA中的元素转换为数组。

Sub MakeArray()
   Dim arr As Variant

   With ActiveSheet
      arr = WorksheetFunction.Transpose(.Range(.[A1], .Cells(Rows.Count, "A").End(xlUp)))
   End With
End Sub


Sub MakeString()
   Dim s As String

   Const DELIMITER = ","

   With ActiveSheet
      s = Join(WorksheetFunction.Transpose(.Range(.[A1], .Cells(Rows.Count, "A").End(xlUp))), DELIMITER)
   End With
End Sub

如果要将数组传递给HTML TextBox,请尝试此操作。

    Sub CreateArrayAndPassToHTMLTextbox()
       Dim ie  As Object
       Dim arr As Variant

       Const DELIMITER = ","

       Set ie = CreateObject("InternetExplorer.Application")

       ie.Visible = True
       ie.navigate "http://home.arcor.de/peter.schleif/SearchForTDelement.html"
       While ie.Busy: DoEvents: Wend

       With ActiveSheet
          arr = WorksheetFunction.Transpose(.Range(.[A1], .Cells(Rows.Count, "A").End(xlUp)))
          If Not IsArray(arr) Then arr = Array(arr)
          ie.document.getElementById("trackField").Value = Join(arr, DELIMITER)
       End With
    End Sub

例如,如果您想将数据传递给ComboBox,请尝试此操作。

Sub passValueToComboBox1()
   Dim ie  As Object
   Dim oHTML_Element As IHTMLElement

   Set ie = CreateObject("InternetExplorer.Application")
   ie.Visible = True
   ie.navigate "http://peterschleif.bplaced.net/excel/combobox/index.php"
   While ie.Busy Or ie.readyState <> 4: DoEvents: Wend

   Set oHTML_Element = ie.document.getElementsByName("selectedReportClass")(0)
   If Not oHTML_Element Is Nothing Then oHTML_Element.Value = "com.db.moap.report.FUBU7"

   For Each oHTML_Element In ie.document.getElementsByTagName("input")
      If oHTML_Element.Type = "submit" Then oHTML_Element.Click: Exit For
   Next
End Sub