VB脚本运行时错误:对象必需:'活动单元'

时间:2017-06-02 09:39:38

标签: excel vbscript

尝试运行以下VBScript:

Set ObjExcel = createobject("Excel.Application")
Set objWb = objExcel.Workbooks.Open("C:\test.xlsx")
Set objSheet = objWb.Worksheets("Sheet1")


objSheet.Cells(1,1).Select
With ActiveCell.Font 
 .Bold = True 
 .Italic = True 
End With

按如下方式抛出错误:

线:7 Char:1 错误:对象必需:'ActiveCell' 代码:800A01A8 来源:Microsoft VBScript运行时错误

所以它没有链接ActiveCell。我花了几个小时在网上搜索了很多类似的问题在网上没有运气,有什么建议吗?提前谢谢。

2 个答案:

答案 0 :(得分:2)

" .ActiveCell" (以及所有其他Active *)是Excel交互使用的概念。这意味着用户刚刚点击的Cell - 可能是错误的,只是等待,直到他达到了他的意思。 如果您自动化Excel,您将摆脱用户,因此需要跟踪他的疯狂点击。现在,一个计划要求另一个计划直接完成必要的任务。无需模拟用户的点击(.Select)并搜索所有Cell已激活的位置。 该计划只是说:"请 -

POST _reindex
{
  "source": {
    "remote": {
      "host": "http://xxx:9200"

    },
    "index": "twitter2"
  },
  "dest": {
    "index": "twitter2"
  },
  "script": {
    "lang": "painless",
    "inline": "ctx._source.new_timestamp=ctx._source.timestamp"
  }
}

非常感谢你"。

答案 1 :(得分:1)

试试这个:

Set ObjExcel = createobject("Excel.Application")
ObjExcel.Visible=true                     'you can remove this line as per your requirement
Set objWb = objExcel.Workbooks.Open("C:\test.xlsx")
Set objSheet = objWb.Worksheets("Sheet1")
objSheet.Cells(1,1).Select
Set reqCell = ObjExcel.ActiveCell         'Setting reference to the active cell
With reqCell.Font 
 .Bold = True 
 .Italic = True 
End With