来自VBA的Javascript转换

时间:2014-01-09 01:21:02

标签: javascript vba google-apps-script code-conversion

我正在尝试将脚本从VBA转换为Javascript,我需要帮助。目的是将电子表格移动到GDocs中。首先,这是VBA脚本及其代码所做的事情。

Dim lngN As Long
Dim lngCol As Long

Cells.Unmerge
With ActiveSheet.UsedRange
On Error Resume Next
Range("A8:A100").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
On Error GoTo 0
Dim toDel(), i As Long
    Dim RNG As Range, Cell As Long
    Set RNG = Range("A9:J100")

   RNG.RemoveDuplicates Columns:=9
   Dim rLastRow As Range
Set rLastRow = Cells(Rows.Count, "A").End(xlUp)

'now delete last 10 rows:
rLastRow.Offset(0).Resize(2).EntireRow.Delete


Set sourceSheet = Worksheets("BMS Input")
sourceSheet.Activate
sourceSheet.Cells.Select
Selection.Copy
Set destSheet = Worksheets("BMS Data")
destSheet.Activate
destSheet.Cells.Select
destSheet.Paste
Sheets("BMS Input").Visible = False
MsgBox ("Data Input Successful")
MsgBox ("Please allow form data to update. This process may take up to 1 minute.")
ActiveWorkbook.RefreshAll
End With
End Sub

它具有以下功能。

  1. 取消合并表格中的所有单元格
  2. 删除第一列中没有数据的所有行
  3. 删除第9列中包含重复数据的所有行
  4. 删除最后10行
  5. 完成所有操作后,它会复制整个电子表格并将其粘贴到工作簿中的另一个电子表格中
  6. 刷新工作簿以获取最新数据
  7. 是否有人可以提供一些指导,我可以/应该在此代码中进行更改以使其在javascript中运行。

    - 提前谢谢 Ĵ

2 个答案:

答案 0 :(得分:1)

回答这个问题需要做两件事:

  1. 熟悉JavaScript语法及其功能。这将比其他任何事情更有帮助。
  2. 查看此网站:http://developers.google.com/apps-script/reference。这包含了您可能想要的所有文档。

答案 1 :(得分:1)

我根据您在代码中使用的方法和类的类型来感知,您是一个 Die hard 类代码开发人员。

因此,与您在同一类别中,这是帮助您成功使用代码的良好资源。

这涉及更深层次的代码编写,但我觉得你可以处理它。

使用 Json ,(Java脚本对象表示法),形式主义以及强大的 cJObject 解析类。亲自看看吧。

文档和代码示例非常详尽。

http://ramblings.mcpher.com/Home/excelquirks/json

如果您需要大部分参考资料来自的实际图书,请转到此处:http://curomediares.com/link/going-gas-free-download-ebook-pdf

干杯...