当Excel工作表中有ActiveX控件时,用VB进行表复制会让工作簿由隐式变显示?
本帖最后由 jessylake 于 2023-4-16 21:47 编辑Dim xlApp As Excel.Application, xlBook As Excel.Workbook
Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
xlApp.Visible = False '设置EXCEL对象不可见
Set xlBook = xlApp.Workbooks.Open(FileName) '打开已经存在的EXCEL工作簿文件
xlBook.Worksheets("模板").Copy Before:=xlBook.Worksheets("模板")
xlBook.ActiveSheet.Name = Text1.Text
但是发现如果工作簿中有 ActiveX控件,xlApp.Visible = False 就会失效,这是怎么回事? 如果有 ActiveX控件xlBook.Worksheets("模板").Copy Before:=xlBook.Worksheets("模板") 这句命令会强行显示工作簿,不知有何办法在不换控件的情况下保持工作簿看不见 在PPT里插入控件后,控件总是显示在顶层,不能被其他形状覆盖,且不能给控件设置出现的动画使其隐藏。我想这是不是office里控件的通病啊。不知道能不能给你一些启示。 本帖最后由 bin2163239 于 2023-4-16 15:19 编辑
Dim xlApp As Excel.Application, xlBook As Excel.Workbook
Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
xlApp.Visible = False '设置EXCEL对象不可见
xlApp.ScreenUpdating = False
Set xlBook = xlApp.Workbooks.Open(FileName) '打开已经存在的EXCEL工作簿文件
xlBook.Worksheets("模板").Copy Before:=xlBook.Worksheets("模板")
xlApp.CutCopyMode = False
xlBook.ActiveSheet.Name = Text1.Text
xlApp.ScreenUpdating = True
试试这个 bin2163239 发表于 2023-4-16 15:17
Dim xlApp As Excel.Application, xlBook As Excel.Workbook
Set xlApp = Crea ...
谢谢,试了还是不行,其实我把表里的一个ActiveX控件换成相应的表单控件就ok了,发现只要用了ActiveX控件,执行xlBook.Worksheets("模板").Copy Before:=xlBook.Worksheets("模板")就会让表显示出来,用表单控件都没事,看来要不换表单控件,要不估计就没招了 zhaopengdoctor 发表于 2023-4-16 15:11
在PPT里插入控件后,控件总是显示在顶层,不能被其他形状覆盖,且不能给控件设置出现的动画使其隐藏。我想 ...
我发现换表单控件就一切ok,用ActiveX控件就是用copy会让表冒出来,用其他的操作还是ok的,比如删除一张表或给要吃个表起名 这个应该是无法隐藏的 hbe 发表于 2023-4-16 19:52
这个应该是无法隐藏的
属于控件兼容问题吧 看来这个问题无解,只能换表单控件了,应该是VB对excel的Copy命令兼容不好
页:
[1]