如果把Excel宏的安全性设置为高,那么,直接打开Excel文凭时就不会提示是否启用宏,而在VB里以
Set xlApp = CreateObject("Excel.Application") '创建EXCEL应用类
Set xlBook = xlApp.Workbooks.Open(……)
打开时却直接启用了宏,连个提示都没有,请问高手该怎么自动禁止运行宏,至少提示是否启用宏呢?请高手指点,谢谢!

解决方案 »

  1.   

    把安全性设置“可靠来源”里面那个checkbox取消掉试试。
      

  2.   

    你是指Excel里的是吧?我试了,没用的!Excel里把安全性设置为高再打开Excel时不提示是否启用宏,而直接就给禁用掉了。如果设置为中,就会提示是否启用宏。可是不管安全性设置为什么,在Vb里用Application.Workbooks.Open打开一个excel文件时,就会直接启用宏,没有任何提示!
      

  3.   

    你说的宏是一般的宏还是Auto_Open???
    我试试看。
      

  4.   

    http://community.csdn.net/Expert/topic/4679/4679337.xml?temp=.6611597
      

  5.   

    lsftest,我不知道到底是什么宏,那些Excel文件模板不是我做的,但是我需要把分散在各个文件中的信息采集到一起。
    hhjjhjhj(大头),看到你真的很高兴!我正愁着找不到你呢!我看到你的帖子了,可是用你的方法不起作用。
    我的QQ:391965279
        MSN:[email protected]
      

  6.   

    我打开Excel的语句只有这么三句:Application.EnableEvents = False
    Workbooks.Open FileName:="d:\temp\test.XLS"
    Application.EnableEvents = True
      

  7.   

    Set xlApp = CreateObject("Excel.Application") '创建EXCEL应用类
    xlApp.AutomationSecurity = 3'msoAutomationSecurityForceDisable
      

  8.   

    “对象不支持该属性或方法”!这个属性好像ExcelXp里可用,2000下不行!
    开始时我没写清楚,不好意思。我的系统是winXP+VB6.0+office2000
      

  9.   

    现在又遇到了新问题:通过VB打开一个Excel表,给单元格赋值后退出,一切正常。可是,一旦有插入行、合并单元格之类的动作,比如执行完下面的语句后,按理说Excel已退出,可通过任务管理器来看,里面仍会有一个Excel进程,退出这个VB程序后那个Excel进程才会结束。我试着不在Vb里关闭Excel,只是Set xlSheet = Nothing Set xlBook = Nothing Set xlApp = Nothing,然后手动关闭Excel程序,进程里仍然会有一个Excel进程,关闭VB程序,这个Excel进程才会退出。有人知道这是怎么一回事吗?Set xlApp = CreateObject("Excel.Application") '创建EXCEL应用类
    xlApp.Visible = True '设置EXCEL可见
    Set xlBook = xlApp.Workbooks.Open(strFileName)
    Set xlSheet = xlBook.Worksheets(1) '打开EXCEL工作表
    xlSheet.Activate '激活工作表
    Range("A4:J4").MergeCells = True
    xlBook.Close false
    xlApp.Quit
    Set xlSheet = Nothing
    Set xlBook = Nothing
    Set xlApp = Nothing
      

  10.   

    用Application打开Excel2000时禁用宏的问题仍然没有解决,但是但了,结贴吧。