如何使用 vbscript 复制粘贴和连接 Excel 列?

How to copy paste and concatenate Excel column with vbscript?

我正在玩 vbscript 以及如何让我的生活更轻松。现在我想要 运行 一个脚本来打开 excel 文件。将 C 列(未知行 - 长度)复制到 B 列并将其连接到某些内容。

示例:

-------------------
||| A  |  B  |  C |
-------------------
|1|ONE | ANY | 11 | 
|2|TWO | ANY | 42 |
|3|FOUR| ANY | 96 |
|4|SIX | ANY | 42 |
-------------------

为此:


||| A  |  B  |  C |
-------------------
|1|ONE |*11* | 11 | 
|2|TWO |*42* | 42 |
|3|FOUR|*96* | 96 |
|4|SIX |*42* | 42 |
-------------------

到目前为止我试过这个:

Option Explicit
Dim objExcel

Set objExcel = CreateObject("Excel.Application")
With objExcel
  .Workbooks.Open ("Z:\one.xlsx")
  .Visible = False
  .Range("C:C").Copy
  .Range("B1").Select
  .ActiveSheet.Paste
  .ActiveWorkbook.Close(True)
  .Quit
End With

首先它给我一个剪贴板已满的错误,最好清理一下以释放内存。其次,我还没有在互联网上找到 vbscript 的连接函数。

经过一些研究和 Bruce 的帮助,如果有人感兴趣的话:

Option Explicit
Dim objExcel,LastRow
Const xlUp = -4162


Set objExcel = CreateObject("Excel.Application")
With objExcel
    .Workbooks.Open ("Z:\onest.xlsx")
    .Visible = False
    LastRow = .Range("A1048576").End(xlUp).Row
    .Range("C1:" & "C" & LastRow).Copy
    .Range("B1").Select
    .ActiveSheet.Paste
    Do While LastRow <>0
        .Cells(LastRow,2)="*"&.Cells(LastRow,3)&"*"
        LastRow = LastRow - 1
     Loop
     .ActiveWorkbook.Close(True)
     .Quit
End With