有没有办法用VBScript设置表格?我在网上找到的所有解决方案都适用于VBA。
例如,我使用以下代码
尝试了此处Excel Macro - Select all cells with data and format as table的解决方案Set objExcel = CreateObject("Excel.Application")
Dim tbl
Set tbl = objWorkbook.ListObjects.Add(xlSrcRange, objWorkbook.Sheets("101").Range("$A$1:$C$26"), , xlYes)
tbl.TableStyle = "TableStyleLight1"
但我收到此错误
Microsoft VBScript runtime error: Object doesn't support this property or method: 'objWorkbook.ListObjects'
(如果你在exceljs中有一个更好的解决方案,那就更好了)
答案 0 :(得分:0)
我发现了一些你可以使用的东西。它来自Using Styles to Dress Up Your Worksheets in Excel 2007。我所做的是将它从VBA转换为VBScript,这真的不是那么难。
Sub ListStyles()
Dim objStyle
Dim objCellRange
Dim lngCount
Dim objSheet
Set objSheet = ThisWorkbook.Worksheets("Config - Styles")
With objSheet
lngCount = objSheet.UsedRange.Rows.Count + 1
For Each objStyle In ThisWorkbook.Styles
On Error Resume Next
Set objCellRange = Nothing
Set objCellRange = Intersect(objSheet.UsedRange, objSheet.Range("A:A")).Find(objStyle.Name, _
objSheet.Range("A1"), xlValues, xlWhole, , , False)
If objCellRange Is Nothing Then
lngCount = lngCount + 1
.Cells(lngCount, 1).Style = objStyle.Name
.Cells(lngCount, 1).Value = objStyle.NameLocal
.Cells(lngCount, 2).Style = objStyle.Name
End If
Next
End With
End Sub
要进行此设置,请双击Sheet1选项卡并将其重命名为" Config - Styles"。添加上面的代码,然后运行脚本。你最终得到的是: